RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NXP FRDM-MCXA153 RT-Thread實(shí)踐指南之UART介紹

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 2024-10-18 10:03 ? 次閱讀

近期,我們即將推出一系列關(guān)于MCXA153 RTT的深度文章,這一系列將全面而細(xì)致地探討該系列微控制器的多個(gè)核心功能模塊,旨在為廣大電子愛好者、工程師及研發(fā)人員提供寶貴的技術(shù)資源和見解。首當(dāng)其沖的將是關(guān)于12C、SPI、FLASH、ADC、GPIO以及UART的精彩介紹。

MCXA153 RTT系列作為業(yè)界領(lǐng)先的微控制器產(chǎn)品,其強(qiáng)大的功能和廣泛的應(yīng)用領(lǐng)域一直備受矚目。從高速數(shù)據(jù)傳輸?shù)腟PI接口,到精準(zhǔn)模擬信號(hào)采集的ADC模塊;從靈活多用的GPIO端口,到穩(wěn)定可靠的UART通信協(xié)議,每一個(gè)功能模塊都蘊(yùn)含著豐富的技術(shù)內(nèi)涵和實(shí)用價(jià)值。

我們誠(chéng)邀各位讀者持續(xù)關(guān)注這一系列文章,相信通過我們的深入剖析和實(shí)例演示,您將對(duì)MCXA153 RTT系列微控制器有更全面、更深入的了解,并在實(shí)際工作中受益匪淺。讓我們一同探索MCXA153 RTT的無限可能,共同推動(dòng)電子技術(shù)的發(fā)展與創(chuàng)新!

今天為大家?guī)?a target="_blank">NXP FRDM-MCXA153 RT-Thread實(shí)踐指南1-UART介紹:

前言

本系列文章為根據(jù)RT-Thread官網(wǎng)在線文檔整理整合后發(fā)布的恩智浦FRDM-MCXA153開發(fā)實(shí)踐指南,旨在協(xié)助開發(fā)者快速熟悉掌握FRDM-MCXA153在RT-Thread下的環(huán)境搭建以及驅(qū)動(dòng)程序的使用。本指南將詳細(xì)介紹恩智浦FRDM-MCXA153的開發(fā)實(shí)踐步驟,包括環(huán)境配置、驅(qū)動(dòng)程序的使用等內(nèi)容,希望對(duì)小伙伴有所幫助!

開發(fā)板介紹

FRDM-MCXA153是恩智浦(NXP)推出的一款緊湊且可擴(kuò)展的開發(fā)平臺(tái),專為MCX A14和A15系列MCU的快速原型設(shè)計(jì)而打造。該開發(fā)板提供了豐富的行業(yè)標(biāo)準(zhǔn)接口,便于訪問MCU的I/O、集成的開放標(biāo)準(zhǔn)串行接口以及外部閃存。板載MCU-Link調(diào)試器進(jìn)一步簡(jiǎn)化了開發(fā)流程。

2.1 MCXA153微控制器核心特性

Arm Cortex-M33內(nèi)核

128KB閃存

32kB SRAM

8kB ECC RAM, LPLUART、LPSPI、LPI2C、FS USB、DMALDO

超低功耗設(shè)計(jì),適用于廣泛的應(yīng)用場(chǎng)景

FRDM-MCXA153開發(fā)板外觀

987c09f2-8ce4-11ef-a511-92fbcf53809c.png

2.2 開發(fā)板主要資源:

1. 微控制器

MCXA15x Arm Cortex-M33內(nèi)核

128KB閃存

32kB SRAM

8kB ECC SRAM LPUART、LPSPI、LPI2C、FS USB、DMA和LDO

2.連接性

全速USB端口(Type-C接口,支持主機(jī)/設(shè)備模式)

高速USB Type-C接口

SPI/I2C/UART擴(kuò)展接口(PMOD/mikroBUS、DNP)

Wi-Fi擴(kuò)展接口(PMOD/mikroBUS、DNP)

3.調(diào)試

板載MCU-Link調(diào)試器(支持CMSIS-DAP)

JTAG/SWD接口

4. 傳感器

P3T1755DPJ I3C/I2C溫度傳感器

5. 擴(kuò)展選項(xiàng)

Arduino兼容排針

FRDM標(biāo)準(zhǔn)接口

FlexIO LCD接口

Pmod (DNP)

mikroBUS

RGB用戶LED、復(fù)位、ISP和喚醒按鈕

2.3 MCXA153特色功能:

支持MIPI I3C總線,為傳感器連接提供高效解決方案

深度睡眠模式下可使用LPUART作為喚醒源(需使用FRO16k作為時(shí)鐘源)

支持全速USB功能,可實(shí)現(xiàn)虛擬COM端口等應(yīng)用

