精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

NXP FRDM-MCXA153 RT-Thread實踐指南之UART介紹

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

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

MCXA153 RTT系列作為業界領先的微控制器產品,其強大的功能和廣泛的應用領域一直備受矚目。從高速數據傳輸的SPI接口,到精準模擬信號采集的ADC模塊;從靈活多用的GPIO端口,到穩定可靠的UART通信協議,每一個功能模塊都蘊含著豐富的技術內涵和實用價值。

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

今天為大家帶來NXP FRDM-MCXA153 RT-Thread實踐指南1-UART介紹:

前言

本系列文章為根據RT-Thread官網在線文檔整理整合后發布的恩智浦FRDM-MCXA153開發實踐指南,旨在協助開發者快速熟悉掌握FRDM-MCXA153在RT-Thread下的環境搭建以及驅動程序的使用。本指南將詳細介紹恩智浦FRDM-MCXA153的開發實踐步驟,包括環境配置、驅動程序的使用等內容,希望對小伙伴有所幫助!

開發板介紹

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

2.1 MCXA153微控制器核心特性

Arm Cortex-M33內核

128KB閃存

32kB SRAM

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

超低功耗設計,適用于廣泛的應用場景

FRDM-MCXA153開發板外觀

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

2.2 開發板主要資源:

1. 微控制器

MCXA15x Arm Cortex-M33內核

128KB閃存

32kB SRAM

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

2.連接性

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

高速USB Type-C接口

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

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

3.調試

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

JTAG/SWD接口

4. 傳感器

P3T1755DPJ I3C/I2C溫度傳感器

5. 擴展選項

Arduino兼容排針

FRDM標準接口

FlexIO LCD接口

Pmod (DNP)

mikroBUS

RGB用戶LED、復位、ISP和喚醒按鈕

2.3 MCXA153特色功能:

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

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

支持全速USB功能,可實現虛擬COM端口等應用

2.4 推薦開發環境:

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

更多詳細信息請參考NXP官方網站

RT-Thread UART實踐

3.1 實驗目標

rt-thread中 FRDM-MCXA153默認的serial驅動只支持默認uart0, 此實驗主要增強串口驅動,增加uart2的支持, 并記錄移植過程。

3.2 UART驅動架構

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

1. IO設備管理層: 向應用層提供統一接口(如rt_device_read、rt_device_write等)

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

對接IO設備管理層

為驅動層提供統一的UART操作接口(configure、control、putc、getc、transmit等)

3. 驅動層:

實現rt_hw_serial_register和rt_hw_serial_isr接口(drv_usartv2.c)

實現struct rt_uart_ops中定義的各種方法(drv_usart.c)

通過rt_hw_serial_register注冊設備到系統

3.3 驅動開發流程

1. 擴展struct rt_serial_device

struct mcx_uart
{
struct rt_serial_device *serial;//設備信息和操作
LPUART_Type *uart_base;//串口句柄
IRQn_Type irqn;//中斷
clock_name_t clock_src;//時鐘選擇
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. 配置串口參數

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

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

3. 實現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 關鍵接口實現

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

2. control: 控制UART設備

#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: 發送一個字符

LPUART_WriteByte(uart->uart_base, ch);

3.6 getc: 接收一個字符

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

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

2. 注冊和使用UART設備
#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));

結語

本文詳細介紹了如何在FRDM-MCXA153開發板上擴展RT-Thread的UART驅動支持。這不僅展示了RTThread優秀的可擴展性,也為開發者提供了實用的UART驅動開發參考。希望本文能夠幫助更多開發者在恩智浦MCU平臺上充分利用RT-Thread的強大功能。

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

    關注

    48

    文章

    7496

    瀏覽量

    151083
  • 恩智浦
    +關注

    關注

    14

    文章

    5830

    瀏覽量

    106746
  • 開發板
    +關注

    關注

    25

    文章

    4959

    瀏覽量

    97213
  • RT-Thread
    +關注

    關注

    31

    文章

    1274

    瀏覽量

    39940
  • MCUs
    +關注

    關注

    0

    文章

    59

    瀏覽量

    3472

原文標題:MCXA153 RTT技術盛宴來襲,精彩不容錯過!

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RT-Thread上CAN實踐

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

    恩智浦FRDM-MCXA153 RT-Thread實踐指南 實現和優化RT-Thread的SPI驅動

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

    恩智浦FRDM-MCXA153 RT-Thread開發實戰(六):I2C總線開發與應用

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

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

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

    FRDM-MCXA153開發板的開箱體驗

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

    RT-Thread編程指南

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

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

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
    發表于 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 介紹與移植
    發表于 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 設備

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

    【上?!?月25日-基于恩智浦MCX N系列MCU結合RT-Thread的應用與實踐 線下培訓

    5月25號,RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結合RT-Thread的應用與實踐線下培訓。我們將為大家帶來恩智浦MCXN系列MCU的詳細介紹、精彩Dem
    的頭像 發表于 05-13 18:19 ?741次閱讀
    【上?!?月25日-基于恩智浦MCX N系列MCU結合<b class='flag-5'>RT-Thread</b>的應用與<b class='flag-5'>實踐</b> 線下培訓

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

    5月25號,RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結合RT-Thread的應用與實踐線下培訓。我們將為大家帶來恩智浦MCXN系列MCU的詳細介紹、精彩Dem
    的頭像 發表于 05-22 08:35 ?498次閱讀
    【本周六-上海】<b class='flag-5'>RT-Thread+NXP</b>線下培訓,快速上手新系列MCU

    NXP FRDM-MCXC444開發板在RT-Thread環境下的上手過程

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

    基于恩智浦FRDM-MCXA153開發板實現RT-Thread的GPIO驅動

    隨著嵌入式系統的不斷發展,高效且易用的實時操作系統(RTOS)變得越來越重要。RT-Thread作為一個開源的物聯網操作系統,以其卓越的性能和豐富的生態系統贏得了廣泛的認可。
    的頭像 發表于 10-25 10:18 ?249次閱讀
    基于恩智浦<b class='flag-5'>FRDM-MCXA153</b>開發板實現<b class='flag-5'>RT-Thread</b>的GPIO驅動

    基于恩智浦FRDM-MCXA153開發板實現RT-Thread的ADC驅動

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

    基于NXP MCXA153 MCU實現RT-Thread的MTD NOR Flash驅動

    在嵌入式系統中,片上Flash存儲器是一個關鍵組件,用于存儲程序代碼和關鍵數據。本文將詳細介紹如何在NXPMCXA153 MCU上實現RT-Thread的MTD (Memory Technology Device) NOR Fl
    的頭像 發表于 11-09 14:00 ?318次閱讀
    基于<b class='flag-5'>NXP</b> <b class='flag-5'>MCXA153</b> MCU實現<b class='flag-5'>RT-Thread</b>的MTD NOR Flash驅動