一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

瑞薩RX23E-A MCU的串口和ADC調(diào)試方法

駿龍電子 ? 來(lái)源:駿龍電子 ? 2025-03-06 14:00 ? 次閱讀

背景介紹

瑞薩 RX23E-A 系列微控制器配備模擬前端,無(wú)需校準(zhǔn)即可測(cè)量溫度、壓力、流量和重量,精度優(yōu)于 0.1%,是高精度傳感、測(cè)試和測(cè)量設(shè)備的理想之選。CPU 配備 RXv2 內(nèi)核,在 DSP/FPU 運(yùn)行中表現(xiàn)卓越,可以單芯片實(shí)現(xiàn)高精度測(cè)量、控制和通信。

瑞薩 RX23E-A MCU 特性

雙 24 位 delta sigma 模數(shù)轉(zhuǎn)換器:高達(dá) 23 位的有效分辨率,可編程數(shù)據(jù)速率為 7.6sps 至 15,625ksps

PGA:軌到軌模擬輸入,增益 1 至 128 倍,失調(diào)漂移 10nV/°C,增益漂移 1ppm/°C

基準(zhǔn)電壓源:10ppm/°C 的低溫漂特性,具有良好的溫度穩(wěn)定性

勵(lì)磁電流源:匹配可編程電流源

CPU:32 位 RXv2 (32MHz)

數(shù)字信號(hào)處理的 DSP/FPU

接口:SPI x 1 通道、UART x 4 通道、I2C x 1 通道、CAN x 1 通道

可以直接連接傳感器,如 PT100、擴(kuò)散硅壓力傳感器

下圖 (圖1) 為瑞薩 RX23E-A MCU 的系統(tǒng)框圖:

5b397126-f975-11ef-9310-92fbcf53809c.jpg

圖1 瑞薩 RX23E-A MCU 系統(tǒng)框圖

調(diào)試步驟

一、新建工程文件

如下圖 (圖2) 所示,打開(kāi) e2studio,添加 RX23E-A_UART_ADC 工程文件。

5b5c53ee-f975-11ef-9310-92fbcf53809c.jpg

圖2 新建 RX23E-A_UART_ADC 工程文件

創(chuàng)建完成后,對(duì)該工程進(jìn)行編譯,同時(shí)需確保編譯無(wú)錯(cuò)誤,具體操作如下圖 (圖3) 所示:

5b802e7c-f975-11ef-9310-92fbcf53809c.jpg

圖3 編譯工程文件

二、配置串口

首先打開(kāi)左側(cè)資源管理器中的 RX23EA UART ADC.scfg 文件,選中該文件 Components 功能區(qū)后,點(diǎn)擊下圖 (圖4) 中第 3 個(gè)紅色方框內(nèi)標(biāo)記的 button 以打開(kāi) Software Component Selection:

5b912b0a-f975-11ef-9310-92fbcf53809c.jpg

圖4 打開(kāi) Software Component Selection

接下來(lái)根據(jù)下圖 (圖5) 的步驟,從可選的組件中選擇 SCI/SCIF Asynchronous Mode,為新組件添加新配置,選擇“SCI1”模塊。

5bae2746-f975-11ef-9310-92fbcf53809c.jpg

圖5 Add new configuration for selected component

完成以上操作后,配置串口參數(shù),具體參數(shù)可參考下圖 (圖6):

5bbe0274-f975-11ef-9310-92fbcf53809c.jpg

圖6 配置串口參數(shù)

配置完成后,點(diǎn)擊“Generate Code”生成代碼?;氐?RX23E-A_UART_ADC 工程文件即可看到串口文件,如下圖 (圖7) 所示:

5be45096-f975-11ef-9310-92fbcf53809c.jpg

圖7 生成的串口文件

接下來(lái)打開(kāi) Config_SCI1_user.c 文件,在下圖 (圖8) 所標(biāo)記箭頭處添加代碼,相應(yīng)的注意事項(xiàng)請(qǐng)參考圖內(nèi)說(shuō)明。

5c1a1686-f975-11ef-9310-92fbcf53809c.jpg

圖8 添加代碼

下圖 (圖9) 為代碼添加成功后的顯示信息界面:

5c3de8e0-f975-11ef-9310-92fbcf53809c.jpg