2.4 推薦開發(fā)環(huán)境:

MDK-Arm Microcontroller Development Kit (Keil) 5.33或更高版本

更多詳細(xì)信息請(qǐng)參考NXP官方網(wǎng)站

RT-Thread UART實(shí)踐

3.1 實(shí)驗(yàn)?zāi)繕?biāo)

rt-thread中 FRDM-MCXA153默認(rèn)的serial驅(qū)動(dòng)只支持默認(rèn)uart0, 此實(shí)驗(yàn)主要增強(qiáng)串口驅(qū)動(dòng),增加uart2的支持, 并記錄移植過程。

3.2 UART驅(qū)動(dòng)架構(gòu)

988e4734-8ce4-11ef-a511-92fbcf53809c.png

1. IO設(shè)備管理層: 向應(yīng)用層提供統(tǒng)一接口(如rt_device_read、rt_device_write等)

2. 設(shè)備框架層(serial_v2.c):

對(duì)接IO設(shè)備管理層

為驅(qū)動(dòng)層提供統(tǒng)一的UART操作接口(configure、control、putc、getc、transmit等)

3. 驅(qū)動(dòng)層:

實(shí)現(xiàn)rt_hw_serial_register和rt_hw_serial_isr接口(drv_usartv2.c)

實(shí)現(xiàn)struct rt_uart_ops中定義的各種方法(drv_usart.c)

通過rt_hw_serial_register注冊(cè)設(shè)備到系統(tǒng)

3.3 驅(qū)動(dòng)開發(fā)流程

1. 擴(kuò)展struct rt_serial_device

struct mcx_uart
{
struct rt_serial_device *serial;//設(shè)備信息和操作
LPUART_Type *uart_base;//串口句柄
IRQn_Type irqn;//中斷
clock_name_t clock_src;//時(shí)鐘選擇
clock_attach_id_t clock_attach_id;
clock_ip_name_t clock_ip_name;
clock_div_name_t clock_div_name;
char*device_name;
};
2. 配置串口參數(shù)

9899a14c-8ce4-11ef-a511-92fbcf53809c.png

struct serial_configure
{
rt_uint32_t baud_rate; //比特率
rt_uint32_t data_bits :4;//數(shù)據(jù)長(zhǎng)度
rt_uint32_t stop_bits :2;//停止位
rt_uint32_t parity :2;//校驗(yàn)位
rt_uint32_t bit_order :1;//小段發(fā)送
rt_uint32_t invert :1;//模式選擇 正常模式 歸零編碼方式
rt_uint32_t bufsz :16;//buf大小
rt_uint32_t flowcontrol :1;//硬件流控制
rt_uint32_t reserved :5;//保留的位
};

3. 實(shí)現(xiàn)rt_uart_ops接口

struct rt_uart_ops
{
rt_err_t(*configure)(structrt_serial_device*serial,structserial_configure*cfg);
rt_err_t (*control)(struct rt_serial_device *serial, int cmd, void *arg);
int (*putc)(struct rt_serial_device *serial, char c);
int (*getc)(struct rt_serial_device *serial);
rt_ssize_t(*dma_transmit)(structrt_serial_device*serial,rt_uint8_t*buf, rt_size_tsize,intdirection);
};
3.4 關(guān)鍵接口實(shí)現(xiàn)

1. configure: 配置串口基本屬性(波特率等)

2. control: 控制UART設(shè)備

#define RT_DEVICE_CTRL_RESUME 0x01 /**< resume device */
#define RT_DEVICE_CTRL_SUSPEND 0x02 /**< suspend device */
#define RT_DEVICE_CTRL_CONFIG 0x03 /**< configure device */
#define RT_DEVICE_CTRL_CLOSE 0x04 /**< close device */
#define RT_DEVICE_CTRL_NOTIFY_SET 0x05 /**< set notify func */
#define RT_DEVICE_CTRL_SET_INT 0x06 /**< set interrupt */
#define RT_DEVICE_CTRL_CLR_INT 0x07 /**< clear interrupt */
#define RT_DEVICE_CTRL_GET_INT 0x08 /**< get interrupt status */
#define RT_DEVICE_CTRL_CONSOLE_OFLAG 0x09 /**< get console open flag */
#define RT_DEVICE_CTRL_MASK

3.5 putc: 發(fā)送一個(gè)字符

LPUART_WriteByte(uart->uart_base, ch);

3.6 getc: 接收一個(gè)字符

if (kLPUART_RxDataRegFullInterruptEnable & LPUART_GetStatusFlags(uart->uart_base))
{
return LPUART_ReadByte(uart->uart_base);
}
3.7 實(shí)現(xiàn)步驟

