极速赛车手机官网

STM32库USART_ITConfig的坑

2019-09-24来源: eefocus关键字:STM32库  USART_ITConfig  

USART_ITConfig只能使用一个中断标志!


看看中断参数的定义:


#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_ORE_RX                      ((uint16_t)0x0325) /* In case interrupt is generated if the RXNEIE bit is set */

#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_ER                      ((uint16_t)0x0360) /* In case interrupt is generated if the EIE bit is set */

#define USART_IT_NE                          ((uint16_t)0x0260)

#define USART_IT_FE                          ((uint16_t)0x0160)

如果你一不小心使用了或运算施工图配置多个中断,而又没有打开断言开关的宏,恐怕你会痛苦一阵子了!


在stm32f4xx_conf。h中,打开标志并定义函数


#define USE_FULL_ASSERT    1

void assert_failed(uint8_t *file, uint32_t line);

/* Uncomment the line below to expanse the "assert_param" macro in the

   Standard Peripheral Library drivers code */

#define USE_FULL_ASSERT    1

 

/* Exported macro ------------------------------------------------------------*/

#ifdef  USE_FULL_ASSERT

 

/**

  * @brief  The assert_param macro is used for function's parameters check.

  * @param  expr: If expr is false, it calls assert_failed function

  *   which reports the name of the source file and the source

  *   line number of the call that failed.

极速赛车手机官网  *   If expr is true, it returns no value.

  * @retval None

  */

#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))

极速赛车手机官网/* Exported functions ------------------------------------------------------- */

void assert_failed(uint8_t *file, uint32_t line);

#else

#define assert_param(expr) ((void)0)

#endif /* USE_FULL_ASSERT */


void assert_failed(uint8_t *file, uint32_t line);

极速赛车手机官网void assert_failed(uint8_t *file, uint32_t line);

关键字:STM32库  极速赛车手机官网USART_ITConfig   编辑:什么鱼 引用地址:http://news.1900222.com/mcu/ic475438.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32USART串口库函数介绍之USART_Init
下一篇:stm32USART使用(库函数)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stm32库函数学习篇----通用定时器(PWM功能)
上午花了半天时间熟悉了stm32的PWM模块。中午利用午饭时间把PWM功能调试成功。当然,很简单的东西,也许很多前辈估计都不屑一顾的东西。今天最大的感叹就是网络资源实在是个巨大的宝库,真的很庆幸,在这个复杂的社会环境里,在一个到处充斥着私心、私利的时代,各个网站,各个论坛上的众多网友都时刻保持着开源的氛围。学习一定要和他人交流,而网络提供了这么一个极好的平台。废话少说,言归正传。实现功能:采用定时器2的通道2,使PA1输出频率1K,占空比40的PWM波形,用PA8随意延时取反led灯,指示程序运行。首先熟悉一下定时器的PWM相关部分。看图最明白其实PWM就是定时器的一个比较功能而已。CNT里的值不断++,一旦加到与CCRX寄存器值
发表于 2019-09-29
stm32库函数学习篇----通用定时器(PWM功能)
关于STM32库函数中,u8_u16_等的定义
//stm32f10x.h文件内定义typedef uint32_t  u32;typedef uint16_t u16;typedef uint8_t  u8;//无符号 typedef int32_t  s32;typedef int16_t s16;typedef int8_t  s8; //有符号    /* exact-width unsigned integer types */typedef unsigned          char uint8_t;typedef uns
发表于 2019-09-28
keil库的运用,进阶版
看一个图片就ok了。看起来是不是很清晰脱俗,非常舒服。下载运行时ok的。用这个库新建工程也是ok的,实测通过。
发表于 2019-09-26
keil库的运用,进阶版
STM32库中重要文件说明详解
1.stm32f10x.h:定义系统寄存器的地址以及使用结构体封装。定义声明以及包装内存操作。新版的固件库V3.0以上main等源文件中不再直接包含stm32f10x_conf.h,而是stm32f10x.h。stm32f10x.h中定义了启动设置,以及所有寄存器宏定义,此文件中需要注意的有:1、device选择;2、外部时钟频率选择;3、外设宏定义USE_STDPERIPH_DRIVER;stm32f10x_conf.h中包含了所有外设的头文件,因此任意源文件只要包含了stm32f10x.h,就可以在源文件调用任意外设的函数,而不需要的外设部分,可以在stm32f10x_conf.h中注释掉,项目编译时就不会再编译以及去掉的外设
发表于 2019-09-24
STM32库中重要文件说明详解
stm32库函数学习篇---通用定时器(输入捕获功能)
实现功能:PA8随意延时驱动led灯闪烁,并且将PA8用杜邦线连接到PA7口,PA7是通用定时器TIM3的2通道,在TIM3_CH2触发中断程序中取反连接到PD2口的led灯,指示中断程序运行,并且每次进入中断后改变触发捕获的极性。实现两个led灯会交替闪烁。先有必要了解stm32定时器的输入触发模块,如下图:需要注意的是,一眼望去一个定时器似乎有8个通道,左边四个,右边四个,但其实左边和右边是共用相同的IO引脚,所以名称标注是一模一样。也就是说,每个通用定时器都只有四个独立通道,当某一通道作为了输入触发功能那就不能再作为输出匹配功能。这一点我们也可以从其他地方找到印证。比如TIM_ITConfig()函数中如下:Enables
发表于 2019-09-23
stm32库函数学习篇---通用定时器(输入捕获功能)
极速赛车手机官网为何说工业互联网IIoT中难绕过“集成应用陷阱”的“坑”?
+智能制造创新峰会”,我很荣幸受邀担任峰会主持人并参与“5G+IIoT新兴技术论坛”的演讲。                小s施耐德电气的逻辑一直是自成体系,不太“合群”。无论是工业4.0还是工业互联网,施耐德电气都不怎么掺和,画风常常是“他强任他强,我自一口真气足”。也许没有不合群的人,只有不合适的群。 本文我们就来综合解读峰会中的精华观点,以及施耐德电气的整体布局。简单概括就是,“一个陷阱、一套理念”: 为什么说工业互联网IIoT中难以绕过的“坑”,是“集成应用陷阱”?施耐德电气“我行我素”的一套5S理念应该如何解
发表于 2019-09-23
为何说工业互联网IIoT中难绕过“集成应用陷阱”的“坑”?
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 1900222.com, Inc. All rights reserved
极速赛车APP 极速赛车双面盘 极速赛车APP 极速赛车手机官网 极速赛车APP 极速赛车APP 极速赛车手机官网 极速赛车APP 极速赛车手机版下载 极速赛车APP