OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3549|回复: 4

串口发送16位进制给电脑,接收端最开始是错误代码,过会就正确了

[复制链接]

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
发表于 2015-10-24 23:48:32 | 显示全部楼层 |阅读模式
5金钱
板子是原子哥的战舰开发板,软件也是原子哥学习版自带的
初始化没有动,下面这个函数就是一个发送数据的,
void asg()
{
u8 t; 
 u8 buf[]={0x08,0xf1,0x5e,0x58,0x69};  
  for(t=0;t<5;t++)
{  

USART_SendData(USART1,buf[t]);  
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);//等待发送结束
}  
}
理论上串口接收的应该是 0x08,0xf1,0x5e,0x58,0x69  可是实际上到8组数据才是正确的,为啥呀???????同时第一个数据还丢失了??
18 F8 F8 00
00 78 80 78 00
78 78 F8 F8 00
00 78 80 78 00
78 78 F8 F8 00
00 78 80 0D 2D
43 F1 5E 58 69        
 
08 F1 5E 58 69

最佳答案

查看完整内容[请看2#楼]

数据这样表示试试‘0’+buf[t]
再不玩命努力,你就老了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

74

主题

334

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-5-28
在线时间
144 小时
发表于 2015-10-24 23:48:33 | 显示全部楼层
数据这样表示试试‘0’+buf[t]
最近爱上了stm32
回复

使用道具 举报

70

主题

6769

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13162
金钱
13162
注册时间
2012-11-26
在线时间
3817 小时
发表于 2015-10-25 10:08:22 | 显示全部楼层
USART_SendData(USART1,buf[t]);  
 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);//等待发送结束

这两句位置换一下  为什么 自己想
学无止境
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-10-25 16:19:28 | 显示全部楼层
回复【2楼】带我足够强大:
---------------------------------
没动你的意思
按照楼下的哥们弄好使了

谢谢呀
再不玩命努力,你就老了
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-10-25 16:19:39 | 显示全部楼层
回复【3楼】jermy_z:
---------------------------------
灰常感谢  嘿嘿
再不玩命努力,你就老了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 16:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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