项目概述:
本文将介绍使用瑞萨电子的RA4L1系列微控制器,结合片上SLCD控制和ADC实现电压测量并通过UART串口将测量结果传输给PC端。
软件实现:
1.开发环境配置
下载e2studio可以从瑞萨电子的官网进行下载
网址:https://www.renesas.cn/zh/software-tool/flexible-software-package-fsp?queryID=d87ee8cb7e2788cc16b72b81fc5815f0

选择自己的平台进行下载安装。
也可以从github上进行下载
网址:https://github.com/renesas/fsp/releases

图中划线的是e2s和fsp都有的软件集成工具,可以大大节省自己的开发时间。
2.安装过程中报错修改

出现这个问题是因为软件下错了重新下载软件。
注意看清软件名称。
主要逻辑实现
void hal_entry(void)
{
err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg);
assert(FSP_SUCCESS == err);
printf("hello world!\n");
err = R_ADC_Open(&g_adc0_ctrl, &g_adc0_cfg);
assert(FSP_SUCCESS == err);
err = R_SLCDC_Open(&g_slcdc0_ctrl, &g_slcdc0_cfg);
assert(FSP_SUCCESS == err);
R_BSP_SoftwareDelay(5, BSP_DELAY_UNITS_MILLISECONDS);
err = R_SLCDC_Start(&g_slcdc0_ctrl);
assert(FSP_SUCCESS == err);
err = R_ADC_ScanCfg(&g_adc0_ctrl, &g_adc0_channel_cfg);
assert(FSP_SUCCESS == err);
while (1)
{
uint16_t adc_data25 = 0;
double voltage;
(void)R_ADC_ScanStart(&g_adc0_ctrl);
err = R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_25, &adc_data25);
assert(FSP_SUCCESS == err);
voltage = (double)(adc_data25 / 4095.0) * 3.3;
printf("ADC Value=%d, Voltage=%.2fV\n", adc_data25, voltage);
display_voltage_on_lcd(voltage);
R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS);
}
#if BSP_TZ_SECURE_BUILD
R_BSP_NonSecureEnter();
#endif
}
功能特点
- 高精度测量 :12位ADC提供4096级分辨率
- 低功耗显示 :SLCD在待机状态下功耗极低
- 实时监控 :UART串口输出便于数据记录和分析
- 灵活配置 :可通过软件调整测量范围和显示格式
视频演示
|