历史上的今天
今天是:2024年09月24日(星期二)
2019年09月24日 | stm32串口的flag和it标志位
2019-09-24 来源: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的宏定义导致了串口的接受中断完全没有打开
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 03:33 编辑 来源:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3648721&bbs_page_no=1&bbs_id=9999 暑假学校里做机器人比赛,就是做出一个人型机器人来互相对打,要求无线控制的。 我因为去年做过这个 ...… 查看全部问答> |
|
#include <STM8S105C_S.h> #define uchar unsigned char #define uint unsigned int #define data_out PB_DDR|=0X04; #define data_in PB_DDR&=~0X04; #define scl_H PB_ODR|=0X02; #define scl_L PB_ODR&=~0X02; #define sda_ ...… 查看全部问答> |
|
小弟自己做了个AD9854的板子,这一上电后线性电源有110MA,寄存器什么都没有操作!还有20M的系统晶振,UD管脚只有153K,应该默认是八分频的吧,请教大侠们这正常吗??… 查看全部问答> |
|
笔者今年夏天一直参加北京地区举办的行业展览会和芯片原厂授权代理商举办技术研讨会上,也拜访了北京地区电子元器件授权代理商朋友,电子元器件现货经销商朋友,还有目录分销商的朋友,也和一些华北地区, ...… 查看全部问答> |
|
lowlevel_init.S的system_clock_init函数放到C语言下面实现——更好处理 在uboot原来的代码里,有系统时钟的初始化函数,在board/samsung/smdkv210/lowlevel_init.S的system_clock_init函数,我大概看了一下,寄存器不一样,而且是汇编写的,所以我就改成用c语言来实现,在BL1阶段初始化一下,BL2阶段就不用重新初始化了 ...… 查看全部问答> |




