瑞萨单片机开发教程[二十八] DTC 串口传输实验

开发板官网https://www.edevkit.com/)

本系列教程目录:


DTC 串口传输实验

本章目标:

  • 了解 RA6M5 处理器的 DTC 模块
  • 学会使用 RASC 配置 DTC 在指定内存间搬移数据

硬件设计(略,参见配套硬件原理图)

软件设计

新建工程

复制一份"07 SCI-UART_Recv_send"修改文件夹名"28 DTC_UART",直接使用已有的串口模块,不需要创建额外文件,需改 uart.cuart.h 即可。

FSP 配置

Keil 界面选择 "Tools"→"RA Smart Configurator" 打开 RASC 界面。

在之前的串口模块上添加 DTC 发送和接收的驱动。

"Add DTC Driver for Transmission"之后有"Recommended but optional"的字眼、"Add DTC Driver for Reception"之后有"Not recommended"的字眼,即:瑞萨 FSP 库官方推荐我们使用 DTC 来发送 UART 数据(虽然也可以不使用 DTC),但不推荐使用 DTC 来接收 UART 数据。

点击"Add DTC Driver for Transmission"→"New"→"Transfer (r_dtc)"。

只设置发送的 DTC,接收还是使用接收中断。

报错还需要在串口模块中把 DTC 功能打开。

点击 UART 下面的 DTC 模块,会发现 DTC 基本已默认配置好,不用更改。

配置完成之后可以按下快捷键 "Ctrl + S" 保存,最后点击 "Generate Project Content" 按钮,让软件自动生成配置代码即可。

程序设计

串口 DTC 只配置了发送 DTC,不需要去打开 DTC 设备,使用 R_SCI_UART_Write() 会自动使用 DTC 去发送。

程序编写

uart.huart.c 都不需要修改,只不过现在配置发送 DTC 后,再调用发送函数时会自动使用 DTC,不需要额外的函数。

hal_entry.c 文件中添加测试代码。

复制代码
void hal_entry(void)
{
    /* TODO: add your own code here */

    led_Init(); // LED 初始化
  uart0_Init();

    printf("uart init ok\r\n");

    while(1)
    {
        LED1_TOGGLE();
        R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS); //延时1秒

        uint8_t data[] = "Where at in the start up process the code is currently at";
        uart_send_data(data, sizeof(data));

        //扫描uart接收
        uart_scan_rx();
    }


#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

下载验证

连接下载器,将程序编译并下载到开发板之后,按下复位按键来复位开发板,程序启动初始化完。

每秒发送字符串,上位机串口发送数据会返回发送的数据。

相关推荐
义嘉泰1 小时前
【硬核拆解】540×540时代的显示核心:集创北方 CO6300 AMOLED驱动芯片深度解析
嵌入式硬件·芯片
铅笔小新z1 小时前
【stm32】GPIO
stm32·嵌入式硬件·mongodb
csdn杰哥2 小时前
瑞萨单片机开发教程[三十] IIC 触摸驱动实验
单片机·嵌入式硬件·瑞萨·ra6m5
振南的单片机世界2 小时前
高优先级“插队”,低优先级让路:中断嵌套的核心规则
arm开发·stm32·单片机·嵌入式硬件
ahccqw4 小时前
电机入门学习(电机认识,分类)
嵌入式硬件
jianqiang.xue11 小时前
系统服务层设计:沉淀通用能力,让业务层只专注业务
stm32·单片机·嵌入式硬件·mcu·物联网·esp32
无垠的广袤13 小时前
【RA-Eco-RA2T1开发板】介绍、环境搭建、工程测试
单片机·嵌入式硬件·串口通信·uart·开发环境·blink
画面无声13 小时前
STM32的SPI通信原理与练习记录
c语言·stm32·单片机·嵌入式硬件·学习
weixin_4568083814 小时前
【沁恒蓝牙开发】IAP升级流程
c语言·单片机·嵌入式硬件