历史上的今天
返回首页

历史上的今天

今天是:2025年01月15日(星期三)

正在发生

2019年01月15日 | STM32的串口(UART)及串口通信原理

2019-01-15 来源:eefocus

一、通信接口介绍


    1、处理器与外部设备通信的两种方式:      


        并行通信


    -            传输原理:数据各个位同时传输。


                -优点:速度快


                -缺点:占用引脚资源多


        串行通信


   -            传输原理:数据按位顺序传输(一位一位传输)。


                -优点:占用引脚资源少


                -缺点:速度相对较慢


    2、串行通信三种传送方式:


        单工:


               数据传输只支持数据在一个方向上传输


        半双工:


               允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;


        全双工:


               允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。




    3、串行通信的通信方式及举例


        同步通信:带时钟同步信号传输。         -SPI,IIC通信接口


        异步通信:不带时钟同步信号。            -UART(通用异步收发器),单总线



--------------------------------------------------------------------------------------------------------------------------------------------


二、什么是串口:


    串口是我们的大多数微控制单元(MCU)都具有的基本的外部接口,一般串口最基本的功能就是调试,又能做数据通信的接口(数据量要小一些)。


    数据从A到B只能通过1根线,数据就像是羊肉块一样被串在线上


        UART:通用异步收发器


        USART:通用同步异步收发器


----------------------------------------------------------------------------------------------------------------------------------------------


三、串口电平标准及引脚连接方法:


    1、电平标准


     TTL是常见的模块的通讯电平标准:串口wifi、串口蓝牙(4针接口:VCC、GND、TXD、RXD)


     232一般是数据通讯接口:台式电脑的主机背后的九针接口




    2、连接方法


        RXD:数据输入引脚。数据接受。


        TXD:数据发送引脚。数据发送。


                          


-----------------------------------------------------------------------------------------------------------------


四、STM32串口通信过程


数据接收过程:



数据发送过程:


-----------------------------------------------------------------------------------------------------------------------------------


五、STM32串口异步通信需要定义的参数


        ①起始位


        ②数据位(8位或者9位)   9位是带奇偶校验位


        ③奇偶校验位(第9位)    


                奇检验就是保证8位数据位中1的个数为基数个,如果1是基数个则检验位就为0,反之为1;


                偶检验就是保证8位数据位中1的个数为偶数个,如果1是偶数个则检验位就为0,反之为1;


        ④停止位(1,15,2位)


        ⑤波特率设置



----------------------------------------------------------------------------------------------------------------------------------------------------


六、UART配置过程


    1、串口时钟和GPIO时钟使能


        ①串口时钟使能: RCC_APBxPeriphClockCmd();


        ②GPIO时钟使能:RCC_AHB1PeriphClockCmd();


    2、设置引脚复用器映射:


        GPIO_PinAFConfig();


    3、串口参数初始化(GPIO配置)(五大参数)


        GPIO_Init();//初始化


    4、串口参数初始化(六大参数)


        USART_Init(); //初始化串口


    5.使能串口


        USART_Cmd();


    6.开启中断(如果需要开启中断才需要这个步骤)


  设置中断进入的条件:接收数据缓冲区有数据的时候就会进入中断


        USART_ITConfig(USART1, USART_IT_RXNE,ENABLE);


    7.配置NVIC中断(四大参数)


        NVIC_Init(&NVIC_InitStructure);


    8、编写中断处理函数:USARTx_IRQHandler();


------------------------------------------------------------------------------------------------------------------


 串口数据收发:


        void USART_SendData();//发送数据到串口,DR


        uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据


    串口传输状态获取:


        FlagStatusUSART_GetFlagStatus();


        void USART_ClearITPendingBit();


------------------------------------------------------------------------------------------

推荐阅读

史海拾趣

Babcock Inc公司的发展小趣事

Babcock Inc公司的创立源于创始人对电子技术的深厚热爱和前瞻视野。在创业初期,公司便致力于电子技术的研发与创新,不断积累核心技术和专利。通过持续的技术投入和人才培养,Babcock逐渐在电子行业崭露头角,为后续的快速发展奠定了坚实的基础。

千志电子(CCO)公司的发展小趣事

千志电子于1986年由董事长陈初志先生在台湾创立,起初专注于生产各类型插件式电阻。随着业务的不断发展,公司意识到拓展更广阔市场的重要性。1996年,千志电子进军中国市场,在深圳设立了千志电子(深圳)有限公司,这一举措标志着公司开始走向国际化。深圳作为中国改革开放的前沿阵地,为千志电子提供了丰富的资源和广阔的市场空间,为其后续的发展奠定了坚实基础。

Displaytech公司的发展小趣事

Displaytech公司成立于1989年,作为一家LCD模块供应商在香港崭露头角。当时,液晶显示技术正逐渐崭露头角,Displaytech凭借其敏锐的市场洞察力和技术实力,迅速在市场中占据了一席之地。公司初期专注于小型到中型LCD的制造,为工业、消费和医疗行业的客户提供高质量的产品和技术支持。

