原本打算发送 7E 01 01 00 01 01 04 0D
原来程序是:
调用:SendString_PH_START("7E 01 01 00 01 01 04 0D");
定义:
void SendString_PH_START(uchar *ptr)
{
for(int j=0;j<24;j++)
{
while (!(IFG2 & UTXIFG1));
TXBUF1 = *ptr++;
}
while (!(IFG2 & UTXIFG1));
TXBUF1 = '
';//回车
}
后来串口调试发现其实要点击“以十六进制数发送”才可以。
那我这样改对不对?貌似没反应啊。。。。
SendString_PH_START("0x7E 0x01 0x01 0x00 0x01 0x01 0x04 0x0D");
void SendString_PH_START(uchar *ptr)
{
for(int j=0;j<40;j++)
{
while (!(IFG2 & UTXIFG1));
TXBUF1 = *ptr++;
}
while (!(IFG2 & UTXIFG1));
TXBUF1 = '
';//回车
}
此帖出自
小平头技术问答
需要这样才正确发送
我的十六进制数之间是空格而不是逗号隔开的,定义数组的时候是不是应该uchar string[] = {0x7E 0x01 0x01 0x00 0x01 0x01 0x04 0x0D};
然后那个len是39,对吗?
逗号只是数组之间的间隔,实际发送的时候是不存在的
一周热门 更多>