USART---串口发送数据
来源:互联网 发布:qq空间推广软件 编辑:程序博客网 时间:2024/06/01 08:14
/*
while((USART1->SR&0X40)==0);//等待发送结束
解析:
USART1->SR: 串口状态寄存器
USART1->SR&0X40即串口状态寄存器的TXE标志位,TXE标志位标识发送数据寄存器(TDR寄存器)是否为空。
while((USART1->SR&0X40)==0);即判断TXE标志位是否为0,
若为0,则等待此标志位被置1.
若为1(即发送数据寄存器中的数据全部被转移至移位寄存器,导致发送数据寄存器变成空,被硬件置为1),
则标识发送数据寄存器(TDR寄存器)为空,可以发送下一个字节帧数据到发送数据寄存器(TDR寄存器)。
清除TXE位一般都是通过往数据寄存器中写入数据完成的。
TXE是由硬件设置的,它表明:数据已经从TDR中转移到移位寄存器了,数据发送已经开始;TDR寄存器是空的;
下一个数据可以写入USART_DR寄存器,而不会覆盖前面的数据。
当发送在进行时,一个对USART_DR寄存器的写命令将数据保存到TDR寄存器中,并且当前传输完成之后,
TDR寄存器中的数据将被复制到移位寄存器中。
当没有进行发送时,往USART_DR寄存器中写入一个数据,数据将直接被放入移位寄存器,发送开始,TXE位将被立即置1
当一个帧发送完成时(结束位之后),TC位被置1
清除TC位是通过下面的软件操作完成的:(1)读一次USART_SR寄存器(2)写一次USART_DR寄存器(TC位也可以通过对它写0清除,
这个清除序列只建议在多缓存通信中使用)。
USART1->CR1:串口控制寄存器1
其包含“TXEIE位”,即“发送数据寄存器(TDR寄存器)为空中断使能位”即“发送缓冲区空中断使能位”。
TXEIE发送缓冲区空中断使能(Transmit Interrupt Enable)位,设置该位为 1,当 USART_SR 中的 TXE 位为1 时,将产生串口中断。
如果TXEIE位被设置,则TEX被硬件置1时将产生一个串口中断。
如果此时USART正在发送数据,对USART_DR寄存器的写操作把数据存进TDR寄存器,并在当前传输结束时把该数据复制进移位寄存器。
如果此时USART没有在发送数据,处于空闲状态,对USART_DR寄存器的写操作直接把数据放进移位寄存器,数据传输开始,TXE位立即被置起。
当一帧发送完成时(停止位发送后)并且设置了TXE位,TC位被置起,如果USART_CR1寄存器中的TCIE位被置起时,则会产生中断。
*/
- USART---串口发送数据
- USART---串口发送数据
- STM32F3使用USART串口DMA发送数据,使用蓝牙发送
- usart 串口的发送-接收数据(正点改编)
- 串口通信Usart发送程序
- USART 串口 DMA 发送和接收
- USART串口发送0X00问题解决
- STM32 USART串口发送软件调试
- STM32 USART 串口 DMA 接收和发送的源码详解!
- STM32 USART串口DMA接收和发送模式
- STM32 USART 串口 DMA 接收和发送的源码详解!
- MSP430单片机USART串口发送字符和字符串
- STM32 USART 串口 DMA 接收和发送的源码详解!
- 串口发送数据类
- 串口发送数据类
- STM32 串口发送数据
- 串口发送数据
- c#串口发送数据
- J2EE入门—浅谈J2EE的十三个规范
- n皇后问题
- Hive ORC文件格式存储与测试(Malformed ORC file解决)
- 抽象类与接口的区别
- qt5 解析Json文件
- USART---串口发送数据
- unity--ugui中文教程翻译2
- 【Html】caption标签,为表格添加标题和摘要
- IP地址
- zookeeper+hadoop+hbase 之 hbase
- IP Address
- HDU 5592:ZYB's Premutation 树状数组+二分
- 算法笔记——【分治法】分治法与二分搜索
- javascript中异常捕获抛出处理