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

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

本系列教程目录:


DTC 串口传输实验

本章目标:

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

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

软件设计

新建工程

复制一份"07 SCI-UART_Recv_send"修改文件夹名"28 DTC_UART",直接使用已有的串口模块,不需要创建额外文件,需改 uart.c 和 uart.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.h 和 uart.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
}

下载验证

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

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

相关推荐
Horn Still Sounds4 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
智感子4 小时前
无人值守称重:地磅系统架构与流程
嵌入式硬件
新晨单片机设计6 小时前
S011C-基于STM32智能灯光控制系统(光强、声音、人体)【Proteus仿真+Keil程序+原理图】
stm32·嵌入式硬件·proteus·智能灯光控制系统
女神下凡8 小时前
芯参谋(26):DDR4_软件设计规范
arm开发·单片机·嵌入式硬件
zd8451015008 小时前
DSLogic逻辑分析仪连接失败
嵌入式硬件
国科安芯9 小时前
星载通信载荷信号处理中抗辐射微控制器的选型与适应性分析
人工智能·嵌入式硬件·mcu·信号处理·risc-v·抗辐射·空间信息
AOI小白新手上路10 小时前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
测试学习test11 小时前
SPI读取W25Q64硬件驱动(HAL库)
数据库·stm32·嵌入式硬件·算法
xingzhemengyou111 小时前
STM32对函数进行CRC校验
stm32·单片机·嵌入式硬件
FPGA小徐11 小时前
STM32引脚详解:PC13-TAMPER-RTC 多功能复用引脚完全剖析(踩坑+配置+布线)
单片机·嵌入式硬件