[应用相关] 串口程序显示问题

[复制链接]
 楼主| flycamelaaa 发表于 2021-2-24 10:11 | 显示全部楼层 |阅读模式
程序内容是从串口接收一串数据,然后存储到一个字符数组里,之后把这个数组发送显示到串口助手上,我的问题是:整个数组在串口助手上显示没有问题,但是我单取数组中的某个元素显示到串口助手上就不对了,我找不到是哪里的问题



  • if(revdata[0]=='@')
  • {for(i=0;i<12;i++)
  •   {str=revdata}
  • }
  • for(i=0;i<revdata;i++)
  •   {revdata=0;}
  •    revdata=0;
  • usart_puts(str);  //串口助手显示@21*2*20*20#
  • for(i=0;i<2;i++)
  • {a=str[i+1];}
  • usart_puts(a); //串口助手显示21
  • usart_puts(a[0]);//串口助手十六进制显示28 06,但我以为十六进制下会显示的是32


[color=rgb(51, 102, 153) !important]复制代码


onlycook 发表于 2021-3-2 10:07 | 显示全部楼层
a[0]写成&a[0]。注意形参和实参的类型。你那个都不知道指到哪里去了。
内政奇才 发表于 2021-3-2 10:08 | 显示全部楼层
数字的2和字符的2是不一样的,数字2就是2,字符的2是0x32
zljiu 发表于 2021-3-4 10:58 | 显示全部楼层
指针的指向有问题
coshi 发表于 2021-3-4 11:02 | 显示全部楼层
呵呵 语法的问题
aoyi 发表于 2021-3-4 11:05 | 显示全部楼层
难道程序不报错吗
drer 发表于 2021-3-4 11:06 | 显示全部楼层
可以自己多试几次  就能发现规律了
gwsan 发表于 2021-3-4 11:12 | 显示全部楼层
形参和实参没有区分开
您需要登录后才可以回帖 登录 | 注册

本版积分规则

824

主题

4298

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部