怯情久° 发表于 2017-7-8 09:09 修行的路上有困难也不会害怕了,在51黑中有你们真好! 大侠依你的指点,问题解决了,非常的感谢! sendc(unsigned char *pd) { unsigned char i; for(i=0;i<9;i++) { send(*pd); //发送一个字符 pd++; //移动到下一个字符 } } |
hdle 发表于 2017-7-7 22:23 没打全,是unsigned char zifuchuan[]={0XFE,0X68,0X00,0X01,0X0F,0X00,0X00,0X76,0X16}; 还有你的发送代码要改一下,别用指针了,既然知道要发送几个数据,直接发送固定长度的字符串就行。 void sendc(unsigned char *pd) { unsigned char i; for(i=0;i<9;i++) { send(*pd); //发送一个字符 } } |
hdle 发表于 2017-7-7 22:23 你改成这样还是字符串,不要用双引号,要用花括号,如楼上所述unsigned char zifuchuan[]={0XFE,0X68,0X00,0X01,0X0F,0X00,0X00,0X76,0X16}; |
怯情久° 发表于 2017-7-7 20:03 unsigned char zifuchuan[]=0XFE,0X68,0X00,0X01,0X0F,0X00,0X00,0X76,0X16"; 改了问题依旧哟 串口调试助手停止位也改成1位了。 |
首先,你发送的是字符串,也就是"FE 68 00 01 0F 00 00 76 16"这一串的ASCII码,你要写成unsigned char zifuchuan[]=0XFE,0X68,0X00,0X01,0X0F,0X00,0X00,0X76,0X16";还有,51单片机的停止位是1位,你的串口调试助手上面是两位 |
unsigned char zifuchuan[]="FE 68 00 01 0F 00 00 76 16"; 改成unsigned char zifuchuan[]={0xfe,……}这种形式 |