圖9 添加代碼成功示意圖

在使用 printf 函數(shù)進(jìn)行串口打印前,我們需要對(duì)串口重定向,具體步驟如下圖 (圖10):

5c51252c-f975-11ef-9310-92fbcf53809c.jpg

圖10 串口重定向

具體代碼如下:

#include "r_smc_entry.h"
#include "platform.h"

void main(void);

extern volatile uint8_t g_sci1_tx_end;
void my_sw_charput_function(char output_char);


void main(void)
{
R_Config_SCI1_Start();//串口初始化


while(1)
{

printf(" Renesas RX23E-A MCU 
");
}
}

//串口重定向
void my_sw_charput_function(char output_char)
{
R_Config_SCI1_Serial_Send((uint8_t *) &output_char,1);
while(g_sci1_tx_end == false);
g_sci1_tx_end = false;

}
右滑查看完整代碼 接下來(lái)對(duì)工程進(jìn)行編譯,確認(rèn)無(wú)錯(cuò)誤后進(jìn)行燒錄,燒錄完成后開(kāi)始運(yùn)行,如下圖 (圖11) 所示:

5c6c7354-f975-11ef-9310-92fbcf53809c.jpg

圖11 工程編譯、燒錄及運(yùn)行步驟

完成上述操作后,使用 printf 函數(shù)進(jìn)行串口打印,串口打印信息如下圖 (圖12):

5c7dd5cc-f975-11ef-9310-92fbcf53809c.jpg

圖12 串口打印信息

下圖 (圖13) 為 RX23E-A 串口配置成功硬件連接示意圖:

5c96dbd0-f975-11ef-9310-92fbcf53809c.jpg

圖13 RX23E-A 串口配置成功

三、配置 24bit ADC

像前面配置串口一樣,點(diǎn)擊左側(cè)資源管理器中的 RX23EA UART ADC.scfg 文件,選擇該文件 Components 功能區(qū)后打開(kāi) Software Component Selection,選擇“DSAD0”模塊。

5ca99e64-f975-11ef-9310-92fbcf53809c.jpg

圖14 選擇 DSAD0 模塊

接下來(lái)設(shè)置 ADC 的采樣率、通道數(shù)等參數(shù),各參數(shù)如下圖 (圖15) 所示。在配置完成后點(diǎn)擊界面右上方“Generate Code”即可生成代碼。

5cc5c42c-f975-11ef-9310-92fbcf53809c.jpg

圖15 設(shè)置 ADC 的采樣率、通道數(shù)等參數(shù)

生成 ADC 代碼后,打開(kāi)工程文件,在 Config_DSAD0.h 添加如下代碼:

bool r_dsad0_IsConversionEnd (void);
void r_dsad0_ClearIrFlag (void);
在 Config_DSAD0.c 文件下面添加如下代碼:
bool r_dsad0_IsConversionEnd (void)
{
    return (bool) ((1U == IR(DSAD0, ADI0)) ? true : false);
}
void r_dsad0_ClearIrFlag (void)
{
    IR(DSAD0, ADI0)= 0U;
}

右滑查看完整代碼

ADC 配置完成,在主函數(shù)頁(yè)面添加如下圖 (圖16) 代碼:

5ce00e54-f975-11ef-9310-92fbcf53809c.jpg

圖16 主函數(shù)下的代碼

完整代碼如下:

/***********************************************************************
*
*  FILE        : RX23EA_UART_ADC.c
*  DATE        : 2024-10-24
*  DESCRIPTION : Main Program
*
*  NOTE:THIS IS A TYPICAL EXAMPLE.
*
***********************************************************************/
#include "r_smc_entry.h"
#include "platform.h"

void main(void);
extern volatile uint8_t  g_sci1_tx_end;
void my_sw_charput_function(char output_char);
//bool timer_flag = false;

void main(void)
{
    uint32_t dsad0_reg; /**DSAD0.DR register storage variable */
    float ADC_Data0_0,ADC_Data0_1,ADC_Data0_2,ADC_Data0_3,ADC_Data0_4,ADC_Data0_5;
    int32_t dsad0_value_0,dsad0_value_1,dsad0_value_2,dsad0_value_3,dsad0_value_4,dsad0_value_5;

    R_Config_SCI1_Start();//串口初始化
    R_Config_DSAD0_Start();//ADC初始化
    R_Config_DSAD0_Set_SoftwareTrigger();//軟件觸發(fā)方式

  while(1)
  {
      r_dsad0_ClearIrFlag(); /** clear DSAD0 IR flag*/

      if(DSAD0.DR.BIT.CCH == 0x01)  //Channel 1 data
       {
            /** Get A/D value */
          R_Config_DSAD0_Get_ValueResult( &dsad0_reg);
            /** Flag mask, Sign extension */
          dsad0_value_0 = (int32_t) ((dsad0_reg & 0x00FFFFFFU) <<8) >> 8;
          ADC_Data0_0  = dsad0_value_0 * (5.0)/8388608;
       }

       if(DSAD0.DR.BIT.CCH == 0x02)  //Channel 2 data
           {
                /** Get A/D value */
                R_Config_DSAD0_Get_ValueResult( &dsad0_reg);
                /** Flag mask, Sign extension */
                dsad0_value_1 = (int32_t) ((dsad0_reg & 0x00FFFFFFU) <<8) >> 8;
                ADC_Data0_1  = dsad0_value_1 * (5.0)/8388608;
           }
       if(DSAD0.DR.BIT.CCH == 0x03) //Channel 3 data
           {
                /** Get A/D value */
                R_Config_DSAD0_Get_ValueResult( &dsad0_reg);
                /** Flag mask, Sign extension */
                dsad0_value_2 = (int32_t) ((dsad0_reg & 0x00FFFFFFU) <<8) >> 8;
                ADC_Data0_2  = dsad0_value_2 * (5.0)/8388608;
           }
       if(DSAD0.DR.BIT.CCH == 0x04) //Channel 4 data
           {
                /** Get A/D value */
                R_Config_DSAD0_Get_ValueResult( &dsad0_reg);
                /** Flag mask, Sign extension */
                dsad0_value_3 = (int32_t) ((dsad0_reg & 0x00FFFFFFU) <<8) >> 8;
                ADC_Data0_3  = dsad0_value_3 * (5.0)/8388608;
           }
       if(DSAD0.DR.BIT.CCH == 0x05) //Channel 5 data
           {
                /** Get A/D value */
                R_Config_DSAD0_Get_ValueResult( &dsad0_reg);
                /** Flag mask, Sign extension */
                dsad0_value_4 = (int32_t) ((dsad0_reg & 0x00FFFFFFU) <<8) >> 8;
                ADC_Data0_4  = dsad0_value_4 * (5.0)/8388608;
           }
       if(DSAD0.DR.BIT.CCH == 0x06)  //Channel 6 data
           {
                /** Get A/D value */
                R_Config_DSAD0_Get_ValueResult( &dsad0_reg);
                /** Flag mask, Sign extension */
                dsad0_value_5 = (int32_t) ((dsad0_reg & 0x00FFFFFFU) <<8) >> 8;
                ADC_Data0_5  = dsad0_value_5 * (5.0)/8388608;
           }
       printf("Channel_1 = %f 
",ADC_Data0_0);
       printf("Channel_2 = %f 
",ADC_Data0_1);
       printf("Channel_3 = %f 
",ADC_Data0_2);
       printf("Channel_4 = %f 
",ADC_Data0_3);
       printf("Channel_5 = %f 
",ADC_Data0_4);
       printf("Channel_6 = %f 
",ADC_Data0_5);
       R_BSP_SoftwareDelay((uint32_t)100, BSP_DELAY_MILLISECS);
      //printf("  Renesas RX23E-A MCU 
");
  }
}

//串口重定向
void my_sw_charput_function(char output_char)
{
    R_Config_SCI1_Serial_Send((uint8_t *) &output_char,1);
    while(g_sci1_tx_end == false);
   g_sci1_tx_end = false;
}
右滑查看完整代碼 代碼添加完畢后,可點(diǎn)擊如下圖 (圖17) 所示界面圖標(biāo)進(jìn)行編譯代碼:

5cf7e4c0-f975-11ef-9310-92fbcf53809c.jpg

圖17 編譯代碼

四、燒錄程序

最后燒錄程序。燒錄成功后,可以給 RX23E-A 模擬輸入口給一個(gè)模擬量,測(cè)試一下 ADC 性能。我們以 ADC0 (1-6 通道) 為例,硬件連接如下圖 (圖18) 所示:

5d095bba-f975-11ef-9310-92fbcf53809c.jpg

圖18 ADC0 (1-6 通道) 硬件連接

分別為 6 個(gè)通道設(shè)置的電壓值如下表:

通道 第一通道 第二通道 第三通道 第四通道 第五通道 第六通道
電壓值 4.35V 3.64V 2.91V 2.18V 1.45V 0.73V

實(shí)測(cè)結(jié)果 (用串口打印) 如下圖 (圖19) 所示:

5d23d558-f975-11ef-9310-92fbcf53809c.jpg

圖19 實(shí)測(cè)結(jié)果

總結(jié)

本文主要介紹瑞薩 RX23E-A 這款 MCU 的串口和 ADC 調(diào)試方法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7844

    瀏覽量

    153348
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17718

    瀏覽量

    358200
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6611

    瀏覽量

    547731
  • 瑞薩
    +關(guān)注

    關(guān)注

    36

    文章

    22356

    瀏覽量

    87579
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1580

    瀏覽量

    78334

原文標(biāo)題:瑞薩 RX23E-A MCU UART 和 ADC 調(diào)試經(jīng)驗(yàn)分享

文章出處:【微信號(hào):駿龍電子,微信公眾號(hào):駿龍電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RX23E-A中的24位ΔΣADC轉(zhuǎn)換器和模擬前端介紹

    RX23E-A MCU是32位RX MCU,具有內(nèi)置FPU和高達(dá)256KB閃存,配有模擬前端(AFE),有助于測(cè)量壓力、流量、溫度和重量,精度小于0.1%。
    的頭像 發(fā)表于 04-08 14:16 ?2134次閱讀
    <b class='flag-5'>RX23E-A</b>中的24位ΔΣ<b class='flag-5'>ADC</b>轉(zhuǎn)換器和模擬前端介紹

    電子新推32位RX系列微控制器RX23E-A產(chǎn)品組

    電子今日宣布推出32位RX系列微控制器(MCURX23E-A產(chǎn)品組,將高精度模擬前端(AFE)集成在
    發(fā)表于 05-28 17:38 ?1173次閱讀

    電子推出RX23E-A MCU入門(mén)套件 具備業(yè)界一流高精度模擬前端

    電子物聯(lián)網(wǎng)平臺(tái)業(yè)務(wù)部營(yíng)銷(xiāo)副總裁Daryl Khoo表示:“用于工業(yè)物聯(lián)網(wǎng)傳感器的RX23E-A是集成了高精度AFE的單芯片解決方案,無(wú)需校準(zhǔn)即可達(dá)到0.1%以?xún)?nèi)的精度。
    發(fā)表于 03-24 10:56 ?1172次閱讀

    電子推出32位RX系列微控制器 將高精度模擬前端集成于MCU單芯片

    2019年5月28日,全球領(lǐng)先的半導(dǎo)體解決方案供應(yīng)商電子株式會(huì)社宣布推出32位RX系列微控制器(MCURX23E-A產(chǎn)品組,將高精度模
    發(fā)表于 05-29 10:50 ?972次閱讀

    什么是RX23E-A物聯(lián)網(wǎng)時(shí)代的數(shù)據(jù)采集和分布式處理

      該解決方案已作為應(yīng)用說(shuō)明“RX23E-A 組通道間隔離模擬測(cè)量系統(tǒng)”(文檔編號(hào) R01AN5679EJ0110)在網(wǎng)上發(fā)布。
    的頭像 發(fā)表于 04-26 10:45 ?1492次閱讀
    什么是<b class='flag-5'>RX23E-A</b>物聯(lián)網(wǎng)時(shí)代的數(shù)據(jù)采集和分布式處理

    利用RX23E-A 32位MCU實(shí)現(xiàn)熱電Peltier控制器

      級(jí)聯(lián)控制是一種用于需要精確控制的應(yīng)用中的控制方法,而RX23E-A具有許多功能,可以通過(guò)單個(gè)芯片來(lái)實(shí)現(xiàn)。我們已經(jīng)開(kāi)發(fā)了演示套件,并確認(rèn)可以實(shí)現(xiàn)約5 m°C的控制分辨率。
    的頭像 發(fā)表于 04-29 10:20 ?1695次閱讀
    利用<b class='flag-5'>RX23E-A</b> 32位<b class='flag-5'>MCU</b>實(shí)現(xiàn)熱電Peltier控制器

    RX23E-A 組數(shù)據(jù)表 Rev.1.20

    RX23E-A 組數(shù)據(jù)表 Rev.1.20
    發(fā)表于 01-11 18:55 ?1次下載
    <b class='flag-5'>RX23E-A</b> 組數(shù)據(jù)表 Rev.1.20

    RX23E-A 組用戶(hù)手冊(cè):硬件 Rev.1.20

    RX23E-A 組用戶(hù)手冊(cè):硬件 Rev.1.20
    發(fā)表于 01-11 18:56 ?1次下載
    <b class='flag-5'>RX23E-A</b> 組用戶(hù)手冊(cè):硬件 Rev.1.20

    RSSKRX23E-A Renesas Solution Stater Kit for RX23E-A 快速入門(mén)指南

    RSSKRX23E-A Renesas Solution Stater Kit for RX23E-A 快速入門(mén)指南
    發(fā)表于 03-14 19:09 ?0次下載
    RSSKRX<b class='flag-5'>23E-A</b> Renesas Solution Stater Kit for <b class='flag-5'>RX23E-A</b> 快速入門(mén)指南

    RX23E-A 組數(shù)據(jù)表 Rev.1.20

    RX23E-A 組數(shù)據(jù)表 Rev.1.20
    發(fā)表于 06-30 20:46 ?0次下載
    <b class='flag-5'>RX23E-A</b> 組數(shù)據(jù)表 Rev.1.20

    RX23E-A 組用戶(hù)手冊(cè):硬件 Rev.1.20

    RX23E-A 組用戶(hù)手冊(cè):硬件 Rev.1.20
    發(fā)表于 06-30 20:46 ?0次下載
    <b class='flag-5'>RX23E-A</b> 組用戶(hù)手冊(cè):硬件 Rev.1.20

    RSSKRX23E-A Renesas Solution Stater Kit for RX23E-A 快速入門(mén)指南

    RSSKRX23E-A Renesas Solution Stater Kit for RX23E-A 快速入門(mén)指南
    發(fā)表于 07-05 19:35 ?0次下載
    RSSKRX<b class='flag-5'>23E-A</b> Renesas Solution Stater Kit for <b class='flag-5'>RX23E-A</b> 快速入門(mén)指南

    不斷升級(jí)的傳感器設(shè)備和基于RX23E-A單芯片MCU的測(cè)力傳感器

    不斷升級(jí)的傳感器設(shè)備和基于RX23E-A單芯片MCU的測(cè)力傳感器
    的頭像 發(fā)表于 09-19 16:44 ?841次閱讀
    不斷升級(jí)的傳感器設(shè)備和基于<b class='flag-5'>RX23E-A</b>單芯片<b class='flag-5'>MCU</b>的測(cè)力傳感器

    面向高端工業(yè)傳感器系統(tǒng)推出高精度模擬前端的32位RX MCU

    全球半導(dǎo)體解決方案供應(yīng)商電子(TSE:6723)宣布面向高端工業(yè)傳感器系統(tǒng)推出一款全新RX產(chǎn)品——RX23E-B,擴(kuò)展32位微控制器(MCU
    的頭像 發(fā)表于 11-23 13:59 ?604次閱讀

    RX23E-A 24bitΔΣADC基礎(chǔ)篇(4) RX23E-A詳解

    RX23E-A的目標(biāo)應(yīng)用是需要高精度模擬的工業(yè)傳感器設(shè)備。例如,溫度控制器、記錄儀、壓力表、力傳感器、體重秤等。
    的頭像 發(fā)表于 04-25 14:17 ?1312次閱讀
    <b class='flag-5'>RX23E-A</b> 24bitΔΣ<b class='flag-5'>ADC</b>基礎(chǔ)篇(4) <b class='flag-5'>RX23E-A</b>詳解