【单片机期末】串行口循环缓冲区发送

串行口分为正在发送数据和空闲状态

单片机的程序可以分为两种:主程序和中断服务程序,其中主程序可以被中断服务程序打断。

一个字节 = 8位,单片机是10位的UART。

对于51单片机,先发送低位D0再发送高位。

起始位是低电平,结束位是高电平

如果往串行口内发送了数据,那么会导致中断再次产生,如果没有往串行口里发送数据,则主程序中就不会再次产生中断。

如果要送出7个数字,就将UARTSave_Index从5变成7。

主程序什么时候知道有数据要往外发送?

触发串行口中断就会进入到中断服务程序中。

主程序中将UARTSend_State置为1

相等时,

将UARTSend_State置为0

串行口循环缓冲区的方式非常难理解,这是一个主程序和中断服务程序相互交织的过程。

每次触发中断服务程序后,UARTSend_Index会加1

缓冲区的大小已知是16个

回环的目的是让头和尾相接,因为能实现回环,所以可以实现缓冲区不停地被重复利用,相当于是一个无穷大的缓冲区。
​​​​​​​

相关推荐
碎光拾影11 小时前
I2C总线通信全解析:从原理到实战
单片机·嵌入式硬件
愈心凌11 小时前
SSI 绝对值编码器通信 - 单片机TM32Cubemax配置教程
单片机·嵌入式硬件
科芯创展11 小时前
1.5A,5.5VIN,单灯,XZ4059A/D,4.2V/4.34V
单片机
魔城烟雨11 小时前
从零开始学习betaflight《3-硬件接口设计规范标准》
学习·设计规范
江哥工作室12 小时前
几分钱的 LM358 采集心电
单片机·lm358·心电·小信号
迷茫不知归路12 小时前
简单认识一种外设硬件:温度传感器ds18b20
嵌入式硬件
z203483152012 小时前
CLion开发STM32——文件管理
stm32·单片机·嵌入式硬件·clion
weixin_4520776413 小时前
STM32 烧录程序后上电不工作问题集合
stm32·单片机·嵌入式硬件
姜小二13 小时前
QAxObject实现读写excel
嵌入式硬件·excel
沸速存储13 小时前
内存技术的未来:DDR6、CAMM2与CXL将如何改变计算架构
科技·嵌入式硬件·架构·计算机外设·电脑