瑞萨RA0单片机连载⸺ADC
1 目的
本篇主要实现面向对象的对驱ADC,使用电位容调节电压,采集实时电压并在OLED屏上实时展示。
2 实验器材
1.瑞萨生态社区RA0E1开发板:
2.OLED 显示屏
3.电位器
3 软件环境
1.MDK5.39
2.FSP 5.3.0
3.RASC
4 实现步骤
1.打开RASC,选择FSP 5.3.0(最少选择5.2.0版本以上)。
2.配置P014为ADC Analog mode 为通道6即ADC0_AN006:
3.新建stack,添加g_adc0_ADC,并按下图置为通道6,软件触发转换,开启转换结果中断触发,参考电压为MCU的VSS与VCC,即3.3V
4.向工程中添加drv_adc函数。
此函数中主要是把adc0_CHANNEL_6配置成ptDev,对外开放的接口。我们只需要初始化ADCDev后,就可以通过他的init、read、value来做接口访问就行了。
4.在主函数中我们初始化ADC并读取ADC值,显示于OLED屏上:
view plaincopy to clipboardprint?
1.ADCDevTypeDef *ptAdcDev = ADCGetDevice(); // 生成ADC对象
2. if(NULL == ptAdcDev)
3. {
4. printf(“Error. Not found ADC device!rn”);
5. return;
6. }
7.ptAdcDev->Init(ptAdcDev); // 初始化
8.//在while循环中读取,并显示
9.if(!ptAdcDev->Read(ptAdcDev))
10. {
11. a0=(ptAdcDev->value/4095.0)*3.3;
12. sprintf(sprintfbuff ,”ADC:%d, %d.%d”,ptAdcDev->value, (int)a0, (int)(a0*1000)%1000);
13. ptDispDev->GUI_ShowString(ptDispDev,0,48, sprintfbuff ,16,1);
}
5 实现效果
将P014接于可变电位器的输出IO,可以实时测量到电压:
(本文来源于《EEPW》202506)

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码