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

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

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

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

基于RA2L1實(shí)現(xiàn)串口DTC數(shù)據(jù)接收

瑞薩MCU小百科 ? 來(lái)源:瑞薩MCU小百科 ? 2023-05-04 10:50 ? 次閱讀

介紹

開(kāi)發(fā)環(huán)境:IAR FOR ARM 9.30.1

RASC V4.3.0

芯片型號(hào):R7FA2L1AB2DFL#AA0

功能描述

在串口+DTC功能時(shí)無(wú)法得知接收一幀數(shù)據(jù)是否接收結(jié)束。本例程配合ELC功能聯(lián)動(dòng)定時(shí)器來(lái)判斷串口接收字節(jié)與字節(jié)之間超時(shí)來(lái)判斷一幀數(shù)據(jù)的接收完成。

主要內(nèi)容

1新建RASC工程

RASC v4.3.0下載鏈接:

https://github.com/renesas/fsp/releases

如下圖所示:

dfd44254-e71f-11ed-ab56-dac502259ad0.png

2安裝好RASC

默認(rèn)安裝目錄:

C:RenesasRAsc_v2023-01_fsp_v4.3.0

雙擊dfe5afd0-e71f-11ed-ab56-dac502259ad0.png?運(yùn)行RASC

dff0512e-e71f-11ed-ab56-dac502259ad0.png

3打開(kāi)后如下圖所示:

dff98b90-e71f-11ed-ab56-dac502259ad0.png

4新建工程

e0048b8a-e71f-11ed-ab56-dac502259ad0.pnge012d24e-e71f-11ed-ab56-dac502259ad0.pnge0225e62-e71f-11ed-ab56-dac502259ad0.pnge02dd81e-e71f-11ed-ab56-dac502259ad0.pnge037ea34-e71f-11ed-ab56-dac502259ad0.png

5配置串口PIN腳功能

e044378a-e71f-11ed-ab56-dac502259ad0.png

6添加串口功能

e066db00-e71f-11ed-ab56-dac502259ad0.png

7添加串口dtc收發(fā)功能

e06ff82a-e71f-11ed-ab56-dac502259ad0.pnge07a4cee-e71f-11ed-ab56-dac502259ad0.png

8配置串口屬性

e08194a4-e71f-11ed-ab56-dac502259ad0.pnge08e2994-e71f-11ed-ab56-dac502259ad0.png

9添加定時(shí)器

e098d560-e71f-11ed-ab56-dac502259ad0.png

10配置定時(shí)器

這里以超時(shí)時(shí)間為2ms為例,用戶(hù)可以根據(jù)實(shí)際情況超時(shí)時(shí)間。

e0a90836-e71f-11ed-ab56-dac502259ad0.pnge0c04b0e-e71f-11ed-ab56-dac502259ad0.pnge0caf0fe-e71f-11ed-ab56-dac502259ad0.png

11添加ELC

e0d50f30-e71f-11ed-ab56-dac502259ad0.png

12所需外設(shè)都已經(jīng)配置好,生成IAR工程

e0ef3608-e71f-11ed-ab56-dac502259ad0.png

13打開(kāi)IAR工程

e0fc28fe-e71f-11ed-ab56-dac502259ad0.png

14在hal_entry.c文件添加如下代碼:

#define TRANSFER_LENGTH     512
transfer_properties_t uart0_dtcinfo1;


typedef struct sf_uart_conf
{
  uint8_t uart_txflag;                //發(fā)送標(biāo)志
  uint8_t uart_rxflag;                //接收標(biāo)志
  uint16_t uart_txlen;                //發(fā)送長(zhǎng)度
  uint16_t uart_rxlen;                //接收長(zhǎng)度
  uint8_t uart_rxbuf[TRANSFER_LENGTH];        //接收buf
  uint8_t uart_txbuf[TRANSFER_LENGTH];        //發(fā)送buf
} sf_uart_conf_t;


