在现场总线领域中最常用的通信模式有两种:一种是传统的源/目的(点对点)模式,另一种是新型的生产者/消费者模式。当前广泛使用的现场总线中,采用生产者/消费者通信模式的主要有FF、DeviceNet、ControlNet和EtherNet/IP等。......
2025-09-30
下面简单介绍几个与串口基本配置直接相关的固件库函数。这些函数和定义主要分布在stm32f4××_usart.h和stm32f4××_usart.c文件中。
1.串口时钟和GPIO时钟使能
串口是挂载在APB2下面的外设,其使能函数如下:
串口USART1对应STM32芯片的I/O接口PA9和PA10,GPIO时钟使能,即对PA口的时钟使能,其使能函数如下:
2.设置引脚复用器映射
由于USART1为PA9和PA10的复用功能,因此需要进行引脚复用器映射配置,配置方法如下:
3.GPIO端口初始化设置
在GPIO端口初始化设置中,与普通I/O配置不同的是,模式设置为复用功能,调用固件库函数GPIO_Init来实现,关键代码如下:
4.串口参数初始化设置
串口初始化通过调用固件库函数USART_Init来实现,配置完成后调用USART_Cmd函数串口使能,关键代码如下:
5.串口数据发送与接收
STM32F4的发送与接收是通过数据寄存器USART_DR来实现的,这是一个双寄存器,包含TDR和RDR。当向该寄存器写数据时,串口就会自动发送,当收到数据的时候,也是存在该寄存器内。
通过USART_DR寄存器发送数据的函数为USART_SendData,可实现向串口寄存器USART_DR写入一个数据,函数结构如下:
通过USART_DR寄存器读取串口接收数据的函数是USART_ReceiveData,可以实现读取串口接收到的数据,函数结构如下:
6.串口状态读取与判定
串口的状态可以通过状态寄存器USART_SR读取,该寄存器的第5位RXNE和第6位TC功能说明如下:
RXNE(读数据寄存器非空):当该位被置1时,表明有数据被接收到,且可读出。此时可直接读取寄存器USART_DR,获取串行数据。在读USART_DR可以将该位清零,也可以向该位写0,直接清除。(https://www.chuimin.cn)
TC(发送完成):当该位被置1时,表示USART_DR内的数据已经发送完成。如果设置了这个位的中断,则会产生中断。该位也有两种清零方式:①读USART_SR,写USART_DR;②直接向该位写0。
在固件库函数里面,读取串口状态的函数如下:
该函数的第2个入口参数标志用于查看串口的哪种状态,如RXNE位(读数据寄存器非空)或TC位(发送完成)。例如,要判断读寄存器是否非空(RXNE位),操作库函数的方法如下:
而判断发送是否完成(TC位)的操作库函数方法如下:
7.NVIC初始化与中断使能
当需要采用串口中断方式运行时,还应进行中断配置与使能,通过调用函数NVIC_Init来设置,关键代码如下:
同时,还需要使能相应中断,使能串口中断的函数定义如下:
该函数的第2个入口参数用于标志使能串口的类型,即使能哪种中断。例如,在接收数据的时候(RXNE位,读数据寄存器非空)要产生中断,那么开启中断的代码如下:
如果在发送数据结束的时候(TC位,发送完成)产生中断,那么开启中断的代码如下:
8.判断相应中断状态
在使能某中断后,当该中断发生时,会设置状态寄存器中的某个标志位。在中断处理函数中,常常要判断其是哪种中断,使用的函数定义如下:
例如,使能串口发送完成中断,那么当中断发生时,可以在中断处理函数中调用这个函数来判断是否是串口发送完成中断,方法如下:
当返回值为SET时,说明串口发送完成中断发生。
9.中断服务函数说明
当发生中断的时候,程序就会执行中断服务函数,根据设计需要将代码编写在该函数中即可。串口1中断服务函数如下:
以上即为STM32F4处理器的串口基本配置内容。关于串口更详细的介绍,请参考《STM32F4××中文参考手册》。
相关文章
在现场总线领域中最常用的通信模式有两种:一种是传统的源/目的(点对点)模式,另一种是新型的生产者/消费者模式。当前广泛使用的现场总线中,采用生产者/消费者通信模式的主要有FF、DeviceNet、ControlNet和EtherNet/IP等。......
2025-09-30
当人们通过电话进行语音通信时,发话人讲话时的声带振动激励空气产生振动发出声波,声波作用于送话器引起电流变化,产生语音信号。振铃模块由音调振铃电路、压电陶瓷振铃器或扬声器组成,其作用是在待机状态下检测电话线上的信号状态,当收到从电话交换机送来的振铃信号时,驱动压电陶瓷振铃器或扬声器发出振铃提示音。......
2025-09-29
用于复合材料结构上的紧固件必须解决四大问题,电位腐蚀、容易被“卡死”、安装损伤和拉脱强度低。为此,在复合材料结构上,通常采用与之电位相近的钛合金紧固件。因此,在铆接复合材料结构时,应尽量采用压铆,不宜采用锤铆,更不宜用大功率铆枪进行铆接。钛合金环槽钉的环帽为了防止被拉脱也采用了大底脚。特别是对较薄的复合材料结构,采用130°剪切型沉头比100°剪切型沉头所承受的载荷大30%。......
2025-09-29
而且,微波通信具有良好的抗灾性能,对水灾、风灾以及地震等自然灾害,微波通信一般都不受影响。例如,葛沪数字微波通信线路,整个干线设立了38个微波站。2.数字信号微波传输的主要特点数字微波通信既具有数字通信的特点,又具有上述微波通信的特点。由于传输的是数字信号,所以数字微波通信系统具有的特点包括:抗干扰能力强,线路噪声不会积累。......
2025-09-29
目前5G的许多应用还处在理论阶段,但部分应用已经落地。5G驱动的智能传感器将在道路空无一人时调暗路灯,实时提供公共交通的时间表,帮助司机快速找到可用停车位,并全天候监控建筑物的结构完整性。5G的优势包括低延迟、高速移动、高数据传输速度、高容量等,庞大的数据量需要超高速率、超低时延的传输,当前的通信系统不能满足处理其中所需的超高带宽和高可靠性要求,这恰恰是 5G 大显身手的地方。......
2025-09-30
式可由工业年新水量与工业增加值系列的历史资料,通过回归计算求得。因此,在产品数量不变的情况下,若其他条件相同,工业新水量应该是基本不变的。......
2025-09-29
图9.38相干光通信系统原理图当差频为零时,称为零差接收。在相干光通信系统中,经相干混合后输出光电流的大小与信号光功率和本振光功率的乘积成正比。偏振控制技术相干光通信系统接收端必须要求信号光和本振光的偏振同偏,才能取得良好的混频效果,提高接收灵敏度。......
2025-09-29
表12-1 串口通信模块以及相关产品的技术指标(续)当用户要实现MODBUS或Data Highway通信时,需要在CP341/CP441-2模块上插入相应协议的硬件狗后,CP模板才能够支持MODBUS或Data Highway协议,CP441-2使用同样的硬件狗,这里我们所提到的硬件狗、Dongle、协议驱动或Loadable driver指的是同一个东西,如图12-1所示。图12-1 硬件狗一般来讲,RS232的通信最大距离为15m,20mA TTY的通信最大距离为100m、1000m,RS-422/485的通信最大距离位1200m。......
2025-09-29
相关推荐