本帖最后由 lyyinhe_xi 于 2023-6-6 10:14 编辑

     感谢测评机会:RA-Eco-RA2E1开发板,主芯片型号为R7FA2E1A7DFL
     基于arm的CM23内核, 64kB 的闪存以及 16kB SRAM,4kB 数据闪存,提供与 EEPROM 类似的数据存储功能,48引脚封装,1.6V - 5.5V 的宽工作电压范围,增强型电容式触摸感应单元 (CTSU)。
    微信图片_20230604152009.jpg
       引脚定义:
      Pin Configurations
      R7FA2E1A72DFL.pincfg -> g_bsp_pin_cfg
      AVCC0 42 ANALOG0_AVCC0 - - - - - - - - IO "Read only" -
      AVSS0 43 ANALOG0_AVSS0 - - - - - - - - IO "Read only" -
      P000 48 - - - - Disabled - - "ADC0: AN00; CTSU0: TS21; IC
U0: IRQ06" - None - -
      P001 47 - - - - Disabled - - "ADC0: AN01; CTSU0: TS22; ICU0: IRQ07" - None - -
      P002 46 - - - - Disabled - - "ADC0: AN02; CTSU0: TS23; ICU0: IRQ02" - None - -
      P010 45 - - - - Disabled - - "ADC0: AN05; ANALOG0: VREFH0; CTSU0: CFCTS30" - None - -
      P011 44 - - - - Disabled - - "ADC0: AN06; ANALOG0: VREFL0; CTSU0: CFCTS31" - None - -
      P012 41 - - - - Disabled - - "ADC0: AN07; CTSU0: CFCTS32" - None - -
      P013 40 - - - - Disabled - - "ADC0: AN08; CTSU0: CFCTS33" - None - -
      P014 39 - - - - Disabled - - "ADC0: AN09" - None - -
      P015 38 GPIO - - None "Input mode" - None "ADC0: AN10; CTSU0: CFCTS28; ICU0: IRQ07" - IO - -
      P100 36 - - - - Disabled - - "ACMPLP0: CMPIN; ADC0: AN22; AGT0: AGTIO; CTSU0: CFCTS26; GPT_POEG0: GTETRG; GPT8: GTIOCB; ICU0: IRQ02; IIC0: SCL; KINT0: KRM0; SCI0: RXD; SCI0: SCL; SCI1: SCK; SPI0: MISO" - None - -
      P101 35 - - - - Disabled - - "ACMPLP0: CMPREF; ADC0: AN21; AGT0: AGTEE; CTSU0: CFCTS16; GPT_POEG1: GTETRG; GPT8: GTIOCA; ICU0: IRQ01; IIC0: SDA; KINT0: KRM1; SCI0: SDA; SCI0: TXD; SCI1: CTS; SPI0: MOSI" - None - -
      P102 34 - - - - Disabled - - "ACMPLP1: CMPIN; ADC0: ADTRG; ADC0: AN20; AGT0: AGTO; CTSU0: CFCTS15; GPT_OPS0: GTOWLO; GPT5: GTIOCB; KINT0: KRM2; SCI0: SCK; SCI2: SDA; SCI2: TXD; SPI0: RSPCK" - None - -
      P103 33 GPIO - Low - "Output mode (Initial Low)" CMOS - "ACMPLP1: CMPREF; ADC0: AN19; CTSU0: CFCTS14; GPT_OPS0: GTOWUP; GPT5: GTIOCA; KINT0: KRM3; SCI0: CTS; SPI0: SSL0" - IO - -
      P104 32 - - - - Disabled - - "CTSU0: CFCTS13; GPT_POEG1: GTETRG; GPT4: GTIOCB; ICU0: IRQ01; KINT0: KRM4; SCI0: RXD; SCI0: SCL; SPI0: SSL1" - None - -
      P108 25 DEBUG0_SWDIO - Low - "Peripheral mode" - None "DEBUG0: SWDIO; GPT_OPS0: GTOULO; GPT0: GTIOCB; SCI9: CTS" - IO - -
      P109 26 - - - - Disabled - - "CGC0: CLKOUT; CTSU0: CFCTS10; GPT_OPS0: GTOVUP; GPT4: GTIOCA; SCI1: SCK; SCI9: SDA; SCI9: TXD" - None - -
      P110 27 - - - - Disabled - - "ACMP(0-1): VCOUT; CTSU0: CFCTS11; GPT_OPS0: GTOVLO; GPT4: GTIOCB; ICU0: IRQ03; SCI2: CTS; SCI9: RXD; SCI9: SCL" - None - -
      P111 28 - - - - Disabled - - "AGT0: AGTOA; CTSU0: CFCTS12; GPT6: GTIOCA; ICU0: IRQ04; SCI2: SCK; SCI9: SCK" - None - -
      P112 29 - - - - Disabled - - "AGT0: AGTOB; CTSU0: TSCAP; GPT6: GTIOCB; SCI1: SCK; SCI2: SDA; SCI2: TXD" - None - -
      P200 21 - - - - Disabled - - "ICU0: NMI" - None - -
      P201 20 - - - - Disabled - - "SYSTEM0: MD" - None - -
      P206 18 - - - - Disabled - - "GPT_OPS0: GTIU; ICU0: IRQ00; SCI0: RXD; SCI0: SCL" - None - -
      P207 17 - - - - Disabled - - - - None - -
      P208 16 - - - - Disabled - - "AGT0: AGTOB" - None - -
      P212 8 - - - - Disabled - - "AGT1: AGTEE; CGC0: EXTAL; GPT_POEG1: GTETRG; GPT0: GTIOCB; ICU0: IRQ03; SCI1: RXD; SCI1: SCL" - None - -
      P213 7 - - - - Disabled - - "CGC0: XTAL; GPT_POEG0: GTETRG; GPT0: GTIOCA; ICU0: IRQ02; SCI1: SDA; SCI1: TXD" - None - -
      P214 5 - - - - Disabled - - "CGC0: XCOUT" - None - -
      P215 4 - - - - Disabled - - "CGC0: XCIN" - None - -
      P300 24 DEBUG0_SWCLK - Low - "Peripheral mode" - None "DEBUG0: SWCLK; GPT_OPS0: GTOUUP; GPT0: GTIOCA" - IO - -
      P301 23 - - - - Disabled - - "AGT0: AGTIO; CTSU0: CFCTS09; GPT_OPS0: GTOULO; GPT7: GTIOCB; ICU0: IRQ06; SCI2: RXD; SCI2: SCL; SCI9: CTS" - None - -
      P302 22 - - - - Disabled - - "CTSU0: CFCTS08; GPT_OPS0: GTOUUP; GPT7: GTIOCA; ICU0: IRQ05; SCI2: SDA; SCI2: TXD" - None - -
      P400 1 - - - - Disabled - - "AGT1: AGTIO; CAC0: CACREF; GPT9: GTIOCA; ICU0: IRQ00; IIC0: SCL; SCI0: SCK; SCI1: SCK" - None - -
      P401 2 - - - - Disabled - - "GPT_POEG0: GTETRG; GPT9: GTIOCB; ICU0: IRQ05; IIC0: SDA; SCI0: CTS; SCI1: SDA; SCI1: TXD" - None - -
      P407 12 - - - - Disabled - - "ADC0: ADTRG; AGT0: AGTIO; IIC0: SDA; RTC0: RTCOUT; SCI0: CTS" - None - -
      P408 11 - - - - Disabled - - "CTSU0: TS04; GPT_OPS0: GTOWLO; ICU0: IRQ07; IIC0: SCL; SCI1: CTS" - None - -
      P409 10 - - - - Disabled - - "CTSU0: TS05; GPT_OPS0: GTOWUP; ICU0: IRQ06" - None - -
      P500 37 - - - - Disabled - - "GPT_OPS0: GTIU; GPT5: GTIOCA" - None - -
      P913 15 - - - - Disabled - - "AGT1: AGTIO; GPT_POEG0: GTETRG" - None - -
      P914 14 - - - - Disabled - - "AGT1: AGTOA; GPT_POEG1: GTETRG" - None - -
      P915 13 - - - - Disabled - - - - None - -
      RES# 19 SYSTEM0_RES - - - - - - - - IO "Read only" -
      VCC 9 SYSTEM0_VCC - - - - - - - - IO "Read only" -
      VCC 30 SYSTEM0_VCC - - - - - - - - IO "Read only" -
      VCL 3 SYSTEM0_VCL - - - - - - - - IO "Read only" -
      VSS 6 SYSTEM0_VSS - - - - - - - - IO "Read only" -
      VSS 31 SYSTEM0_VSS - - - - - - - - IO "Read only" -
      一个明显的特点是和是STM32端口名为PA1、PC13不同,瑞萨的端口名定义为P101、P213,如板载按钮标有P015,板载LED标有P103、P104,触摸按钮标有P109、P110等。
       DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃,一般采用外部供电方式,并且在数据线上并联一个4.7k的上拉电阻,以增强数据的抗干扰能力。
       640.jpg
       单线数据传输,我们选择连至P213端口。
       为了快速编程,下载瑞萨模板实例:https://github.com/renesas
       360截图20230604154235195.jpg
      配置端口:
       static void bsp_vbatt_init (ioport_cfg_t const * const p_pin_cfg);
       static void r_ioport_pins_config(const ioport_cfg_t * p_cfg);
      读取DS18B20温度值:
  1. short DS18B20_Get_Temperature(void){
  2.   uint8_t temp;
  3.   uint8_t TL,TH;
  4.   short temperature;
  5.         
  6.   DS18B20_Start();
  7.   DS18B20_Rst();
  8.   DS18B20_Check();
  9.   DS18B20_Write_Byte(0xcc);
  10.   DS18B20_Write_Byte(0xbe);
  11.   TL = DS18B20_Read_Byte();
  12.   TH = DS18B20_Read_Byte();
  13.         
  14.   if(TH>7){
  15.     TH = ~TH;
  16.     TL = ~TL;
  17.     temp = 0;
  18.   }else
  19.     temp = 1;
  20.         
  21.   temperature = TH;
  22.   temperature <<= 8;
  23.   temperature += TL;
  24.   temperature = (float)temperature*0.625;
  25.   if(temperature)
  26.     return temperature;
  27.   else
  28.     return -temperature;
  29. }
         串口输出温度值:
  1. void UART0_Init(void)
  2. {
  3. fsp_err_t err = FSP_SUCCESS;
  4. err = R_SCI_UART_Open (&g_uart0_ctrl, &g_uart0_cfg);
  5. assert(FSP_SUCCESS == err);
  6. }
  7. void Uart0_Callback (uart_callback_args_t * p_args)
  8. {
  9.         switch (p_args->event)
  10.         {
  11.                 case UART_EVENT_RX_CHAR:
  12.                 {
  13.                         R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t *)&(p_args->data), 1);
  14.                         break;
  15.                 }
  16.                 case UART_EVENT_TX_DATA_EMPTY:
  17.                 {
  18.                         uart_send_complete_flag = true;
  19.                         break;
  20.                 }
  21.                 default:
  22.                         break;
  23.         }
  24. }