找回密码
 立即注册
查看: 611|回复: 6

串口通信问题

[复制链接]

1

主题

4

回帖

29

积分

新手上路

积分
29
发表于 2023-6-12 16:36:14 | 显示全部楼层 |阅读模式
请问版主,想实现一组数据通过串口输出,利用试验箱10号l串口通信程序l更改增加一个数组赋值怎么编译不过?
TX1_DATA[8] = {5A,A5,05,82,50,00,5A,03};
         for(i=0,i=7,i++)
     {
       RX1_Buffer[RX1_Cnt] = TX1_DATA[i];
      
     };请问处在哪里?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2023-6-12 17:50:34 | 显示全部楼层
unsigned char TX1_DATA[8] = {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[RX1_Cnt] = TX1_DATA[i];
如果希望TX1_DATA数组8个数据内容顺序复制到RX1_Buffer的话,应该改成:
RX1_Buffer[RX1_Cnt++] = TX1_DATA[i];
当然RX1_Cnt初始值需要事先设置。
回复 支持 反对

使用道具 举报 送花

1

主题

4

回帖

29

积分

新手上路

积分
29
发表于 2023-6-12 18:23:25 | 显示全部楼层
本帖最后由 钱工 于 2023-6-12 18:32 编辑

谢谢你的回复,按你的要求改了,还是不过。
1.png

回复 支持 反对

使用道具 举报 送花

1

主题

4

回帖

29

积分

新手上路

积分
29
发表于 2023-6-12 18:39:16 | 显示全部楼层
谢谢回复,改了还是不过。

1.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2023-6-12 18:45:41 | 显示全部楼层
钱*** 发表于 2023-6-12 18:39
谢谢回复,改了还是不过。

把定义代码 unsigned char TX1_DATA[8] = {0x5A,0xA5,0x05,0x82,0x50,0x00,0x5A,0x03};
移到main函数的起始位置,先定义,后使用。
回复 支持 反对

使用道具 举报 送花

1

主题

4

回帖

29

积分

新手上路

积分
29
发表于 2023-6-13 09:41:55 | 显示全部楼层
本帖最后由 钱工 于 2023-6-13 09:47 编辑

的确移到前面就通过了,你水平真高,但我还是不理解。可以解释一下吗?
另外麻烦看一下,程序运行后达不到输出的效果,没有输出,什么原因?

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:457
  • 最近打卡:2025-05-03 13:48:45
已绑定手机

27

主题

341

回帖

1695

积分

金牌会员

机长

积分
1695
发表于 2023-6-14 19:36:25 | 显示全部楼层
先随便找个教材入门一下C语言吧
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:14 , Processed in 0.161669 second(s), 91 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表