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

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

3天內不再提示

RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢?

工程師鄧生 ? 來源:未知 ? 作者:劉芹 ? 2024-01-16 17:11 ? 次閱讀

RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢?

RT-Thread的RTT_Draco是一款高性能的MCU芯片,它提供了外置UART接口(TXD,RXD)用于與外部設備進行通信。下面詳細介紹了RTT_Draco外置UART接口的配置和使用方法。

1. 配置引腳復用:

首先,在使用RTT_Draco的外置UART接口之前,需要確保引腳復用已經正確配置。RTT_Draco的引腳復用功能由引腳復用控制器Pin Multiplexer)負責??梢允褂肦T-Thread的pinmux命令進行引腳復用配置,具體操作如下:

```shell
# 配置TXD引腳
>> pinmux set PA0 1
# 配置RXD引腳
>> pinmux set PA1 1
# 配置UART功能
>> pinmux set-func PA0 uart0_txd
>> pinmux set-func PA1 uart0_rxd
```

2. 初始化UART設備:

接下來,需要初始化UART設備以便進行后續的通信操作。RT-Thread提供了通用串口驅動(UART),可以用于各種UART設備的初始化和操作??梢允褂肦T-Thread的UART設備驅動來初始化UART設備,示例代碼如下:

```c
#include
#include

static struct rt_serial_device uart;

int uart_init(void)
{
rt_err_t result;
struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT;

/* 初始化串口設備對象 */
rt_serial_init(&uart, "uart1",
&uart_ops, NULL);

/* 配置串口設備參數 */
config.baud_rate = BAUD_RATE_115200;
config.data_bits = DATA_BITS_8;
config.stop_bits = STOP_BITS_1;
config.parity = PARITY_NONE;

/* 打開并配置串口設備 */
result = rt_serial_configure(&uart, &config);
if (result != RT_EOK)
{
/* 初始化失敗處理 */
}

return RT_EOK;
}
```

3. 發送和接收數據:

UART設備初始化完成后,可以通過rt_device_write和rt_device_read函數向UART設備發送和接收數據。

```c
#define UART_DEVICE_NAME "uart1"

void uart_send(const void *data, rt_size_t count)
{
struct rt_device *device = rt_device_find(UART_DEVICE_NAME);
if (device == RT_NULL)
{
/* 設備未找到處理 */
return;
}

rt_device_write(device, 0, data, count);
}

rt_err_t uart_receive(void *buffer, rt_size_t size)
{
struct rt_device *device = rt_device_find(UART_DEVICE_NAME);
if (device == RT_NULL)
{
/* 設備未找到處理 */
return -RT_ENOSYS;
}

return rt_device_read(device, 0, buffer, size);
}
```

4. 綁定設備:

最后,需要將UART設備綁定到相應的RT-Thread設備節點上,以便其他模塊可以通過操作設備節點來使用UART設備??梢允褂肦T-Thread的device命令來進行綁定操作,示例代碼如下:

```shell
>> device bind uart1 uart
```

以上就是RTT_Draco外置UART接口(TXD,RXD)的配置和使用方法。通過上述步驟,您可以在RTT_Draco上成功使用外置UART接口與外部設備進行通信。

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

    關注

    0

    文章

    64

    瀏覽量

    16913
  • UART接口
    +關注

    關注

    0

    文章

    124

    瀏覽量

    15088
  • MCU芯片
    +關注

    關注

    3

    文章

    236

    瀏覽量

    11168
