网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

【S32K 进阶之旅】 LPUART 模块的例程解读

时间:2023-04-06 16:43

人气:

作者:admin

标签: LPUART  S32k144  汽车电子  NXP 

导读:为了帮助新手快速的入门 LPUART 模块,本文将逐句解析例程 LPUART_s32k144,例程的导入方式及演示效果请参考我的上篇博文...

上篇【S32K 进阶之旅】系列博文介绍了 S32K 中的 LPUART 模块,并以 S32DS 开发环境中自带的例程 LPUART_s32k144 为例,使用 S32K144-EVB 评估板烧录进行了演示。为了帮助新手快速的入门 LPUART 模块,本文将逐句解析例程 LPUART_s32k144

一、 串口初始化:void LPUART_init(void)

1. 开启时钟


初始化确保时钟关闭。

查询 S32K144 参考手册,设置 LPUART 时钟源为 SOSCDIV2_CLK(0b001),并使能时钟。


2. LPUART1->BAUD:LPUART波特率寄存器

用于配置串口波特率。




下图为 32 位寄存器 BAUD 的图表:

LPUART BAUD寄存器

通过查询 LPUART BAUD 寄存器位功能可知:波特率=baud clock / ((OSR+1) * SBR)。baud clock为 SOSCDIV2_CLK= 8 MHz,OSR 默认值为F=15,则可以算出波特率为 9600 时,SBR的值约为 52,即 0x34。不使用BAUD寄存器的其他功能,则给 BAUD 寄存器赋值0x0F000034。


3. LPUART->CTRL:LPUART 控制寄存器

控制 LPUART 系统的多种可选特性,只有在发送器和接收器被禁止时才可以更改。



根据下图32 位寄存器 CTRL 的图表可知:TE=1,RE=1(0x000C0000)


LPUART CTRL寄存器

查寄存器字段知:设置收发使能,8-bit数据位,1-bit停止位,无校验位,不使用中断功能。

二、 功能函数

1. 发送单字符:void LPUART1_transmit_char(char send)

下图为 32 位寄存器 STAT 的图表:


LPUART STAT寄存器

已知:LPUART_STAT_TDRE_MASK=0x800000u,LPUART_STAT_TDRE_SHIFT=23u

函数功能:在发送器缓冲器空的时候,将 send 代表的数据放入 LPUART->DATA 中发送。


2. 字符串发送函数:void LPUART1_transmit_string(char data_string[])

函数功能:通过循环调用 LPUART1_transmit_char函数发送单个字符直到检测到字符串结尾‘\0’,来实现发送字符串的功能。

3. 单字符接收函数:char LPUART1_receive_char(void)

已知:LPUART_STAT_RDRF_MASK=0x200000u;LPUART_STAT_RDRF_SHIFT=21u。

函数功能:等待接收器缓冲器满的时候,读取 LPUART->DATA 的数据赋值给 receive,并返回 receive 的值。



3. 单字符接收并回传函数:void LPUART1_receive_and_echo_char(void)

函数功能:使用 LPUART1_receive_char 函数接收 send代表的字符,并通过LPUART1_transmit_char 函数重新发送。

注: “\r”是回车,“\n”是换行, Windows 系统中每行结尾应按 <回车><换行>的顺序,即 “\r\n”。需要将例程中所有的“\n\r”改为“\r\n”,否则串口工具显示输出字符串将不会换行,出现错误格式。

三、 初始化引脚:void PORT_init (void)


函数功能:使能 PORTC 时钟,配置引脚复用 PTC6为接收引脚,PTC7 为发送引脚。

注:各引脚功能具体查询 S32K144 参考手册。

ALT1

ALT2

ALT3

ALT4

ALT5

ALT6

PTC7

LPUART1_TX

CAN1_TX

FTM3_CH3

FTM1_QD_PHA

PTC6

LPUART1_RX

CAN1_RX

FTM3_CH2

FTM1_QD_PHB

四、 主循环:

函数功能:发送一个输入提示字符‘>’,等待主机回传,并将收到的字符再次回传。

五、 参考文档

[1] S32K144 Reference Manual.pdf,NXP

[2] S32K1xx Series Cookbook.pdf,NXP

[3] S32K1xx Series Reference Manual.pdf,NXP

[4] S32K144_IO_Signal_Description_Input_Multiplexing,NXP

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信