历史上的今天
返回首页

历史上的今天

今天是:2024年09月24日(星期二)

正在发生

2019年09月24日 | STM32USART串口库函数介绍之USART_Init

2019-09-24 来源:eefocus

本文将介绍USART串口的库函数,总的来说有以下函数体:


※ USART_Init函数:初始化所使用的串口外设


※ USART_Cmd函数:使能或者失能USART外设


※ USART_ITConfig函数:使能或者失能指定的USART中断


※ USART_SendData函数:通过外设USARTx发送单个数据


※ USART_ReceiveData函数:返回USARTx最近解释接收到的数据


※ USART_GetFlagStatus函数:检查指定的USART标志位设置与否


※ USART_ClearFlag函数:清楚USARTx的待处理标志位


※ USART_GetITStatus函数:检查指定的USART中断发生与否


接下来分开阐述以上几种函数以及其用法和相关注意事项


1.USART_Init函数


USART_Init函数的功能是初始化异步串口,包括选定使用的串口,设定串口的数据传输速率、数据位数、检验方式、停止位、流量控制方式等,是串口最重要的库函数。


USART_InitTypeDef定义于文件 中,具体如下:


typedef struct


{


u32 USART_BaudRate;


u16 USART_WordLength;


u16 USART_StopBits;


u16 USART_Parity;


u16 USART_HardwareFlowControl;


u16 USART_Mode;


} USART_InitTypeDef;


USART_WordLength提示了在一个帧中传输或者接收到的数据位数;


USART_WordLength_8b;8位数据


USART_WordLength_9b;9位数据


USART_StopBits定义了发送的停止位数目;


USART_StopBits_1 在帧结尾传输1个停止位


USART_StopBits_0.5 在帧结尾传输0.5个停止位


USART_StopBits_2 在帧结尾传输2个停止位


USART_StopBits_1.5 在帧结尾传输1.5个停止位


USART_Parity定义了奇偶模式


USART_Parity_No 奇偶失能


USART_Parity_Even 偶模式


USART_Parity_Odd 奇模式


USART_HardwareFlowControl指定了硬件流控制模式使能还是失能


USART_HardwareFlowControl_None 硬件流控制失能


USART_HardwareFlowControl_RTS 发送请求RTS使能


USART_HardwareFlowControl_CTS 清除发送CTS使能


USART_HardwareFlowControl_RTS_CTS RTS和CTS使能


USART_Mode指定了使能或者失能发送和接收模式


USART_Mode_Tx 发送使能


USART_Mode_Rx 接收使能


 


实例:初始化异步串口1,速率为19200,8为数据,1个停止位,无检验,无流量控制,接收发送使能。


USART_InitTypeDef USART_InitStructure;


USART_InitStructure.USART_BaudRate = 19200;


USART_InitStructure.USART_WordLength = USART_WordLength_8b;


USART_InitStructure.USART_StopBits = USART_StopBits_1;


USART_InitStructure.USART_Parity = USART_Parity_No;


USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_RTS_CTS;


USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;


USART_Init(USART1, &USART_InitStructure); 

推荐阅读

史海拾趣

Advanced Microelectronic Products Inc公司的发展小趣事

随着公司业务的不断发展,AMP公司意识到与国际伙伴合作的重要性。于是,公司积极寻求与国际知名企业的战略合作,通过技术交流和资源共享,共同开发新型电子产品。这些国际合作不仅提升了AMP公司的技术水平,还进一步提升了其品牌影响力和国际知名度。公司因此获得了更多海外市场的认可,实现了业务的全球化布局。

Coleman Cable Inc公司的发展小趣事

在电子行业的早期,Coleman Cable Inc以其创新性的电缆设计和技术突破,在市场中崭露头角。公司研发出一款具有高效传输和稳定性能的电缆产品,迅速赢得了消费者的青睐。随着技术的不断完善和市场需求的扩大,Coleman Cable逐渐扩大了生产规模,并开始向国际市场拓展,其产品在全球范围内得到了广泛应用。

ADLINK公司的发展小趣事

在发展过程中,Coleman Cable积极寻求与行业内外的合作伙伴建立稳固的合作关系。通过与知名电子制造商建立供应链合作关系,Coleman Cable的电缆产品得以广泛应用于各种电子设备中。同时,公司还与科研机构、高校等建立产学研合作关系,共同研发新技术、新产品,推动公司技术的不断创新和升级。

