一、瑞萨MCU(CPK_RA2E1是瑞萨RA系列开发板)是什么?


瑞萨MCU是一种微控制器单元,CPK_RA2E1是瑞萨RA系列开发板的型号。

瑞萨RA2E1是一款32位微控制器芯片,属于瑞萨电子公司的RA2E系列。它采用ARM Cortex-M23内核,具有低功耗、高性能和高集成度的特点。

他的优势在哪?

该芯片的主要优势包括:


安全性:具备硬件加密和安全启动功能,可保护系统的机密信息和数据安全。


低功耗:采用低功耗设计,可以延长电池寿命或减少功耗,适用于需要长时间运行的应用场景。


高性能:具有高速运算能力和快速响应时间,能够满足复杂应用的需求。


高集成度:集成多种外设,包括通信接口、模拟接口、定时器等,可减少外部器件的数量,降低系统成本。


易于开发:支持多种开发工具和语言,例如e2 studio、GCC和C语言等,使开发人员可以快速实现应用程序。


总之,瑞萨CPK_RA2E1是一款功能强大、性能稳定、易于开发的微控制器芯片,适用于各种应用场景,如智能家居、工业自动化、医疗设备等。


多种通信接口:支持CAN、I2C、UART、USB等多种通信接口,可满足不同应用场景的需求。


多种模拟接口:支持ADC、DAC、比较器等多种模拟接口,可实现多种模拟测量和控制功能。


多种定时器:支持多种定时器,包括低功耗定时器、高精度定时器等,可满足不同应用场景的需求。

瑞萨CPK_RA2E1如何开发?

瑞萨CPK_RA2E1可以使用多种开发工具进行开发,下面介绍几种常用的开发工具和开发流程:


e2 studio:e2 studio是瑞萨电子官方提供的免费集成开发环境,支持C语言和C++语言开发。它包含了编译器、调试器、仿真器等工具,可以方便地进行开发、编译、调试和下载。


GCC:GCC是一款免费的开源编译器,支持C语言和C++语言开发。可以使用GCC编译器对瑞萨CPK_RA2E1进行开发。


Keil MDK:Keil MDK是一款商业的集成开发环境,支持C语言和汇编语言开发。它包含编译器、调试器、仿真器等工具,可以方便地进行开发、编译、调试和下载。


开发流程:


硬件设计:根据具体应用需求设计瑞萨CPK_RA2E1的硬件电路,包括外设连接和时钟电路等。


软件开发:选择合适的开发工具,编写和调试应用程序,包括初始化、配置、控制和处理等功能。


调试:使用调试器和仿真器等工具对应用程序进行调试和测试,确保程序正常运行和实现预期功能。


下载:将编译好的应用程序下载到瑞萨CPK_RA2E1中,运行并进行测试和验证。


需要注意的是,在开发过程中,需要根据瑞萨CPK_RA2E1的技术规格和应用手册进行开发和调试,确保应用程序能够正确实现功能并满足设计要求。

二、e2 stduino开发步骤

环境设置

FSP配置

打开FSP,点击Stacks->New Stack->Driver->Analog -> ADC Driver on r_adc。

forum.jpg

Adc

属性配置

forum.jpg

forum.jpg

在FSP页面点击生成按钮 forum.jpg 生成keil代码。

3.打开生成的Keil工程文件,在hal_entry.cpp增加如下代码

增加回调函数

[code]

volatile bool scan_complete_flag = false;

void adc_callback (adc_callback_args_t * p_args)

{

    FSP_PARAMETER_NOT_USED(p_args);

    scan_complete_flag = true;

}


在hal_entry()函数中添加

    fsp_err_t err = FSP_SUCCESS;

    /* Initializes the module. */

    err = R_ADC_Open(&g_adc0_ctrl, &g_adc0_cfg);

    /* Handle any errors. This function should be defined by the user. */

    assert(FSP_SUCCESS == err);

/* Enable channels. */

    err = R_ADC_ScanCfg(&g_adc0_ctrl, &g_adc0_channel_cfg);

    assert(FSP_SUCCESS == err);

    double a0;

    uint16_t adc_data1=0;

    while(1)

    {

    /* Enable scan triggering from ELC events. */

           (void) R_ADC_ScanStart(&g_adc0_ctrl);

printf("ADC Init ok!\r\n");

           scan_complete_flag = false;

           while (!scan_complete_flag)

           {

               /* Wait for callback to set flag. */

           }

           err=R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_0, &adc_data1);

           assert(FSP_SUCCESS == err);

           a0=(adc_data1/4095.0)*3.3;

printf("ADC value: %.2f\r\n",a0);

           R_BSP_SoftwareDelay (20, BSP_DELAY_UNITS_MILLISECONDS);

}

运行结果

下载程序,并用连接线连接P00到电源VCC,运行。结果如下:

forum.jpg

小结

在配置ADC时需要仔细阅读手册和原理图,注意参考电压的设置内容