EPCOS (TDK)公司的发展小趣事

2009年10月1日,EPCOS与TDK元件事业部合并,成立了TDK-EPC公司。这次合并进一步增强了EPCOS在电子元器件领域的实力,使其在全球市场中的地位更加稳固。合并后,TDK-EPC公司继续秉承EPCOS的技术创新和产品拓展战略,不断推出具有竞争力的新产品和解决方案,以满足客户日益增长的需求。

Bias Power公司的发展小趣事

Bias Power公司深知研发实力是企业发展的核心。因此,公司投入大量资源用于研发工作,建立了完善的研发团队和实验设施。通过不断的技术创新和研发投入,Bias Power公司成功推出了一系列具有竞争力的新产品,巩固了其在电子行业的领先地位。

同时,公司还注重知识产权的保护,积极申请专利,保护其核心技术不被侵犯。这些专利的申请和授权不仅提升了公司的技术实力,还为公司的发展提供了有力保障。

FRIWO公司的发展小趣事

作为全球化的技术型企业,FRIWO在全球范围内设立了研发、生产和营销部门,以满足不同市场的需求。FRIWO的电源解决方案业务部(FPS)专注于为客户量身订做电源解决方案,其客户群遍布医疗科技、IT通讯、家用电器、移动工具以及工业应用等多个领域。为了更好地服务本地客户,FRIWO在不同地区设立了分支机构,确保能够快速响应客户需求并提供专业的技术支持和服务。这种全球化布局与本地化服务的策略,使得FRIWO在激烈的市场竞争中保持了强劲的竞争力。

问答坊 | AI 解惑

征集芯片及供应商。

各位说说自己接触过或者了解的芯片及其供应商信息。 比如: 51、ARM一般去周立功那买,MSP430一般去利尔达买等等。…

查看全部问答>

如何去换掉IDC_SMARTDIAL的背景颜色?

如何去换掉IDC_SMARTDIAL的背景颜色? phonecavas.h里面讲可以通过写注册表去改变, 但做了之后, 却将其他控件的背景颜色换掉了.…

查看全部问答>

大家帮帮我啊,我的Pocket PC2003无法运行是怎么回事啊?

我按照步骤安装了以下的套件:Activesync--eVC4--sp3--pocket PC2003SDK(之前我就是这样安装的,完全OK,还做了PDA的软件)。安装的时候没有任何问题,且都是默认路径和默认组件安装,安装完毕后打开EVC可以新建工程,编译也没问题,但是一用emula ...…

查看全部问答>

有没有9B96的最小系统版

本帖最后由 paulhyde 于 2014-9-15 09:04 编辑 9月份的国赛单片机想用9b96,但是要自己画最小系统板,求助高手~  …

查看全部问答>

【MSP430共享】具有大容量的嵌入式数据采集系统的设计与实现

目前的数据采集系统越来越偏向于低电压、 低功耗, 而海量存储则是它发展的一个强大趋势。本文设计了一种借助于U S B 总线技术、 嵌人式系统设计技术和微处理器技术来实现的一种低功耗、 便携、 大容量存储的数据采集系统。硬件方面, 本设计 ...…

查看全部问答>

那位认识这个元件 MSC P0651 R624S

那位认识这个元件 MSC P0651 R624S   请知道的朋友联系QQ151745821 谢谢~~~ …

查看全部问答>

ALTERA-MODESIM 仿真出错

在用ALTERA-MODESIM 进行功能仿真时正确,时序仿真出现如下错误: # ** Error: (vsim-SDF-3250) text_v.sdo(39): Failed to find INSTANCE \'\\a[0]~I \'. # ** Error: (vsim-SDF-3250) text_v.sdo(39): Failed to find INSTANCE \'asynch_in ...…

查看全部问答>

高功率密度二次模块的实现方法

高功率密度二次电源模块是目前发展最快的电源产品之一。对于DC/DC低压大电流输出,副边采用同步整流的有源箝位正激变换器虽有一定优点,但却是一个使许多公司遭遇很大损失的美国专利。本文从现有高功率密度二次模块实现的方法出发,提供一些对此类 ...…

查看全部问答>

红外通信装置

本帖最后由 paulhyde 于 2014-9-15 03:15 编辑 能实现模拟传输,只是距离不够怎么办啊,求大神指点啊    …

查看全部问答>

LPC43xx的主频都跑到204MHz了,我点把火大家来讨论NXP的ARM Cortex的基于固件开发...

本帖最后由 平湖秋月 于 2014-1-22 21:19 编辑 近一年多以来,一直在关心TI的TM4C系列芯片,搞定这部分后, 我也打算花点时间研究一下NXP的ARM Cortex芯片,他们的USB固件库 已直接烧在了ROM中了,有很多特性是STM32和TI ARM Cortex不具备的 ...…

查看全部问答>