在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

瑞薩RX23E-A MCU的串口和ADC調試方法

駿龍電子 ? 來源:駿龍電子 ? 2025-03-06 14:00 ? 次閱讀

背景介紹

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

瑞薩 RX23E-A MCU 特性

雙 24 位 delta sigma 模數轉換器:高達 23 位的有效分辨率,可編程數據速率為 7.6sps 至 15,625ksps

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

基準電壓源:10ppm/°C 的低溫漂特性,具有良好的溫度穩定性

勵磁電流源:匹配可編程電流源

CPU:32 位 RXv2 (32MHz)

數字信號處理的 DSP/FPU

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

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

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

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

圖1 瑞薩 RX23E-A MCU 系統框圖

調試步驟

一、新建工程文件

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

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

圖2 新建 RX23E-A_UART_ADC 工程文件

創建完成后,對該工程進行編譯,同時需確保編譯無錯誤,具體操作如下圖 (圖3) 所示:

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

圖3 編譯工程文件

二、配置串口

首先打開左側資源管理器中的 RX23EA UART ADC.scfg 文件,選中該文件 Components 功能區后,點擊下圖 (圖4) 中第 3 個紅色方框內標記的 button 以打開 Software Component Selection:

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

圖4 打開 Software Component Selection

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

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

圖5 Add new configuration for selected component

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

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

圖6 配置串口參數

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

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

圖7 生成的串口文件

接下來打開 Config_SCI1_user.c 文件,在下圖 (圖8) 所標記箭頭處添加代碼,相應的注意事項請參考圖內說明。

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

圖8 添加代碼

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

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

圖9 添加代碼成功示意圖

在使用 printf 函數進行串口打印前,我們需要對串口重定向,具體步驟如下圖 (圖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;

}
右滑查看完整代碼 接下來對工程進行編譯,確認無錯誤后進行燒錄,燒錄完成后開始運行,如下圖 (圖11) 所示:

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

圖11 工程編譯、燒錄及運行步驟

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

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

圖12 串口打印信息

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

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

圖13 RX23E-A 串口配置成功

三、配置 24bit ADC

像前面配置串口一樣,點擊左側資源管理器中的 RX23EA UART ADC.scfg 文件,選擇該文件 Components 功能區后打開 Software Component Selection,選擇“DSAD0”模塊。

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

圖14 選擇 DSAD0 模塊

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

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

圖15 設置 ADC 的采樣率、通道數等參數

生成 ADC 代碼后,打開工程文件,在 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 配置完成,在主函數頁面添加如下圖 (圖16) 代碼:

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

圖16 主函數下的代碼

完整代碼如下:

