串口通信问题
请问版主,想实现一组数据通过串口输出,利用试验箱10号l串口通信程序l更改增加一个数组赋值怎么编译不过?TX1_DATA = {5A,A5,05,82,50,00,5A,03};
for(i=0,i=7,i++)
{
RX1_Buffer = TX1_DATA;
};请问处在哪里? unsigned char TX1_DATA = {0x5A,0xA5,0x05,0x82,0x50,0x00,0x5A,0x03};
十六进制数据前面加"0x"
for循环这么写也有问题:for(i=0,i=7,i++)
如果没猜错的话你应该是想这么写:for(i=0,i<=7,i++)
循环语句里面的赋值代码,如果“RX1_Cnt”没有变化的话,等于往固定的位置连续赋值8次:
RX1_Buffer = TX1_DATA;
如果希望TX1_DATA数组8个数据内容顺序复制到RX1_Buffer的话,应该改成:
RX1_Buffer = TX1_DATA;
当然RX1_Cnt初始值需要事先设置。 本帖最后由 钱工 于 2023-6-12 18:32 编辑
谢谢你的回复,按你的要求改了,还是不过。
谢谢回复,改了还是不过。
钱工 发表于 2023-6-12 18:39
谢谢回复,改了还是不过。
把定义代码 unsigned char TX1_DATA = {0x5A,0xA5,0x05,0x82,0x50,0x00,0x5A,0x03};
移到main函数的起始位置,先定义,后使用。 本帖最后由 钱工 于 2023-6-13 09:47 编辑
的确移到前面就通过了,你水平真高,但我还是不理解。可以解释一下吗?
另外麻烦看一下,程序运行后达不到输出的效果,没有输出,什么原因?
先随便找个教材入门一下C语言吧{:4_167:}
页:
[1]