OpenEdv-开源电子网

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

串口首个数据丢失

[复制链接]

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2014-9-15
在线时间
82 小时
发表于 2015-10-19 17:07:47 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]#include "usart.h" #include "led.h" #include "adc.h" int main() {u8 USART_RX_BUF[5]={'1','2','3','4','5'}; u8 t; u8 len; u16 times=0; u8 a=2; delay_init(); //???±?????????? NVIC_Configuration();// ?è????????????·?×é uart_init(9600); //?®??????????9600 Led_Init(); while(1) {if(times%200==0) for(t=0;t<5;t++) { USART1->DR=USART_RX_BUF[t];//°??????????????????®??USART_SendData(USART1,USART1_RX_BUF[t]) while((USART1->SR&0X40)==0);//????·????á??TC·????ê??±ê?? printf("\n"); times=0; } delay_ms(5); times++; }[/mw_shl_code]
第20行和第21行如果不换过来的话接收到的数据第一个会丢失,只能接受到2345;如果调换一下的话就可以收到12345.
这是为什么?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6769

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13162
金钱
13162
注册时间
2012-11-26
在线时间
3817 小时
发表于 2015-10-19 18:58:23 | 显示全部楼层
你还是好好想想第21行是干嘛的吧
学无止境
回复

使用道具 举报

16

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1292
金钱
1292
注册时间
2014-12-20
在线时间
534 小时
发表于 2015-10-19 20:45:26 | 显示全部楼层
你可以把发送完成的标志TC换成TXE试试。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 20:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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