sf_uart_conf_t uart0;
//2ms定時(shí)器0回調(diào)函數(shù)
void uart0_rxtimeout_cb( timer_callback_args_t* p_args )
{
  if ( TIMER_EVENT_CYCLE_END == p_args->event )
  {
    //關(guān)定時(shí)器0
    ( void ) R_GPT_Stop( &g_timer0_ctrl );
    //獲取串口0 接收DTC信息
    R_DTC_InfoGet( &g_transfer1_ctrl, &uart0_dtcinfo1 );
    //計(jì)算串口0接收長(zhǎng)度
    uart0.uart_rxlen = TRANSFER_LENGTH - uart0_dtcinfo1.transfer_length_remaining;
    //置發(fā)送標(biāo)志
    uart0.uart_rxflag = 1;
  }
}
//串口中斷回調(diào)函數(shù)
void uart0isr_cb( uart_callback_args_t* p_args )
{
  /* Handle the UART event */
  switch ( p_args->event )
  {
    /* Received a character */
    case UART_EVENT_RX_CHAR:
      {
        break;
      }
    /* Receive complete */
    case UART_EVENT_RX_COMPLETE:
      {
        break;
      }
    /* Transmit complete */
    case UART_EVENT_TX_COMPLETE:
      {
       //置串口0發(fā)送完成標(biāo)志,清接收標(biāo)志
        uart0.uart_rxflag = 0;
        uart0.uart_txflag = 1;
        break;
      }
    default:
      {
      }
  }
}
void hal_entry(void)
{
 /* TODO: add your own code here */
 //初始化定時(shí)器0 2ms間隔中斷
  R_GPT_Open( &g_timer0_ctrl, &g_timer0_cfg );
  //初始化串口0
  R_SCI_UART_Open( &g_uart0_ctrl, &g_uart0_cfg );
  //初始化ELC聯(lián)動(dòng)
  R_ELC_Open( &g_elc_ctrl, &g_elc_cfg );
  //使能ECL
  R_ELC_Enable( &g_elc_ctrl );
  //使能定時(shí)器0
  ( void ) R_GPT_Enable( &g_timer0_ctrl );
  //智串口0發(fā)送標(biāo)志
  uart0.uart_txflag = 1;
  while ( true )
  {
    if ( uart0.uart_rxflag )
    {
      uart0.uart_rxflag = 0;
      uart0.uart_txlen = uart0.uart_rxlen;
      R_SCI_UART_Write( &g_uart0_ctrl, uart0.uart_rxbuf, uart0.uart_txlen );
    }
    if ( uart0.uart_txflag )
    {
      uart0.uart_txflag = 0;
      R_SCI_UART_Read( &g_uart0_ctrl, uart0.uart_rxbuf, TRANSFER_LENGTH );
    }
  }
#if BSP_TZ_SECURE_BUILD
  /* Enter non-secure code */
  R_BSP_NonSecureEnter();
#endif
}

15

仿真測(cè)試如下圖所示:

e105774c-e71f-11ed-ab56-dac502259ad0.png

結(jié)論

該方式?jīng)]有問(wèn)題,可以正常應(yīng)用到開(kāi)發(fā)中。

審核編輯:湯梓紅

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

    關(guān)注

    134

    文章

    9094

    瀏覽量

    367541
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3248

    瀏覽量

    114792
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    352

    瀏覽量

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

    關(guān)注

    14

    文章

    1554

    瀏覽量

    76512
  • 數(shù)據(jù)接收
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7813

