智能车制作

标题: 光电的程序-调试错误 请指教 [打印本页]

作者: he251125    时间: 2010-4-2 11:32
标题: 光电的程序-调试错误 请指教
这是我调试舵机用的程序 光电管用的是A口和K口 共13个
可以用下面的程序来控制就不行了 不知道为什么呢 要是13个灯对应相应的舵机转向 请问能否这样编程  谢谢
if(PORTA==0X01&&PORTK==0x00)ZX=0X1A;
if(PORTA==0X02&&PORTK==0x00)ZX=0X1B;
if(PORTA==0X04&&PORTK==0x00)ZX=0X1C;
if(PORTA==0X08&&PORTK==0x00)ZX=0X1D;
if(PORTA==0X10&&PORTK==0x00)ZX=0X1E;
if(PORTA==0X20&&PORTK==0x00)ZX=0X1F;
if(PORTA==0X40&&PORTK==0x00)ZX=0X22;
if(PORTA==0X80&&PORTK==0x00)ZX=0X23;
if(PORTA==0X00&&PORTK==0x01)ZX=0X24;
if(PORTA==0X00&&PORTK==0x02)ZX=0X25;
if(PORTA==0X00&&PORTK==0x04)ZX=0X26;
if(PORTA==0X00&&PORTK==0x08)ZX=0X27;
if(PORTA==0X00&&PORTK==0x10)ZX=0X28;
由于我是新手里面很多设置都有问题 请指教 谢谢
作者: he251125    时间: 2010-4-2 11:33
请大家指教 谢谢
作者: peilet    时间: 2010-4-2 13:11
个人建议: 先大概画画流程图 再写代码
作者: wjw    时间: 2010-4-2 16:25
IO口都有个方向控制寄存器,DDRx设置成0x00,是输入。
作者: he251125    时间: 2010-4-2 20:49
哦 就是 就是
作者: zhangqiaaaa    时间: 2010-4-3 00:51
首先啊if((PORTA==0x~~)&&(PORTK==0x~~))得加括号啊
还有先测试舵机的步数与光电管的对应关系
比如:舵机的可控范围为2000~3000
而你是13个管,要是采用比例转向的算法,就要1000/13,计算出一个光电管的位置舵机要转多少度
最后,拜托可以用switch-case结构,简单,节省算法的时间
作者: he251125    时间: 2010-4-3 23:42
哦 谢谢你 我是新手有很多地方不懂还希望你们多多指教
作者: myborntorun    时间: 2010-4-7 17:22
流程
作者: 数学特好    时间: 2010-4-9 18:30
支持6L,要是用了SWITCH程序的可读性也会大大提高
作者: tingyu0    时间: 2010-4-10 12:36
我也是  程序老错
作者: fangchengtao48    时间: 2010-6-25 11:21
流程图很重要的
作者: man蝶瘦瘦    时间: 2012-5-6 15:07
这个错大了  具体要看你的巡线算法思想和流程图




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2