衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【S32K 進階之旅】 LPUART 模塊的例程解讀

大大通 ? 2023-04-06 16:43 ? 次閱讀

上篇【S32K 進階之旅】系列博文介紹了 S32K 中的 LPUART 模塊,并以 S32DS 開發(fā)環(huán)境中自帶的例程 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 系統(tǒng)的多種可選特性,只有在發(fā)送器和接收器被禁止時才可以更改。



根據(jù)下圖32 位寄存器 CTRL 的圖表可知:TE=1,RE=1(0x000C0000)


LPUART CTRL寄存器

查寄存器字段知:設置收發(fā)使能,8-bit數(shù)據(jù)位,1-bit停止位,無校驗位,不使用中斷功能。

二、 功能函數(shù)

1. 發(fā)送單字符:void LPUART1_transmit_char(char send)

下圖為 32 位寄存器 STAT 的圖表:


LPUART STAT寄存器

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

函數(shù)功能:在發(fā)送器緩沖器空的時候,將 send 代表的數(shù)據(jù)放入 LPUART->DATA 中發(fā)送。


2. 字符串發(fā)送函數(shù):void LPUART1_transmit_string(char data_string[])

函數(shù)功能:通過循環(huán)調用 LPUART1_transmit_char函數(shù)發(fā)送單個字符直到檢測到字符串結尾‘\0’,來實現(xiàn)發(fā)送字符串的功能。

3. 單字符接收函數(shù):char LPUART1_receive_char(void)

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

函數(shù)功能:等待接收器緩沖器滿的時候,讀取 LPUART->DATA 的數(shù)據(jù)賦值給 receive,并返回 receive 的值。



3. 單字符接收并回傳函數(shù):void LPUART1_receive_and_echo_char(void)

函數(shù)功能:使用 LPUART1_receive_char 函數(shù)接收 send代表的字符,并通過LPUART1_transmit_char 函數(shù)重新發(fā)送。

注: “\r”是回車,“\n”是換行, Windows 系統(tǒng)中每行結尾應按 <回車><換行>的順序,即 “\r\n”。需要將例程中所有的“\n\r”改為“\r\n”,否則串口工具顯示輸出字符串將不會換行,出現(xiàn)錯誤格式。

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


函數(shù)功能:使能 PORTC 時鐘,配置引腳復用 PTC6為接收引腳,PTC7 為發(fā)送引腳。

注:各引腳功能具體查詢 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

四、 主循環(huán):

函數(shù)功能:發(fā)送一個輸入提示字符‘>’,等待主機回傳,并將收到的字符再次回傳。

五、 參考文檔