原文標(biāo)題:基于RA2L1實(shí)現(xiàn)串口DTC數(shù)據(jù)接收

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    瑞薩電子RA2L1英文數(shù)據(jù)手冊(cè)

    本資料包含瑞薩電子RA2L1英文數(shù)據(jù)手冊(cè)
    發(fā)表于 10-21 16:21 ?0次下載

    RA2L1硬件用戶(hù)手冊(cè)(中英)

    RA2L1硬件用戶(hù)手冊(cè)(中英)
    發(fā)表于 11-07 19:49 ?7次下載
    <b class='flag-5'>RA2L1</b>硬件用戶(hù)手冊(cè)(中英)

    RA2L1開(kāi)發(fā)板資料

    RA2L1開(kāi)發(fā)板資料
    發(fā)表于 11-07 19:50 ?18次下載
    <b class='flag-5'>RA2L1</b>開(kāi)發(fā)板資料

    基于RA2L1串口及J-Link的燒寫(xiě)說(shuō)明

    使用串口和J-Link對(duì)RA2L1燒寫(xiě)程序 本節(jié)介紹使用串口工具對(duì)RA2L1進(jìn)行程序的燒寫(xiě)。采用CPK-RA2L1開(kāi)發(fā)板,硬件如下圖所示。
    的頭像 發(fā)表于 11-25 12:40 ?1585次閱讀

    基于RA2L1串口及J-Link的燒寫(xiě)說(shuō)明

    本節(jié)介紹使用串口工具對(duì)RA2L1進(jìn)行程序的燒寫(xiě)。采用CPK-RA2L1開(kāi)發(fā)板,硬件如下圖所示。
    的頭像 發(fā)表于 11-25 13:55 ?1750次閱讀

    RA2L1 組用戶(hù)手冊(cè):硬件

    RA2L1 組用戶(hù)手冊(cè):硬件
    發(fā)表于 01-09 19:06 ?5次下載
    <b class='flag-5'>RA2L1</b> 組用戶(hù)手冊(cè):硬件

    RA2L1數(shù)據(jù)

    RA2L1數(shù)據(jù)
    發(fā)表于 01-09 19:06 ?0次下載
    <b class='flag-5'>RA2L1</b> 組<b class='flag-5'>數(shù)據(jù)</b>表

    RA2L1 組電容式觸控評(píng)估系統(tǒng)快速入門(mén)指南

    RA2L1 組電容式觸控評(píng)估系統(tǒng)快速入門(mén)指南
    發(fā)表于 02-03 19:24 ?0次下載
    <b class='flag-5'>RA2L1</b> 組電容式觸控評(píng)估系統(tǒng)快速入門(mén)指南

    RA2L1 組用戶(hù)手冊(cè):硬件

    RA2L1 組用戶(hù)手冊(cè):硬件
    發(fā)表于 06-30 18:50 ?1次下載
    <b class='flag-5'>RA2L1</b> 組用戶(hù)手冊(cè):硬件

    RA2L1數(shù)據(jù)

    RA2L1數(shù)據(jù)
    發(fā)表于 06-30 18:50 ?0次下載
    <b class='flag-5'>RA2L1</b> 組<b class='flag-5'>數(shù)據(jù)</b>表

    RA2L1 組 Capacitive Touch Evaluation System 用戶(hù)手冊(cè)

    RA2L1 組 Capacitive Touch Evaluation System 用戶(hù)手冊(cè)
    發(fā)表于 07-04 20:38 ?0次下載
    <b class='flag-5'>RA2L1</b> 組 Capacitive Touch Evaluation System 用戶(hù)手冊(cè)

    RA2L1:使用CLKOUT給MCU CAN模塊提供時(shí)鐘

    RA2L1:使用CLKOUT給MCU CAN模塊提供時(shí)鐘
    的頭像 發(fā)表于 11-02 16:27 ?735次閱讀
    <b class='flag-5'>RA2L1</b>:使用CLKOUT給MCU CAN模塊提供時(shí)鐘

    基于RA2L1串口及J-Link的燒寫(xiě)說(shuō)明

    基于RA2L1串口及J-Link的燒寫(xiě)說(shuō)明
    的頭像 發(fā)表于 08-19 08:08 ?591次閱讀
    基于<b class='flag-5'>RA2L1</b>的<b class='flag-5'>串口</b>及J-Link的燒寫(xiě)說(shuō)明

    基于RA2L1實(shí)現(xiàn)串口DTC數(shù)據(jù)接收

    基于RA2L1實(shí)現(xiàn)串口DTC數(shù)據(jù)接收
    的頭像 發(fā)表于 10-10 09:34 ?549次閱讀
    基于<b class='flag-5'>RA2L1</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>串口</b><b class='flag-5'>DTC</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>接收</b>

    瑞薩RA2L1系列CAN通信應(yīng)用

    瑞薩RA2L1系列CAN通信應(yīng)用
    的頭像 發(fā)表于 06-26 08:06 ?608次閱讀
    瑞薩<b class='flag-5'>RA2L1</b>系列CAN通信應(yīng)用
    主站蜘蛛池模板: 热久久久久久| 亚洲人成电影综合网站色| 婷婷六月综合| 韩国特黄特色a大片免费| 日韩成人在线影院| 日本欧美视频| 久久精彩免费视频| 草草影院私人免费入口| 交在线观看网站视频| 日本成人在线网址| 久草视频这里只有精品| 国产黄页| 天堂在线最新版在线www| 亚洲视频五区| 人人干人人模| 天天干天天操天天爱| 人人澡人人搞| 神马电影天堂网| 最近视频在线播放免费观看| 男人操女人视频免费| 色欧美在线视频| 午夜欧美精品久久久久久久| 亚洲一区欧美一区| 女人张开腿 让男人桶视频| 国产福利乳摇在线播放| 99xxxx开心| 国产视频第一页| 狠狠色婷婷丁香综合久久韩国| 国产在线视频网站| 日本亚洲免费| 久久久五月天| 4388x17亚洲最大成人网| 色视频2| 天天做天天爱天天综合网2021 | 国产亚洲美女精品久久久久狼| 制服丝袜中文字幕第一页| 国产精品14p| 亚洲精品一区二区中文| 久久99精品久久久久久久野外| 最新sss华人| 欧美一级视频在线观看欧美|