历史上的今天
今天是:2024年11月11日(星期一)
2020年11月11日 | STM32--UART异步通信学习
2020-11-11 来源:eefocus
字符发送的过程描述:在UART的发送过程中先将数据输入到发送数据寄存器中(TDR)此时(TXE)被硬件置1,之后TDR寄存器将数据串行移入到发送移位寄存器中,将数据在TX端口发送,此时(TC)被硬件置1。 发送与接收是逆过程。
UART发送配置步骤:
1.通过USART_CR1寄存器上置位UE来激活USART。
2.编程USART_CR1的M位来定义字长。
3.在USART_CR2中编程停止位的位数。
4.如果采用多缓冲器通信,配置USART_CR3中的DMA使能位(DMAT)。按多缓冲器通信中的描述配置DMA寄存器。
5.利用USART_BRR寄存器选择要求的波特率。
6. 设置USART_CR1中的TE位,发送一个空闲帧作为第一次数据发送。
7. 把要发送的数据写进USART_DR寄存器(此动作清除TXE位)。在只有一个缓冲器的情况下,对每个待发送的数据重复步骤7。
8. 在USART_DR寄存器中写入最后一个数据字后,要等待TC=1,它表示最后一个数据帧的传输结束。当需要关闭USART或需要进入停机模式之前,需要确认传输结束,避免破坏最后一次传输。
在配置USART的接收时,除上面的步骤外,还要使能接收中断并且配置中断向量控制器NVIC。
波特率的计算方法:
STM32--UART异步通信学习
USART的编程:
1.定义USART_InitTypeDef类型的结构体 UART_init
2.使能GPIO的时钟和USART的时钟。(UART1 PA9为TX,PA9为RX)
3.配置UART_init结构体的各参数。 配置波特率、数据位、停止位、奇偶效验位、硬件流、收发模式
4.初始化UART_init结构体的各参数使用函数。
5.使能USART
6.定义GPIO_InitTypeDef类型的结构体 GPIO_UART
7.讲相应GPIO引脚(PA10 RX PA9 TX)。
8.初始化GPIO引脚。
在配置接收模式时,还要使能接收中断,并且配置中断向量控制器NVIC。
在发送完数据时,要判断标志TC是否置位,在接收数据时,要判断是否有接收中断请求。
史海拾趣
|
设计一种以89C52为核心的实用新型计算机温度采集系统.它采用 J 类热电偶作为测温元件,利用集成电流的温度传感器AD590,实现热电偶冷端温度的有效补偿,从而提高系统的精度、稳定性和抗干扰性能.该系统主要从工程实际出发,对元件选择、电路设计等方面 ...… 查看全部问答> |
|
今天看到新闻说门禁卡能被复制了。还十分简单一分钟就搞定,5元10元就能复制一张,只要提供卡上的串号就可以了。复制一张门禁卡比配一把钥匙还要容易得多。“那么容易就复制一张门禁卡,那门禁系统还管什么用?”面对这种疑问,我们做安防的如何应 ...… 查看全部问答> |
|
为什么我的VXworks下载启动的时候要禁用USB呢?高手指教一下,谢谢! 为什么我的VXworks下载启动的时候要禁用USB呢?有什么解决的办法吗? 高手指教一下,谢谢! 我用的平台是ETX,,德国控创的产品!!!… 查看全部问答> |
|
我的uart说明书如下: Rx interrupt Generated whenever receive data reaches the trigger level of receive FIFO. Generat ...… 查看全部问答> |
|
第一,材料表面处理(含电源),难以经受长时间恶劣环境的侵蚀。所谓的“裸体”路灯一般是散热器直接裸露在外面的路灯。有些厂家认为这样更有利于散热,但这样的前提是灯具必须安装在一个比较干净、不受外界恶劣条件影响的环境中,而实际应用中 ...… 查看全部问答> |
|
正在用EPI模块,模块能正常工作,但是速率好像比预计的慢a!有没有人测过EPI的实际速率是多少?? 下面是测试代码: voidReadControlHandler(void){ unsigned short count = 544; //length = EPINon ...… 查看全部问答> |
|
摘要实时操作系统已经由以前的嵌入式系统的统一实体的结构演变为最低层是一个实时内核的层次结构。多任务、抢占调度、快速上下文切换、低中断延时和快速灵活的通信机制是对现代实时内核的标准要求。第一部分描述了内核需求,第二部分提供了VxWorks ...… 查看全部问答> |