[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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NXP
    NXP
    +關注

    關注

    60

    文章

    1290

    瀏覽量

    185498
  • 汽車電子
    +關注

    關注

    3029

    文章

    8023

    瀏覽量

    167818
  • S32k144
    +關注

    關注

    1

    文章

    9

    瀏覽量

    1933
收藏 人收藏

    評論

    相關推薦

    S32K3xx參考手冊

    NXP單片機 S32K3xx系列完整版技術手冊,手冊PDF文檔包含IO MUX等附件
    發(fā)表于 12-30 16:12 ?0次下載

    S32K3xxICU應用筆記

    S32K3xxICU應用筆記
    發(fā)表于 12-30 15:38 ?0次下載

    如何如何集成MCAL到S32DS_S32K344

    集成MCAL到S32DS_S32K344
    發(fā)表于 12-30 15:35 ?0次下載

    TAx5x12EVM-K評估模塊

    電子發(fā)燒友網(wǎng)站提供《TAx5x12EVM-K評估模塊.pdf》資料免費下載
    發(fā)表于 12-06 16:06 ?0次下載
    TAx5x12EVM-<b class='flag-5'>K</b>評估<b class='flag-5'>模塊</b>

    BOOSTXL-K350QVG-S1 QVGA顯示BoosterPack?插件模塊用戶指南

    電子發(fā)燒友網(wǎng)站提供《BOOSTXL-K350QVG-S1 QVGA顯示BoosterPack?插件模塊用戶指南.pdf》資料免費下載
    發(fā)表于 12-05 14:45 ?0次下載
    BOOSTXL-<b class='flag-5'>K350QVG-S</b>1 QVGA顯示BoosterPack?插件<b class='flag-5'>模塊</b>用戶指南

    智能家居之旅(15):HA傳感器采集主板低功耗設計的遭遇

    智能家居之旅(1):了解HomeAssistant 智能家居之旅(2):設備接入HomeAssistant的方法 智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 實現(xiàn)點燈
    的頭像 發(fā)表于 09-05 10:27 ?437次閱讀
    智能家居<b class='flag-5'>之旅</b>(15):HA傳感器采集主板低功耗設計的遭遇

    解讀表面貼裝型晶體濾波器:DSF633S 2POLE 與 DSF633S 4POLE

    解讀表面貼裝型晶體濾波器:DSF633S 2POLE 與 DSF633S 4POLE
    的頭像 發(fā)表于 07-31 14:21 ?442次閱讀
    <b class='flag-5'>解讀</b>表面貼裝型晶體濾波器:DSF633<b class='flag-5'>S</b> 2POLE 與 DSF633<b class='flag-5'>S</b> 4POLE

    快來圍觀:S32K344 VCU項目開發(fā)隨筆~

    二、引腳配置此實例選擇串口13進行配置:三、外設配置添加外設:配置串口信息1:配置串口信息2(回調函數(shù)):中斷外設配置:配置完畢后更新代碼。四、部分代碼展示/***@briefUART_13回調函數(shù)**該函數(shù)作為LPUART_13的中
    的頭像 發(fā)表于 07-26 08:11 ?508次閱讀
    快來圍觀:<b class='flag-5'>S32K</b>344 VCU項目開發(fā)隨筆~

    基于S32K3的ECU參考設計集成電池管理方案

    S32K396/376 BMS-EVB板現(xiàn)已供貨,同時S32K39 / 37 / 36系列芯片將于今年6月正式上市。相關的集中式電芯監(jiān)控參考設計板也已上市。
    發(fā)表于 04-26 10:59 ?547次閱讀

    STM32G031J6的LPUART發(fā)送導致系統(tǒng)復位怎么解決?

    單片機型號是G031J6MX,其中LPUART是單發(fā)送模式。發(fā)現(xiàn)LP串口一發(fā)送數(shù)據(jù),系統(tǒng)就重啟,因為LPUART的這個引腳和NRST是同一個引腳,還是懷疑自己配置的問題,請朋友們來幫忙看看有個可能是什么原因
    發(fā)表于 04-15 06:41

    stm32L072芯片LPUART1接收發(fā)送失敗的原因?怎么解決?

    使用stm32擴展庫開發(fā)L072系列時發(fā)現(xiàn),初始化LPUART1后,所得到得波特率與電腦實際接受不符,且只有波特率在9600以上,串口才不會進入溢出中斷。但接受數(shù)據(jù)仍然不對,初始化如下: void
    發(fā)表于 04-09 07:46

    關于STM32L051C8T6芯片LPUART+DMA接收問題求解

    STM32L051C8T6芯片低功耗串口LPUART+DMA。 我用STM32CUBEMX 生成了程序LPUART以及UART2串口+DMA的程序。 重新寫了RxCpltCall函數(shù)里面有回顯功能
    發(fā)表于 03-28 07:05

    請問STM32G473VET6的LPUART1能和USART1能同時使用嗎?

    STM32G473VET6的LPUART1能和USART1能同時使用嗎?
    發(fā)表于 03-22 07:00

    RK3568驅動指南|驅動基礎進階篇-進階5 自定義實現(xiàn)insmod命令實驗

    RK3568驅動指南|驅動基礎進階篇-進階5 自定義實現(xiàn)insmod命令實驗
    的頭像 發(fā)表于 02-20 14:10 ?780次閱讀
    RK3568驅動指南|驅動基礎<b class='flag-5'>進階</b>篇-<b class='flag-5'>進階</b>5 自定義實現(xiàn)insmod命令實驗

    基于 NXP S32K311 評估板的方案

    該方案是以 NXP S32K311 芯片為主控制器的評估板方案,S32K311 是基于 ARM Cortex-M7 的嵌入式應用微控制器,有 64 KB 的 Dflash、1 MB 的 Pflash
    的頭像 發(fā)表于 02-18 11:22 ?969次閱讀
    基于 NXP <b class='flag-5'>S32K</b>311 評估板的方案
    洛克百家乐的玩法技巧和规则 | 博彩导航| 赌博技术| 百家乐官网娱乐城有几家| 哈尔滨百家乐官网赌场| 金盾百家乐官网网址| 天玉经24山水法| 樱桃木百家乐桌| 永利高倒闭| 威尼斯人娱乐城投注网| 利来国际娱乐| 大发888赌博违法吗| 敦煌市| 百家乐官网庄闲排| 百家乐轮盘桌| 大发888网页版体育| 广东省| 闲和庄百家乐官网的玩法技巧和规则 | 百家乐官网平台网| 百家乐官网平台| 长赢百家乐赌徒| 宜良县| 米其林百家乐官网的玩法技巧和规则| 百家乐2号破解下载| 百家乐最大的赌局| 一起pk棋牌游戏下载| 澳门1百家乐官网网| 澳门百家乐真人斗地主| 尚品棋牌注册| 百家乐官网平投注法| 太阳城百家乐试玩优惠| 大发888娱乐场下载 制度| 新安县| 百家乐的如何玩| 大发888娱乐游戏下载| 永利高百家乐官网怎样开户| 百家乐的玩法视频| 998棋牌游戏下载| 炎陵县| 百家乐官网德州| 36棋牌的深海捕鱼|