历史上的今天
今天是:2025年06月09日(星期一)
2018年06月09日 | stm32串口的flag和it标志位
2018-06-09 来源:eefocus
今天用到stm32的串口,对串口进行配置进行接受数据。之后大家也可以想象到结果是什么,完全没有用哎!
后来慢慢的发现了问题的所在,现做笔记如下:
ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT);
USART_IT参数:
#define USART_IT_PE ((uint16_t)0x0028)
#define USART_IT_TXE ((uint16_t)0x0727)
#define USART_IT_TC ((uint16_t)0x0626)
#define USART_IT_RXNE ((uint16_t)0x0525)
#define USART_IT_IDLE ((uint16_t)0x0424)
#define USART_IT_LBD ((uint16_t)0x0846)
#define USART_IT_CTS ((uint16_t)0x096A)
#define USART_IT_ERR ((uint16_t)0x0060)
#define USART_IT_ORE ((uint16_t)0x0360)
#define USART_IT_NE ((uint16_t)0x0260)
#define USART_IT_FE ((uint16_t)0x0160)
而FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)
的USART_Flag参数为:
#define USART_FLAG_CTS ((uint16_t)0x0200)
#define USART_FLAG_LBD ((uint16_t)0x0100)
#define USART_FLAG_TXE ((uint16_t)0x0080)
#define USART_FLAG_TC ((uint16_t)0x0040)
#define USART_FLAG_RXNE ((uint16_t)0x0020)
#define USART_FLAG_IDLE ((uint16_t)0x0010)
#define USART_FLAG_ORE ((uint16_t)0x0008)
#define USART_FLAG_NE ((uint16_t)0x0004)
#define USART_FLAG_FE ((uint16_t)0x0002)
#define USART_FLAG_PE ((uint16_t)0x0001)
我在判断中断标志位的时候用了带有flag的宏定义导致了串口的接受中断完全没有打开
下一篇:STM32中发送中断标志位
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 03:38 编辑 在竞赛组委会会议上,TI专家推荐的2008TI杯四川,江苏,陕西,湖北四个赛区的一些优秀论文 2009年赛前必须准备的好资料 [ 本帖最后由 open82977352 于 2009-7-27 18:49 编辑 ] &nbs ...… 查看全部问答> |
|
要求一定得有抗抖动的程序,不需要报时,但要有调节时分的功能,只有两个按键,一个置位,另一个是调分且调时,谢谢了 ,邮箱809257115@qq.com… 查看全部问答> |
|
RT。小弟要开题了,做视频监控。把视频信息送到arm9中,客户端通过无线网络可以获取视频。 不晓得arm9能够实现吗?如果能够实现,实时性会很高吗?… 查看全部问答> |
|
子线程中调用DeviceIoControl, ReadFile, Writefile的问题 请问 子线程中调用DeviceIoControl或者ReadFile,WriteFile会不会阻塞主线程 为什么呢 我在一个qq群上问过,有人说肯定会,原因是“因为这些函数都是同步函数(WinCE中),不是异步函数,在函数没有执 ...… 查看全部问答> |
|
关于wince注册表的几个问题 1、Hive_based 和 ram_based的CE系统哪个启动更快? 2、我所谓的启动过程指的是从冷启动到所有的内置的驱动都已加载的过程,大约各需要多长时间? 3、采用基于hive的注册表(注册表文件较大)是否有可能导致系统的文 ...… 查看全部问答> |




