发 帖  
原厂入驻New
[问答]

串口助手接收数据,0x00及之后的数据不显示

463 单片机
分享


举个例子,单片机发送一组这样的数组{0x0a,0xab,0x00,0xab},然后在串口助手上,显示出来的只有0a ab,后面两个就不显示,这个问题要如何解决
0
2020-10-15 16:53:57   评论 分享淘帖 邀请回答
8个回答
while(*str)这条语句的含义就是见到0退出,建议改成这样void USART1_puts(char *str,int n)
最佳答案
2020-10-15 16:53:58 评论

举报

串口助手是不会有问题的,只能看你的程序了,你也可以把你的发送程序发上来看看
2020-10-15 17:17:13 评论

举报

  1. void USART1_puts(char *str)
  2. {
  3. while(*str)
  4. {
  5. usart_senddata(usart1,*str++)
  6. while(usart_getflagstatus(usart1,usart_flag_txe)==reset;
  7. }
  8. }
复制代码
2020-10-15 17:30:19 评论

举报

我发现问题是在while(*str)这块了
2020-10-15 17:31:23 评论

举报

解决了,我加个长度判断就好了
2020-10-15 17:35:24 评论

举报

  1. void USART1_puts(char *str)
  2. {
  3. while(i<n)
  4. {
  5. usart_senddata(usart1,*str++)
  6. while(usart_getflagstatus(usart1,usart_flag_txe)==reset;
  7. i++
  8. }
  9. }
复制代码
2020-10-15 17:37:07 评论

举报

不明觉力,0x00是哪个字符
2020-10-15 19:11:41 评论

举报

字符串见到0x00就结束了,不会发出来
2020-10-16 08:49:07 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /7 下一条

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