OpenEdv-开源电子网

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

原子哥,求助,串口发送数据出错问题

[复制链接]

2

主题

4

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2015-11-26
在线时间
0 小时
发表于 2015-11-27 13:21:16 | 显示全部楼层 |阅读模式

u8 TX_buffer[LEN]=
{
 0x12,0x13,0x14,0x15,
 0x16,0x17,0x18,0x19,
 0x20,0x21,0x22,0x23
};//这是我要向电脑发送的12个数据
void USART3_IRQHandler()//这是我写的串口中断函数
{
     static u8 count=0;

     if( (USART3->SR & USART_SR_TXE)  && (USART3->SR & USART_CR1_TXEIE))
     {
      USART3->DR = TX_buffer[count++]; 
     }
 
     if(count>=LEN)
     {
      USART3->CR1 &= ~(1<<7);//关发送中断
      count=0;
     }
}
//这是主函数
while(1)
 {
      USART3->CR1 |= 1<<7; //发送缓冲区空中断使能
      delay_ms(500);  
 } 

这是窗口助手的显示结果
12 13 14 15 16 17 18 19 20 21 22 23
12 13 14 45 D1 11 94 04 0A 12 1A FE
12 13 14 15 16 17 18 19 20 21 22 23
12 13 14 15 16 17 18 19 20 21 22 23
12 13 14 15 16 17 18 19 20 21 A4 E4
12 13 14 15 16 17 18 19 20 21 22 23
12 13 14 15 16 17 18 19 20 21 22 23
12 13 14 15 16 17 18 19 20 21 22 23
12 13 14 45 D1 11 94 04 0A 12 1A FE
12 13 14 15 16 17 18 19 20 21 22 23
12 13 14 15 16 17 18 19 20 21 22 23
12 13 14 15 16 11 94 04 0A 12 1A FE
12 13 14 15 16 17 18 19 20 21 22 23 

 
///////////////////////////////////////////////
请问为什么数据有时发送为什么出错?

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

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2015-11-26
在线时间
0 小时
 楼主| 发表于 2015-11-28 00:33:08 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2014-8-17
在线时间
20 小时
发表于 2015-11-28 20:21:07 | 显示全部楼层
没循环怎么能发一组数据的?是不是没等待发送完毕就发下一个数据了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-16 06:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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