完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在STM32F10x_StdPeriph_Lib_V3.5.0中,stm32f10x_usart.h的第356行
#define IS_USART_CLEAR_FLAG(FLAG) ((((FLAG) & (uint16_t)0xFC9F) == 0x00) && ((FLAG) != (uint16_t)0x00)) 来判断串口的一些标志位参数是否正确,而Flags定义如下 #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) 大家看一下第356行是不是错了,比如USART_FLAG_TXE& (uint16_t)0xFC9F 结果不为0,IS_USART_CLEAR_FLAG(FLAG)为假 |
|
相关推荐
10个回答
|
|
不懂帮顶下!应该不会写错的,大厂商,而且用的人也不少,类似的好像没看见过,建议自己好好看下再
|
|
|
|
IS_USART_CLEAR_FLAG(FLAG)中的FLAG是USART_FLAG_TXE& (uint16_t)0xFC9F吗?或者IS_USART_CLEAR_FLAG是否取反了?
|
|
|
|
7762642422d 发表于 2018-9-19 15:33 这是stm32f10x_usart.h的第356行的内容: #define IS_USART_CLEAR_FLAG(FLAG) ((((FLAG) & (uint16_t)0xFC9F) == 0x00) && ((FLAG) != (uint16_t)0x00)) 使用的时候IS_USART_CLEAR_FLAG没有取反,assert_param(IS_USART_CLEAR_FLAG(USART_FLAG)); 在F0的固件库中的写法就不一样了。 |
|
|
|
#define中“与”的第一项:
(((FLAG) & (uint16_t)0xFC9F) == 0x00) 当FLAG是USART_FLAG_TXE时 #define USART_FLAG_TXE ((uint16_t)0x0080) 显然((FLAG) & (uint16_t)0xFC9F)为true,则(((FLAG) & (uint16_t)0xFC9F) == 0x00)为false,后面的也就不用看了,IS_USART_CLEAR_FLAG(FLAG)为false。 再者,你不应该用F1的来示做F0的吧? |
|
|
|
看了上面的我乱了
|
|
|
|
7762642422d 发表于 2018-9-19 15:57 你前面说的没错,和我的结论也没区别。你说的最后一句,我的意思是说F0的固件库写法不一样,而且F0固件库中的写法明显很正确。这种参数判断,和硬件也没关系呀,我仅仅只是做对比 |
|
|
|
kallon7250 发表于 2018-9-19 16:32 IS_USART_CLEAR_FLAG(FLAG)为false说明没有清空FLAG标志啊,你是什么问题呢? |
|
|
|
你这句话真是错了,IS_USART_CLEAR_FLAG(FLAG)是用在断言里的,和清标志没有关系 |
|
|
|
我没有说是要清空标志。 而是说这个只是判断下标志是否被清空,即结果是没有清空或已被清空。 |
|
|
|
你是不是不知道什么是断言?去看一看代码里IS_USART_CLEAR_FLAG(FLAG)是用来干什么的吧 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1049 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1017 浏览 2 评论
2123 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1219 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1639 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 03:41 , Processed in 0.678266 second(s), Total 91, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号