/***********************************************************************
*
*  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();//軟件觸發方式

  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;
}
右滑查看完整代碼 代碼添加完畢后,可點擊如下圖 (圖17) 所示界面圖標進行編譯代碼:

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

圖17 編譯代碼

四、燒錄程序

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

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

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

分別為 6 個通道設置的電壓值如下表:

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

實測結果 (用串口打印) 如下圖 (圖19) 所示:

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

圖19 實測結果

總結

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7707

    瀏覽量

    152554
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17445

    瀏覽量

    354024
  • adc
    adc
    +關注

    關注

    99

    文章

    6565

    瀏覽量

    546595
  • 瑞薩
    +關注

    關注

    36

    文章

    22319

    瀏覽量

    87120
  • 串口
    +關注

    關注

    14

    文章

    1569

    瀏覽量

    77591

原文標題:瑞薩 RX23E-A MCU UART 和 ADC 調試經驗分享

文章出處:【微信號:駿龍電子,微信公眾號:駿龍電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    電子新推32位RX系列微控制器RX23E-A產品組

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

    電子推出RX23E-A MCU入門套件 具備業界一流高精度模擬前端

    電子物聯網平臺業務部營銷副總裁Daryl Khoo表示:“用于工業物聯網傳感器的RX23E-A是集成了高精度AFE的單芯片解決方案,無需校準即可達到0.1%以內的精度。
    發表于 03-24 10:56 ?1140次閱讀

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

    2019年5月28日,全球領先的半導體解決方案供應商電子株式會社宣布推出32位RX系列微控制器(MCURX23E-A產品組,將高精度模
    發表于 05-29 10:50 ?926次閱讀

    什么是RX23E-A物聯網時代的數據采集和分布式處理

      該解決方案已作為應用說明“RX23E-A 組通道間隔離模擬測量系統”(文檔編號 R01AN5679EJ0110)在網上發布。
    的頭像 發表于 04-26 10:45 ?1422次閱讀
    什么是<b class='flag-5'>RX23E-A</b>物聯網時代的數據采集和分布式處理

    利用RX23E-A 32位MCU實現熱電Peltier控制器

      級聯控制是一種用于需要精確控制的應用中的控制方法,而RX23E-A具有許多功能,可以通過單個芯片來實現。我們已經開發了演示套件,并確認可以實現約5 m°C的控制分辨率。
    的頭像 發表于 04-29 10:20 ?1638次閱讀
    利用<b class='flag-5'>RX23E-A</b> 32位<b class='flag-5'>MCU</b>實現熱電Peltier控制器

    RX23E-A 組數據表 Rev.1.20

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

    RX23E-A 組用戶手冊:硬件 Rev.1.20

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

    RSSKRX23E-A Renesas Solution Stater Kit for RX23E-A 快速入門指南

    RSSKRX23E-A Renesas Solution Stater Kit for RX23E-A 快速入門指南
    發表于 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> 快速入門指南

    RX23E-A 組數據表 Rev.1.20

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

    RX23E-A 組用戶手冊:硬件 Rev.1.20

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

    RSSKRX23E-A Renesas Solution Stater Kit for RX23E-A 快速入門指南

    RSSKRX23E-A Renesas Solution Stater Kit for RX23E-A 快速入門指南
    發表于 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> 快速入門指南

    不斷升級的傳感器設備和基于RX23E-A單芯片MCU的測力傳感器

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

    面向高端工業傳感器系統推出高精度模擬前端的32位RX MCU

    全球半導體解決方案供應商電子(TSE:6723)宣布面向高端工業傳感器系統推出一款全新RX產品——RX23E-B,擴展32位微控制器(MCU
    的頭像 發表于 11-23 13:59 ?535次閱讀

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

    RX23E-A的目標應用是需要高精度模擬的工業傳感器設備。例如,溫度控制器、記錄儀、壓力表、力傳感器、體重秤等。
    的頭像 發表于 04-25 14:17 ?1049次閱讀
    <b class='flag-5'>RX23E-A</b> 24bitΔΣ<b class='flag-5'>ADC</b>基礎篇(4) <b class='flag-5'>RX23E-A</b>詳解
    主站蜘蛛池模板: 免费观看黄色网页 | 美女好紧好大好爽12p | 成人国产亚洲欧美成人综合网 | 成人宗合网 | 永久免费视频网站在线观看 | 7777sq国产精品 | 欧美三级网站 | 综合免费视频 | 免费免播放器在线视频观看 | 成年大片免费视频播放手机不卡 | 午夜女上男下xx00xx00动态 | 三级黄色a | 亚洲欧美色中文字幕 | 网色| 91大神在线观看精品一区 | 国内精品久久久久影院男同志 | 韩国r天堂| 高清欧美日本视频免费观看 | 久久精品女人天堂 | 天堂网www天堂在线网 | 99精品国产在热久久 | 亚洲午夜精品久久久久久成年 | 欧美 变态 另类 人妖班 | 窝窝午夜看片 | 欧美日韩国产成人精品 | 777奇米影视笫四色88me久久综合 | 色综合综合色综合色综合 | 男人在线网站 | 久久免费视频精品 | 成人a网| 啪啪网站免费看 | 夜夜夜夜夜操 | 免费一级欧美片在线观免看 | 免费爱爱网| 久久午夜免费视频 | 一级a级国产不卡毛片 | 天天爽夜爽免费精品视频 | 国产亚洲视频在线 | 91精品国产91久久久久青草 | 四虎4hu永久在线观看 | 日韩一卡 二卡 三卡 四卡 免费视频 |