0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

微雪电子AIO-3128C主板UART使用介绍

firefly 来源:微雪电子 作者:微雪电子 2019-12-23 16:10 次阅读

UART 使用

板载资源介绍

AIO-3128C 开发板内置 3 路 UART,分别为 uart0,uart1,uart2。

uart0 用于蓝牙数据传输,如果要使用 uart0,必须关掉蓝牙,才可以使用扩展槽上的 UART0 针脚。

uart1, 因为存在以下复用:

SPI_TXD/UART1_TX

SPI_RXD/UART1_RX

SPI_CSN0/UART1_RTS

AIO-3128C 使用SPI桥接/扩展4个增强功能串口(UART)的功能,分别为UART1,RS232(上),RS232(下),RS485功能,其中RS232(下)口硬件可做修改为TTL功能。 每个UART都拥有256字节的FIFO缓冲区,用于数据接收和发送。

uart2 一般用做调试串口,但同样存在复用,也就是说 TF 卡与调试串口不可以同时使用:

SDMMC_D0/UART2_TX

SDMMC_D1/UART2_RX

uart2 有 32 字节的 FIFO 收发缓冲区,uart0 则要有双 64 字节的 FIFO 用作蓝牙数据收发。所有 uart 均支持 5 位、6 位、7 位、8 位数据收发和 DMA 操作。

配置 DTS 节点

文件 kernel/arch/arm/boot/dts/aio-3128c.dtsi 中已经有 spi转uart 相关节点定义,如下所示:

&spi0 { status = "okay"; max-freq = <48000000>; dac0: dh2228@00 { status = "disabled"; compatible = "rohm,dh2228fv"; reg = <00>; spi-max-frequency = <100000>; }; spi_wk2xxx: spi_wk2xxx@00{ status = "okay"; compatible = "firefly,spi-wk2xxx"; reg = <0x00>; spi-max-frequency = <10000000>; reset-gpio = <&gpio3 GPIO_D3 GPIO_ACTIVE_HIGH>; irq-gpio = <&gpio1 GPIO_B4 IRQ_TYPE_EDGE_FALLING>; cs-gpio = <&gpio1 GPIO_B3 GPIO_ACTIVE_HIGH>; pwr-en-gpio = <&gpio0 GPIO_B4 GPIO_ACTIVE_HIGH>; }; };

调试方法

RS485:/dev/ttysWK0 RS232(上):/dev/ttysWK1 RS232(下):/dev/ttysWK2 UART1:/dev/ttysWK3

配置 uart0

用户只需在 kernel/arch/arm/boot/dts/aio-3128c.dts 文件中打开 uart0 ,并关掉蓝牙,如下所示:

&uart0 { status = "okay"; dma-names = "!tx", "!rx"; pinctrl-0 = <&uart0_xfer &uart0_cts>;}; wireless-bluetooth { compatible = "bluetooth-platdata"; ... status = "disabled"; }; };

编译并烧写内核

将串口驱动编译到内核中,在 kernel 目录下执行如下命令:

make AIO-3128C_defconfig make AIO-3128C.img -j4

把 kernel 目录下生成的 kernel.img 和 resource.img 烧录到开发板中即可。

测试串口通讯

配置好串口后,用户可以通过主机的 USB 转串口适配器向开发板的串口收发数据,以 uart0 为例,步骤如下:

连接硬件

将开发板 uart0 的 TX、RX、GND 引脚分别和主机串口适配器的 RX、TX、GND 引脚相连。注意:如果是使用 Firefly 的串口适配器,则是 TX 对 TX,RX 对 RX 连接。

打开主机的串口终端

在终端打开 kermit,并设置波特率:

$ sudo kermit C-Kermit> set line /dev/ttyUSB0 C-Kermit> set speed 9600 C-Kermit> set flow-control none C-Kermit> connect

/dev/ttyUSB0 为 USB 转串口适配器的设备文件

uart0 的波特率默认为 9600

发送数据

uart0 的设备文件为 /dev/ttyS0。在设备上运行下列命令:

echo firefly uart test... > /dev/ttyS0

主机中的串口终端即可接收到字符串“firefly uart test…”

接收数据

首先在设备上运行下列命令:

cat /dev/ttyS0

然后在主机的串口终端输入字符串 “Firefly uart test…”,设备端即可见到相同的字符串。要改变 uart0 的波特率,例如 115200,可以运行以下命令:

stty -F /dev/ttyS0 115200

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34614
  • Firefly
    +关注

    关注

    2

    文章

    534

    浏览量

    6757
