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

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

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

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

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

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

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

1. 配置引腳復(fù)用:

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

```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設(shè)備:

接下來,需要初始化UART設(shè)備以便進(jìn)行后續(xù)的通信操作。RT-Thread提供了通用串口驅(qū)動(dòng)(UART),可以用于各種UART設(shè)備的初始化和操作。可以使用RT-Thread的UART設(shè)備驅(qū)動(dòng)來初始化UART設(shè)備,示例代碼如下:

```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;

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

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

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

return RT_EOK;
}
```

3. 發(fā)送和接收數(shù)據(jù):

UART設(shè)備初始化完成后,可以通過rt_device_write和rt_device_read函數(shù)向UART設(shè)備發(fā)送和接收數(shù)據(jù)。

```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)
{
/* 設(shè)備未找到處理 */
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)
{
/* 設(shè)備未找到處理 */
return -RT_ENOSYS;
}

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

4. 綁定設(shè)備:

最后,需要將UART設(shè)備綁定到相應(yīng)的RT-Thread設(shè)備節(jié)點(diǎn)上,以便其他模塊可以通過操作設(shè)備節(jié)點(diǎn)來使用UART設(shè)備??梢允褂肦T-Thread的device命令來進(jìn)行綁定操作,示例代碼如下:

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

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

聲明:本文內(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)投訴
  • RTT
    RTT
    +關(guān)注

    關(guān)注

    0

    文章

    65

    瀏覽量

    17058
  • UART接口
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    15254
  • MCU芯片
    +關(guān)注

    關(guān)注

    3

    文章

    246

    瀏覽量

    11355
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎么配置把U0RXD和U0TXD當(dāng)作GPIO口使用?

    怎么配置把U0RXD和U0TXD當(dāng)作GPIO口使用 用 PIN_FUNC_SELECT和gpio_output_set配置沒有效果
    發(fā)表于 07-22 06:56

    如何使用SPI或UART連接兩個(gè)ESP模塊?

    UART0 有兩個(gè) RXD/TXD 引腳,而 UART1 只有 TXD,因此我們需要將 SPI 用于另一個(gè)模塊。我移植 spi.c lib
    發(fā)表于 07-19 16:08

    請(qǐng)問esp8266如何布置UART0/UART1引腳和功能?

    FUNC : 引腳名稱 U0TXD -->U0TXD U0RXD -->U0RXD U0CTS -->MTCK U0RTS
    發(fā)表于 07-17 08:33

    ESP8266接ZigBee模塊后,模塊下載程序及正常工作的疑問求解

    我想使用ESP8266與ZigBee模塊,他們之間是使用串口通信的。 8266 ZigBee TXD ------RXD RXD ------TXD 如果這樣接的話,那下載程序的時(shí)候8
    發(fā)表于 07-12 11:21

    ESP8266如何將uart0的txdrxd交換到其他引腳?

    對(duì)此敏感的應(yīng)用,可以使用 UART 的內(nèi)部引腳交換功能,在初始化的時(shí)候,將 U0TXD、U0RXD 分 別與 U0RTS(MTDO),U0CTS(MTCK) 交換,間接屏蔽上電時(shí)期的打印輸出。 根據(jù)
    發(fā)表于 07-08 07:56

    靈活配置通訊參數(shù),實(shí)現(xiàn)1擴(kuò)4的UART接口擴(kuò)展,EU104等你來體驗(yàn)

    UART接口
    穩(wěn)控自動(dòng)化
    發(fā)布于 :2024年07月01日 09:24:47

    ESP32C3可以配置其它gpio作為下載程序的串口嗎?

    突然發(fā)現(xiàn)我設(shè)計(jì)的板子把uart1和uart0接反了,我本來是想用自定位的gpio做uart1與我的傳感器通訊,默認(rèn)的RXD0和TXD0(gp
    發(fā)表于 06-20 06:13

    RA UART實(shí)現(xiàn)串口波特率自適應(yīng)

    演示的例程采用EK-RA2E1評(píng)估板,UART1 (P401, P402) 分別配置TXD1 & RXD1。程序啟動(dòng)后,首先將RXD1腳切
    發(fā)表于 06-07 15:25 ?1564次閱讀
    RA <b class='flag-5'>UART</b>實(shí)現(xiàn)串口波特率自適應(yīng)

    CY7C65213的RXDTXD引腳復(fù)位狀態(tài)的邏輯是什么?

    CY7C65213 的 RXDTXD 引腳復(fù)位狀態(tài)的邏輯是什么? 是三態(tài)(Hi-Z)嗎?
    發(fā)表于 06-03 06:51

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

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

    STM32F302的PB8作為UART3的RXD連接串口模塊遇到的問題求解

    STM32F302的PB8作為UART3的RXD連接串口模塊?,F(xiàn)在問題是: 1、DEBUG模式下,UART3能正常接收。 2、正常運(yùn)行模式下,UART3無法接收。 3、上電后手動(dòng)復(fù)位,
    發(fā)表于 04-02 07:04

    MAX78000進(jìn)串口通信的驗(yàn)證和調(diào)試

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

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

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

    想從電腦下載程序到ADuc845,是不是只需要RXD、TXD兩個(gè)引腳就夠了?

    麻煩問一下: 1、如果想從電腦下載程序到芯片內(nèi),是不是只需要RXD、TXD兩個(gè)引腳就夠了? 2、不想把下載程序的電路放到目標(biāo)板上,想單獨(dú)做一個(gè)板子,通過電腦上的USB口進(jìn)行下載。中間需要芯片
    發(fā)表于 01-12 06:03

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

    GND指地線,是用于連接電路中各個(gè)地點(diǎn)的參考點(diǎn),通常用作零電位的引用點(diǎn)。 VIN指輸入電壓,是指被輸入到電路或設(shè)備中的電壓信號(hào)。 TXD是發(fā)送數(shù)據(jù)線,是指從發(fā)送器發(fā)送數(shù)據(jù)到接收器的數(shù)據(jù)傳輸線路。 RXD是接收數(shù)據(jù)線,是指接收器接收數(shù)據(jù)的數(shù)據(jù)傳輸線路。 審核編輯 黃宇
    的頭像 發(fā)表于 01-03 16:11 ?5345次閱讀