单片机实现环形队列_单片机模块化程序: 难道有环形队列串口发送数据就万事大吉了吗...

1.问个问题,下面程序有没有BUG数组

2.环形队列虽然解决了一开始的中断发送数据覆盖问题,可是呢却引入了新的问题函数

3.而后看看中断发送测试

4.想没想明白是什么问题spa

5.发送数据1 和发送数据2 之间没有延时......3d

咱作程序的时候常常碰到各个地方都须要发送串口的数据,可是若是两个发送函数一个先发送完,另外一个紧接着就发送了.......code

这时候就有问题了,发给一个设备,原本都是正确的数据,可是因为这么一整,数据便成了错的了.blog

好如今解决这个问题队列

主要目的就是发送的数据还须要管理一下,让发送的数据之间有时间间隔内存

好,再加个环形队列开发

这个环形队列呢,记录要发送的数据个数

如今就有两个环形队列,

一个环形队列数存储数据,就是咱一开始用的

另外一个环形队列是存储此次要发送的数据个数

那么每次发送数据变为

而后中断发送里面

Usart1ManageSendDatLen记录的是此次发送的数据个数

发送的时候Usart1ManageSendDatLen -- , 变为0,就说明发完了如今的数据了

发送的数据个数是在定时器里面获取

if(USART_GetITStatus(USART1,

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值