历史上的今天
返回首页

历史上的今天

今天是: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的宏定义导致了串口的接受中断完全没有打开

推荐阅读

史海拾趣

ALLIED [Allied Electronics]公司的发展小趣事

Allied Electronics,总部位于美国德克萨斯州的一家分销公司,专注于为各种行业提供电子元件和电子产品。以下是关于Allied Electronics发展的五个相关故事:

  1. 成立和初期发展: Allied Electronics成立于1928年,最初以销售家庭无线电零件和配件为主要业务。随着无线电和电子行业的发展,公司逐渐扩大了产品范围,开始提供更广泛的电子元件和设备,以满足不断增长的市场需求。

  2. 与RS Components的合并: 2000年,Allied Electronics与英国的RS Components公司合并,成为全球领先的电子元件分销商之一。这一合并加强了两家公司在全球市场的地位,并且拓展了它们的产品线和客户群。

  3. 公司战略调整: 随着数字化技术的快速发展,Allied Electronics逐渐调整了业务战略,加大了对电子元件和器件的供应,并拓展了工业自动化、物联网和电子制造等领域的业务。通过与各种行业的合作伙伴建立紧密的关系,公司不断提升了产品质量和服务水平。

  4. 技术创新和数字化转型: Allied Electronics致力于技术创新和数字化转型,通过建立先进的电子商务平台和在线资源中心,为客户提供更便捷的采购体验。同时,公司还加强了与供应商的合作关系,引入了更多的创新产品,满足不同客户的需求。

  5. 持续发展和全球扩张: 作为全球领先的电子元件分销商之一,Allied Electronics不断加大在全球范围内的市场扩张力度,开设了多个销售办事处和物流中心,以更好地服务于全球客户。同时,公司还积极参与行业展会和活动,加强了与全球电子行业的合作与交流,推动了公司的持续发展和壮大。

Compound Photonics公司的发展小趣事

Compound Photonics公司成立于2007年,其初期发展并不顺利。然而,一个关键的转折点出现在公司收购Syntax-Brillian的专利之后。Syntax-Brillian是一家在微显示领域有着深厚技术积累的公司,其核心在于早年间收购的Colorado Microdisplays/Zight专利。这次收购使得Compound Photonics获得了进入微显示领域的重要技术基础,为后续的发展奠定了坚实的基础。

德尔创(Dersonic)公司的发展小趣事

德尔创(Dersonic)公司成立于XXXX年,由一群电子工程领域的专家共同创立。成立之初,公司面临着资金紧张、市场竞争激烈等挑战。然而,他们凭借对电子技术的深刻理解和对市场的敏锐洞察,决定专注于研发和生产高品质的电子元器件。通过不断的研发和创新,德尔创成功推出了其首款具有竞争力的产品,并在市场上获得了初步认可。

安国国际(ALCOR)公司的发展小趣事

随着公司规模的扩大和业绩的增长,安国国际的产品线逐渐从计算机外设产品拓展至消费型电子产品和手持便携装置。为满足市场需求,公司不断推出创新产品,如输出入装置暨多媒体图像处理装置应用控制芯片、网桥控制芯片、网络安全保护装置等。同时,为提升运营效率和灵活性,安国在2015年进行了组织调整和专业分工,将不同业务线分割为多家子公司,使得各业务领域能够更加专注和高效地发展。

HARTING公司的发展小趣事

在全球化趋势的推动下,安国国际积极拓展海外市场,与全球多家知名企业和研究机构建立了紧密的合作关系。通过与国际伙伴的技术合作和市场共享,安国得以更快地了解市场需求和技术动态,加速产品研发和市场推广。同时,公司还加强了对全球供应链的管理和优化,确保产品质量和交货期的稳定性。这些举措为安国国际在全球市场的竞争提供了有力支持。

这五个故事展示了安国国际在电子行业中的发展历程和取得的成就。从创业初期的USB键盘集线器控制芯片研发到产品线拓展、组织架构调整、专注于U盘控制IC开发以及全球化布局与合作伙伴关系的建立,安国国际始终坚持以技术创新为驱动,以市场需求为导向,不断提升自身的核心竞争力和市场份额。

Emerson公司的发展小趣事

1890年,Emerson在美国密苏里州圣路易斯市成立,最初是一家电机和风扇制造商。1892年,新公司靠交流电机起家,并生产出了第一批销往北美的电风扇,净销售额接近6万美元。随着技术的不断革新,Emerson于1897年开始生产吊扇,这一创新使得高层建筑更加宜居,吊扇业务迅速成为公司的重要收入来源。

问答坊 | AI 解惑

16舵机双足机器人-----全资料奉上!

本帖最后由 paulhyde 于 2014-9-15 03:33 编辑 来源:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3648721&bbs_page_no=1&bbs_id=9999 暑假学校里做机器人比赛,就是做出一个人型机器人来互相对打,要求无线控制的。 我因为去年做过这个 ...…

查看全部问答>

请教原理图方面的问题

我有一个项目,这个项目需要有对火警报警器、煤气报警器、气体检测仪器的原理熟悉的人才,如果有请和我联系,我的MSN:sjm428124@msn.com …

查看全部问答>

申请 EZ430-RF2500开发板

使用RF2500开发板,完成QQ消息提醒器的设计 [ 本帖最后由 tagetage 于 2010-10-14 10:54 编辑 ]…

查看全部问答>

用过AT24C02的高手请指教!

#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_ ...…

查看全部问答>

【求助】【讨论】关于用149做交流电流0-5mA得采样电路问题

互感器输出为交流0-5mA,用149采样确定电流值!!!! 请高手指点!!!!…

查看全部问答>

求助 关于AD9854的

小弟自己做了个AD9854的板子,这一上电后线性电源有110MA,寄存器什么都没有操作!还有20M的系统晶振,UD管脚只有153K,应该默认是八分频的吧,请教大侠们这正常吗??…

查看全部问答>

关于ucosii下的数据接收

在ucosii下面,我用UARTCharGet函数,可是都无法接收数据,但是用UARTCharPut却可以发送数据,请问这是为什么啊 ?…

查看全部问答>

请问大家IAR和CCS哪个用的人数多?

新手问一下,IAR和CCS哪个用的人数多,哪个更好用一点?你们更喜欢哪一个?…

查看全部问答>

元器件分销社交化网络和网上商城新观察

       笔者今年夏天一直参加北京地区举办的行业展览会和芯片原厂授权代理商举办技术研讨会上,也拜访了北京地区电子元器件授权代理商朋友,电子元器件现货经销商朋友,还有目录分销商的朋友,也和一些华北地区, ...…

查看全部问答>

lowlevel_init.S的system_clock_init函数放到C语言下面实现——更好处理

在uboot原来的代码里,有系统时钟的初始化函数,在board/samsung/smdkv210/lowlevel_init.S的system_clock_init函数,我大概看了一下,寄存器不一样,而且是汇编写的,所以我就改成用c语言来实现,在BL1阶段初始化一下,BL2阶段就不用重新初始化了 ...…

查看全部问答>