1. 在pin_mux.c中初始化引腳

2. 注冊(cè)和使用UART設(shè)備
#define UART2_NAME "uart2"
static rt_device_t uart2_serial;
char str[] = "hello rttread!
";
uart2_serial = rt_device_find(UART2_NAME);
rt_device_open(uart2_serial, RT_DEVICE_FLAG_INT_RX);
rt_device_write(uart2_serial,0,str,(sizeof(str)-1));

結(jié)語

本文詳細(xì)介紹了如何在FRDM-MCXA153開發(fā)板上擴(kuò)展RT-Thread的UART驅(qū)動(dòng)支持。這不僅展示了RTThread優(yōu)秀的可擴(kuò)展性,也為開發(fā)者提供了實(shí)用的UART驅(qū)動(dòng)開發(fā)參考。希望本文能夠幫助更多開發(fā)者在恩智浦MCU平臺(tái)上充分利用RT-Thread的強(qiáng)大功能。

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

    關(guān)注

    48

    文章

    7542

    瀏覽量

    151311
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5857

    瀏覽量

    107305
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5032

    瀏覽量

    97371
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1285

    瀏覽量

    40079
  • MCUs
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    3482

原文標(biāo)題:MCXA153 RTT技術(shù)盛宴來襲,精彩不容錯(cuò)過!

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RT-Thread上CAN實(shí)踐

    開箱測(cè)試RT-Thread官方已完成了對(duì)英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進(jìn)行RT-ThreadCan移植。接下來
    的頭像 發(fā)表于 11-13 01:03 ?1139次閱讀
    <b class='flag-5'>RT-Thread</b>上CAN<b class='flag-5'>實(shí)踐</b>

    恩智浦FRDM-MCXA153 RT-Thread實(shí)踐指南 實(shí)現(xiàn)和優(yōu)化RT-Thread的SPI驅(qū)動(dòng)

    串行外設(shè)接口(SPI)是一種廣泛使用的同步串行通信接口,在嵌入式系統(tǒng)中扮演著重要角色。本文將深入探討如何在NXP MCXA153 MCU上實(shí)現(xiàn)和優(yōu)化RT-Thread的SPI驅(qū)動(dòng),同時(shí)介紹
    的頭像 發(fā)表于 11-14 08:58 ?1087次閱讀
    恩智浦<b class='flag-5'>FRDM-MCXA153</b> <b class='flag-5'>RT-Thread</b><b class='flag-5'>實(shí)踐</b><b class='flag-5'>指南</b> 實(shí)現(xiàn)和優(yōu)化<b class='flag-5'>RT-Thread</b>的SPI驅(qū)動(dòng)

    恩智浦FRDM-MCXA153 RT-Thread開發(fā)實(shí)戰(zhàn)(六):I2C總線開發(fā)與應(yīng)用

    ? 工程創(chuàng)建 目前RT-Thread Studio尚未支持恩智浦FRDM-MCXA153開發(fā)板BSP,需要從gitee下載最新的主線,通過scons命令創(chuàng)建工程。下載好主線源碼后,在
    的頭像 發(fā)表于 11-21 09:26 ?956次閱讀
    恩智浦<b class='flag-5'>FRDM-MCXA153</b> <b class='flag-5'>RT-Thread</b>開發(fā)實(shí)戰(zhàn)(六):I2C總線開發(fā)與應(yīng)用

    RT-Thread記錄(十二、UART設(shè)備—使用測(cè)試)

    UART 設(shè)備開始學(xué)會(huì)使用 RT-Thread I/O 設(shè)備模型
    的頭像 發(fā)表于 07-02 12:42 ?4991次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(十二、<b class='flag-5'>UART</b>設(shè)備—使用測(cè)試)

    FRDM-MCXA153開發(fā)板的開箱體驗(yàn)

    FRDM-MCXA153 以及NXP 的全新logo。這種設(shè)計(jì)比較簡(jiǎn)潔明了,使開發(fā)者一眼便能識(shí)別其核心信息,為開發(fā)人員帶來輕松上手、高效開發(fā)的體驗(yàn)。
    的頭像 發(fā)表于 02-25 09:45 ?1013次閱讀
    <b class='flag-5'>FRDM-MCXA153</b>開發(fā)板的開箱體驗(yàn)

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開發(fā)組(2015-03-31)。RT-Thread做為國(guó)內(nèi)有較大影響力的開源實(shí)時(shí)操作系統(tǒng),本文是RT
    發(fā)表于 11-26 16:06 ?0次下載

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
    發(fā)表于 02-22 18:23 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 潘多拉 STM32L475 上手<b class='flag-5'>指南</b>

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP <b class='flag-5'>介紹</b>與移植

    RT-Thread文檔_UART 設(shè)備

    RT-Thread文檔_UART 設(shè)備
    發(fā)表于 02-22 18:32 ?2次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>UART</b> 設(shè)備

    【上?!?月25日-基于恩智浦MCX N系列MCU結(jié)合RT-Thread的應(yīng)用與實(shí)踐 線下培訓(xùn)

    5月25號(hào),RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結(jié)合RT-Thread的應(yīng)用與實(shí)踐線下培訓(xùn)。我們將為大家?guī)矶髦瞧諱CXN系列MCU的詳細(xì)介紹、精彩Dem
    的頭像 發(fā)表于 05-13 18:19 ?844次閱讀
    【上?!?月25日-基于恩智浦MCX N系列MCU結(jié)合<b class='flag-5'>RT-Thread</b>的應(yīng)用與<b class='flag-5'>實(shí)踐</b> 線下培訓(xùn)

    【本周六-上海】RT-Thread+NXP線下培訓(xùn),快速上手新系列MCU

    5月25號(hào),RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結(jié)合RT-Thread的應(yīng)用與實(shí)踐線下培訓(xùn)。我們將為大家?guī)矶髦瞧諱CXN系列MCU的詳細(xì)介紹、精彩Dem
    的頭像 發(fā)表于 05-22 08:35 ?542次閱讀
    【本周六-上?!?b class='flag-5'>RT-Thread+NXP</b>線下培訓(xùn),快速上手新系列MCU

    NXP FRDM-MCXC444開發(fā)板在RT-Thread環(huán)境下的上手過程

    NXP FRDM-MCXC444開發(fā)板是一款基于MCX C444 MCU的高性能開發(fā)板,它集成了豐富的硬件資源和接口,支持快速原型設(shè)計(jì)。本文將為讀者提供一份詳細(xì)的RT-Thread上手指南
    的頭像 發(fā)表于 10-12 11:51 ?395次閱讀
    <b class='flag-5'>NXP</b> <b class='flag-5'>FRDM</b>-MCXC444開發(fā)板在<b class='flag-5'>RT-Thread</b>環(huán)境下的上手過程

    基于恩智浦FRDM-MCXA153開發(fā)板實(shí)現(xiàn)RT-Thread的GPIO驅(qū)動(dòng)

    隨著嵌入式系統(tǒng)的不斷發(fā)展,高效且易用的實(shí)時(shí)操作系統(tǒng)(RTOS)變得越來越重要。RT-Thread作為一個(gè)開源的物聯(lián)網(wǎng)操作系統(tǒng),以其卓越的性能和豐富的生態(tài)系統(tǒng)贏得了廣泛的認(rèn)可。
    的頭像 發(fā)表于 10-25 10:18 ?320次閱讀
    基于恩智浦<b class='flag-5'>FRDM-MCXA153</b>開發(fā)板實(shí)現(xiàn)<b class='flag-5'>RT-Thread</b>的GPIO驅(qū)動(dòng)

    基于恩智浦FRDM-MCXA153開發(fā)板實(shí)現(xiàn)RT-Thread的ADC驅(qū)動(dòng)

    數(shù)轉(zhuǎn)換器(ADC)是現(xiàn)代嵌入式系統(tǒng)中不可或缺的組件,它能將連續(xù)的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)。本文將深入探討如何在NXPFRDM-MCXA153開發(fā)板上實(shí)現(xiàn)和使用RT-Thread的ADC驅(qū)動(dòng),為開發(fā)者提供一個(gè)全面而實(shí)用的
    的頭像 發(fā)表于 11-01 12:29 ?319次閱讀
    基于恩智浦<b class='flag-5'>FRDM-MCXA153</b>開發(fā)板實(shí)現(xiàn)<b class='flag-5'>RT-Thread</b>的ADC驅(qū)動(dòng)

    基于NXP MCXA153 MCU實(shí)現(xiàn)RT-Thread的MTD NOR Flash驅(qū)動(dòng)

    在嵌入式系統(tǒng)中,片上Flash存儲(chǔ)器是一個(gè)關(guān)鍵組件,用于存儲(chǔ)程序代碼和關(guān)鍵數(shù)據(jù)。本文將詳細(xì)介紹如何在NXPMCXA153 MCU上實(shí)現(xiàn)RT-Thread的MTD (Memory Technology Device) NOR Fl
    的頭像 發(fā)表于 11-09 14:00 ?433次閱讀
    基于<b class='flag-5'>NXP</b> <b class='flag-5'>MCXA153</b> MCU實(shí)現(xiàn)<b class='flag-5'>RT-Thread</b>的MTD NOR Flash驅(qū)動(dòng)
    RM新时代网站-首页