作者wayn12342000 (阿菁)
标题[转录](squall0734) Re: [问题] C++求救!不知道问题在哪里!!
时间Sun Jul 19 17:31:59 2009
※ [本文转录自 wayn12342000 信箱]
作者: wayn12342000 (阿菁)
标题: Re: [问题] C++求救!不知道问题在哪里!!
时间: Sun Jul 19 17:29:01 2009
前文恕删
: 1.讯号发送的周期
20ms
: 2.可旋转的角度
210
: 3.旋转角度对应的PWM宽度
自定义的0.5ms~2.5ms
0度 ~180度
: 当讯号1变low时候,讯号2才为high
: 讯号2为low时候,讯号3才可为high
我使用过同时调变 P1=11111111;
delay(x);
也用过分步调变 P1=00000001;
delay(x);
...
...
P1=10000000;
delay(x);
但用ASM时 不论是同时调变还是分步调变
使用状况 完全正常
目前各种实验结果 C语言同时调变
P1.0 P1.1 P1.2 P1.6 P1.7 有正常脉波讯号 其余不正常
C语言分步调变
P1.0 P1.3 P1.6 P1.7 有正常脉波讯号 其余不正常
ASM同时调变
P1完全正常
ASM分步调变
P1完全正常
目前想要问 是不是用c写没办法解决这种输出错误状况
一定要用组语?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.126.120.102
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.126.120.102
1F:推 WolfLord:你要不要直接对PORT PIN做操作看看 sbit PS1=P1^0 07/19 18:11
2F:→ WolfLord:sbit PS1=P1^1; PS0=0; PS0=1; PS1=0;PS1=1;... 07/19 18:12
3F:→ WolfLord:另外,比例伺服机需要的是连续脉冲,两者要交错信号 07/19 18:13
4F:推 WolfLord:绝大部分ASM可以做的C一定可以,只是技巧有异 07/19 18:15
5F:推 typeotoco:port脚拉出来接逻辑分析仪对信号看看 07/19 18:22
6F:→ wayn12342000:不正常的讯号都是无讯号状态随一点点杂讯 07/19 18:47
7F:→ wayn12342000:我刚刚用V3去看PORT变化 07/19 20:28
8F:→ wayn12342000:结果发现我整个笨 应该写成P1=0x01而非P1=00000001 07/19 20:30
9F:→ wayn12342000:这样的错误导致只有1,4,7脚有变化 2,3,5,6,8没反应 07/19 20:32
10F:→ wayn12342000:明天机器人测试完毕发谢文XD感谢各位 07/19 20:33
11F:推 squall0734:恭喜你找到问题点~~ 07/19 21:48