收藏 人收藏

    评论

    相关推荐

    AVR单片机例程-电子

    AVR单片机例程-电子
    发表于 06-13 10:40

    超高性价比AIO-3128C开源主板

    `Firefly AIO-3128C开源主板拥有超高性价比处理核心四核ARM Cortex-A7,全面低于市面主流A7处理器的价格。主频高达1.3GHz,集成Mali-400 MP2图形处理器,内嵌2D加速器,拥有强大的图形与视频处理能力。丰富的外部扩展接口,可以直接应用
    发表于 05-16 16:27

    AIO-3128C一体板的特点及其功能分别有哪些呢

    AIO-3128C一体板的特点及其功能分别有哪些呢?
    发表于 01-14 06:28

    AIO-3288C四核高性能主板怎么样?

    AIO-3288C四核高性能主板怎么样?
    发表于 03-02 10:28

    firefly RK3128开发板 AIO-3128C介绍

    采用了基于Cortex-A7构架的四核处理器RK3128,集成Mali-400 MP2图形处理器,支持OpenGL ES1.1/2.0,可以实现1080P、H.265硬件解码和1080P、H.264视频编码。AIO-3128C引出全面的开发接口,可快速应用于各种行业产品中
    的头像 发表于 11-13 14:25 2101次阅读
    firefly RK<b class='flag-5'>3128</b>开发板 <b class='flag-5'>AIO-3128C</b><b class='flag-5'>介绍</b>

    Firefly-RK3128开发板UART接口介绍

    refly-RK3128 开发板内置 3 路 UART,分别为 uart0,uart1,uart2。ua
    的头像 发表于 11-28 16:36 2872次阅读
    Firefly-RK<b class='flag-5'>3128</b>开发板<b class='flag-5'>UART</b>接口<b class='flag-5'>介绍</b>

    微雪电子AIO-3128C主板U-Boot使用介绍

    RK U-Boot 基于开源的 U-Boot 进行开发,工作模式有启动加载模式和下载模式。
    的头像 发表于 12-23 16:08 1115次阅读
    微雪<b class='flag-5'>电子</b><b class='flag-5'>AIO-3128C</b><b class='flag-5'>主板</b>U-Boot使用<b class='flag-5'>介绍</b>

    微雪电子AIO-3128C主板SPI使用介绍

    SPI是一种高速的,全双工,同步串行通信接口,用于连接微控制器、传感器、存储设备等,本文以指纹识别模块为例简单介绍SPI使用。
    的头像 发表于 12-23 16:14 1259次阅读
    微雪<b class='flag-5'>电子</b><b class='flag-5'>AIO-3128C</b><b class='flag-5'>主板</b>SPI使用<b class='flag-5'>介绍</b>

    微雪电子AIO-3128C主板PWM使用介绍

    AIO-3128C 开发板上有 4 路 PWM 输出,分别为 PWM0 ~ PWM3,
    的头像 发表于 12-23 16:15 1949次阅读

    微雪电子AIO-3128C主板MIPI DSI使用介绍

    MIPI DSI 使用 Config配置
    的头像 发表于 12-23 16:16 9025次阅读
    微雪<b class='flag-5'>电子</b><b class='flag-5'>AIO-3128C</b><b class='flag-5'>主板</b>MIPI DSI使用<b class='flag-5'>介绍</b>

    微雪电子AIO-3128C主板LED使用简介

    AIO-3128C 开发板上有 2 个 LED 灯
    的头像 发表于 12-23 16:17 2482次阅读
    微雪<b class='flag-5'>电子</b><b class='flag-5'>AIO-3128C</b><b class='flag-5'>主板</b>LED使用简介

    fireflyAIO-3128C主板启动模式介绍

    AIO-3128C 有灵活的启动方式。一般情况下,除非硬件损坏,AIO-3128C 开发板是不会变砖的。
    的头像 发表于 12-24 09:44 669次阅读

    fireflyAIO-3128C主板串口调试介绍

    AIO-3128C 开发板的调试串口与 TF 卡接口有信号引脚复用,因此无法同时使用,即: 使用调试串口时必须拔掉 TF 卡,而使用 TF 卡时不要连接调试串口。
    的头像 发表于 12-24 09:50 1203次阅读
    fireflyAIO-<b class='flag-5'>3128</b>C<b class='flag-5'>主板</b>串口调试<b class='flag-5'>介绍</b>

    fireflyAIO-3399J主板UART使用介绍

    AIO-3399J 支持SPI桥接/扩展4个增强功能串口(UART)的功能,分别为UART1,UART2,RS232,RS485。
    的头像 发表于 12-24 10:18 1829次阅读
    fireflyAIO-3399J<b class='flag-5'>主板</b><b class='flag-5'>UART</b>使用<b class='flag-5'>介绍</b>

    AIO-3128C 开发板防雷防静电明细

    AIO-3128C 开发板防雷防静电明细 AIO-3128C 开发板防雷防静电明细 1. 产品概述 AIO-3128C 一体板采用了瑞芯微(Rockchip)四核处理器 RK3128
    发表于 03-16 14:55 900次阅读