收藏 人收藏

    評論

    相關推薦

    ADuC845來畫PCB的話,需要引出來哪幾個腳來燒錄?TXDRXD嗎?

    我需要買什么下載器來下載嗎?如果我使用這個芯片來畫PCB的話,需要引出來哪幾個腳來燒錄?TXDRXD嗎?
    發表于 05-31 06:09

    MAX78000進串口通信的驗證和調試

    2的接收引腳為P1.0?(RXD2)。引腳連接方式:將外部設備的串口接收引腳連接到MAX78000開發板的P1.4?(TXD2)引腳。將外部設備的串口發送引腳連接到MAX78000開發板的P1.5?(RXD2)引腳。通過該工程,
    發表于 02-18 09:43 ?0次下載

    小安派-Cam-D200使用過程中的異常問題

    燒錄的接口該怎么連,固件燒錄的教程中RXDTXD接口沒找到,只有RX和TX,兩者是同一個嗎?
    的頭像 發表于 01-23 11:13 ?307次閱讀
    小安派-Cam-D200使用過程中的異常問題

    GND,VIN,TXD,RXD是什么意思?

    GND指地線,是用于連接電路中各個地點的參考點,通常用作零電位的引用點。 VIN指輸入電壓,是指被輸入到電路或設備中的電壓信號。 TXD是發送數據線,是指從發送器發送數據到接收器的數據傳輸線路。 RXD是接收數據線,是指接收器接收數據的數據傳輸線路。 審核編輯 黃宇
    的頭像 發表于 01-03 16:11 ?3283次閱讀

    RTT RA2L1 MQTT網絡溫濕度采集

    添加uart0,波特率為默認的115200。串口回調函數為默認的user_uart_callbakc,TXD、RXD 為P101、P100,剛好適配PMOD2(J7),來接DA1620
    的頭像 發表于 10-12 11:10 ?302次閱讀
    <b class='flag-5'>RTT</b> RA2L1 MQTT網絡溫濕度采集

    關于M0518串口電平問題求助

    ;gt;ALT_MFP4 = SYS_ALT_MFP4_PA3_UART3_RXD| SYS_ALT_MFP4_PA2_UART3_TXD | SYS_ALT_MFP4_PA1_UART5_RXD
    發表于 08-23 06:59

    關于MINI58 UART在SYS-&gt;P0_MFP中進行配置的問題

    MINI58技術手冊上說UART在SYS->P0_MFP中進行配置 但實際我的配置如下: SYS->P5_MFP = SYS_MFP_P51_UART0_RXD
    發表于 08-23 06:41

    nuc131的uart 5為什么有兩個TXD和兩個RXD?

    nuc131SXXAE,按照官方的說明書,uart 5的 TXD 在Pin 39 和 Pin44(LQFP 64封裝),那我該如何使用這個功能?
    發表于 08-22 08:24

    NUC230的GPIO復用成為UART時,必須去設置不同的IO復用在UART上是為什么?

    for UART0 RXD and TXD */ SYS->GPB_MFP= ~(SYS_GPB_MFP_PB0_Msk | SYS_GPB_MFP_PB1_Msk); SYS->
    發表于 08-21 08:19

    HAL庫UART在cubemx中的配置

    串口1咱們已經用作rtt的print使用了,所以使用另外一組串口來進行串口的教程,這里一定要注意下,alios的這個板子原理圖是有點問題的,標注的是串口3PA2和PA3,實際上小飛哥調了好久,最后萬用表量引腳才發現是原理圖標注錯誤,實際上是UART4,PA0和PA1
    的頭像 發表于 07-05 09:47 ?573次閱讀
    HAL庫<b class='flag-5'>UART</b>在cubemx中的<b class='flag-5'>配置</b>

    關于NUC131LC2AE串口2/3/4/5的使用配置問題求解

    |= SYS_GPB_MFP_PB0_UART0_RXD | SYS_GPB_MFP_PB1_UART0_TXD; //復位串口 SYS_ResetModule(UART
    發表于 06-28 08:03

    NUC230的GPIO復用成為UART時,必須去設置不同的IO復用在UART上嗎?

    for UART0 RXD and TXD */ SYS->GPB_MFP &= ~(SYS_GPB_MFP_PB0_Msk | SYS_GPB_MFP_PB1_Msk
    發表于 06-28 06:09

    請問NM1200 UART1可以使用嗎?

    NM1200 UART1可以使用嗎?官方BSP庫文件里面沒有P14-RXD和P15-TXD的功能配置 只有對Uart1的一些寄存器
    發表于 06-19 08:05

    NUC123SD4A UART1發送資料錯誤是什么原因造成的?

    GPB multi-function pins for UART1 RXD(PB.4) and TXD(PB.5) */ SYS->GPB_MFP &
    發表于 06-13 07:37

    NUC230的GPIO復用成為UART時,必須去設置不同的IO復用在UART上嗎?

    for UART0 RXD and TXD */ SYS->GPB_MFP &= ~(SYS_GPB_MFP_PB0_Msk | SYS_GPB_MFP_PB1_Msk
    發表于 06-13 06:55
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>