DSP Group Inc公司的发展小趣事

随着全球市场的不断变化和竞争的加剧,DSP Group不断调整其全球化布局和战略转型。公司先后在德国、英国等地设立了研发中心和办事处,加强了与国际市场的联系和合作。同时,DSP Group还积极寻求与其他公司的合作和并购机会,以进一步拓展其业务领域和市场份额。通过这些举措,DSP Group在全球范围内建立了广泛的销售网络和合作伙伴关系,为其未来的发展奠定了坚实的基础。

以上五个故事概述了DSP Group Inc公司在电子行业中发展起来的关键阶段和重要事件。这些故事不仅展示了DSP Group在技术创新、市场拓展和全球化布局方面的努力和成果,也反映了电子行业发展的趋势和变化。

Delus Corp公司的发展小趣事

Delus Corp公司深知持续创新对于公司发展的重要性。因此,公司投入大量资源进行研发,并不断探索新技术和新材料。同时,公司也高度重视产品质量,建立了严格的质量管理体系,确保每一件产品都符合高标准的质量要求。这些努力使得公司的产品线不断丰富,产品质量得到了广大客户的认可。

Astec [Astec America, Inc]公司的发展小趣事

Astec America, Inc的创立可以追溯到上世纪80年代,当时创始人看到了电源技术的巨大潜力,并决定在这一领域进行深耕。公司初创时期,团队主要专注于电源技术的研发,推出了一系列具有创新性的电源产品。这些产品不仅性能稳定、效率高,而且价格合理,很快就在市场上获得了良好的口碑。

问答坊 | AI 解惑

飞思卡尔智能汽车比赛

本来是要参加明天的飞思卡尔智能汽车比赛的,前段时间被老师叫去帮他完成一些东西,就退出来了。下面是一些飞思卡尔的资料,或许有用。 …

查看全部问答>

总线方式布线是怎样的方式!?

在pcb布线的过程中,总线方式布线是怎样的方式!?在县卡,主板上看到其布线很漂亮,经询问说是总线方式布线,不懂。请教。在protel中用shift+空格转换…

查看全部问答>

vxworks usrRoot任务起不来!

    各位vxworks的前辈们,小弟刚刚接触vxworks,目前使用一块MPC852的板子,自带了bootrom,无源码,无仿真器,板子启动后bootrom可以正常运行,现在我自己修改了一个MPC852的BSP,并基于此做了个vxworks镜像。       ...…

查看全部问答>

关于一个单片机串口接收FPGA配置文件的问题,希望大家不吝赐教

各位高手,小弟有疑问相求,最近被安排做个小东西,目的是把几个FPGA的配置文件利用串口发给单片机,单片机接收后将其存入几片EEPROM里,再根据需求选择用哪个文件来配置FPGA,感觉上位机程序的功能和串口调试助手有点像。疑问就在于: 1.是否可以 ...…

查看全部问答>

网络综合布线系统概述

综合布线是一种模块化的、灵活性极高的建筑物内或建筑群之间的信息传输通道。它既能使语音、数据、图像设备和交换设备与其它信息管理系统彼此相连, 也能使这些设备与外部相连接。它还包括建筑物外部网络或电信线路的连接点与应用系统设备之间的所有 ...…

查看全部问答>

新手求助啊 ccs5.1延时程序中asm("nop")

当加一个asm(\"nop\")到延时程序中,无任何问题,当有2个以上延时程序时则会出现错误,如何解决啊?  附图 …

查看全部问答>

FL2440屏幕初始化

我看了FL2440屏幕初始化的代码,在bootloader,eboot还有wince驱动中都有,但是只有bootloader中的初始化调用了,eboot还有wince驱动中都没有调用初始化函数。。但是我现在用spi接口的屏幕照样做,bootloader中可以点亮,但是到了wince中就会熄灭, ...…

查看全部问答>

430仿真器的驱动装不上去win7 32位的,指点一下吧

430仿真器的驱动装不上去win7 32位的,每次都安装不成功,出现下面这种情况…

查看全部问答>

BB-Black到货啦!

BB-Black 到货啦!上图 接下来就是arm linux移植以及交叉编译的问题了,之前在OK6410板子上做过。也是一番痛苦的经历。再来一次吧!…

查看全部问答>