瑞萨单片机开发教程[二十八] 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
}

下载验证

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

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

相关推荐
HQB202614 小时前
EG1198|屹晶微电子 120V 内置 MOS 异步降压 DC‑DC(高性价比)
嵌入式硬件·硬件工程
果壳science16 小时前
张祥前实验如何获取正电荷
笔记·科技·嵌入式硬件·硬件工程·制造
南山电子nscn16 小时前
中科芯CETC汽车电池管理系统BMS进口芯片国产型号替代指南
单片机·汽车·bms
桀人16 小时前
认识AT24C02
stm32·单片机·嵌入式硬件
国科安芯18 小时前
星间激光通信终端CANFD控制网络的时延确定性与辐射可靠性
网络·嵌入式硬件·信息与通信·canfd·低轨卫星·商业航天·抗辐射
一直C18 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
传感器与混合集成电路18 小时前
150MHz主频、8路DAC与6路PWM:JLH221360伺服控制SIP解析
嵌入式硬件
comyccccc18 小时前
STM32PID控制板设计全解析学习笔记
单片机·嵌入式硬件
碧海银沙音频科技研究院19 小时前
实现炬芯ATS308X的usb cdc 串口IAP 固件升级功能实现
人工智能·嵌入式硬件·深度学习·算法
恒锐丰科技林技术员20 小时前
EG1160 高压半桥驱动芯片:高压功率变换的实用驱动方案
经验分享·嵌入式硬件·硬件工程