日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

RA生態(tài)工作室 ? 2024-06-26 08:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

wKgZomaCS6-AFTt0AAALYEkxgXc557.png

RA2L1產(chǎn)品組基于ArmCortex-M23 核心(現(xiàn)今 ArmCortex-M系列中功耗最低的 CPU)。這款產(chǎn)品采用優(yōu)化的制程和瑞薩電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。RA2L1產(chǎn)品組能夠支持1.6V至5.5V寬電壓工作,CPU時鐘頻率最高48MHz,且運行模式電流和待機模式電流更低。RA2L1產(chǎn)品群配備了增強型電容式觸摸感應(yīng)單元(CTSU2)、CAN控制器局域網(wǎng)總線,串行通信接口、高精度模擬電路和定時器。產(chǎn)品封裝從48引腳到100引腳。

wKgaomaCTEaAKSfBAAIixMOkB48221.png

控制器局域網(wǎng)CAN模塊簡介

控制器局域網(wǎng)(CAN)模塊使用基于消息的協(xié)議在電磁噪聲應(yīng)用中的多個從機和主機之間接收和傳輸數(shù)據(jù)。

該模塊符合ISO11898-1(CAN2.0A / CAN2.0B)標準,最多支持32個郵箱,可配置為普通郵箱和FIFO模式下的發(fā)送或接收。支持標準(11位)和擴展(29位)消息格式。CAN模塊需要額外的外部CAN收發(fā)器。

CAN模塊框圖

wKgZomaCTEaAEO5AAACScAIDORY881.png

wKgaomaCS-WAUHazAAAfo_mCIs8093.png

CAN模塊參數(shù)規(guī)格

wKgZomaCTEaAJah1AAMIgVqn2lQ785.pngwKgZomaCTEaAPOUMAACXFdojeYY446.png

RA2L1 CAN通信應(yīng)用例程

使用官方e2studio開發(fā)工具創(chuàng)建RA2L1工程,并添加CAN外設(shè)模塊底層應(yīng)用。

wKgaomaCTEaAUpnTAABG5-X0Vjs570.png

配置CAN模塊參數(shù)(包括通信速率、引腳配置等)。

wKgaomaCTEeAezt6AAChEAhcm3Y135.png

CAN應(yīng)用參考代碼

#define WAIT_TIME (500U) //wait time value #define CAN_MAILBOX_NUMBER_TX (0U) //mail box number #define CAN_MAILBOX_NUMBER_RX (1U) #define CAN_FRAME_TRANSMIT_DATA_BYTES (8U) //data length #define ZERO (0U) /* Private global variables*/ /* Flags, set from Callback function */ static volatile bool b_can_tx = false; //CAN transmission status static volatile bool b_can_rx = false; //CAN receive status static volatile bool b_can_err = false; //CAN error status /* CAN frames for tx and rx */ static can_frame_t g_can_tx_frame; //CAN transmit frame static can_frame_t g_can_rx_frame; //CAN receive frame void hal_entry(void) { /* TODO: add your own code here */ fsp_err_t err = FSP_SUCCESS; uint32_t time_out = WAIT_TIME; // time out uint8_t can_tx_msg[CAN_FRAME_TRANSMIT_DATA_BYTES] = {0,1,2,3,4,5,6,7}; uint8_t can_rx_msg[CAN_FRAME_TRANSMIT_DATA_BYTES] = {0}; /* Initializes the CGC module. */ err = R_CGC_Open(&g_cgc0_ctrl, &g_cgc0_cfg); /* Handle any errors. This function should be defined by the user. */ assert(FSP_SUCCESS == err); /* Start the CGC_CLOCK_MAIN_OSC. */ err = R_CGC_ClockStart(&g_cgc0_ctrl, CGC_CLOCK_MAIN_OSC, NULL); assert(FSP_SUCCESS == err); /* Initialize CAN module */ err = R_CAN_Open(&g_can_ctrl, &g_can_cfg); /* Error trap */ if(FSP_SUCCESS != err) { __asm("BKPT #0\n"); } g_can_tx_frame.id = CAN_MAILBOX_NUMBER_TX; g_can_tx_frame.type = CAN_FRAME_TYPE_DATA; g_can_tx_frame.data_length_code = CAN_FRAME_TRANSMIT_DATA_BYTES; /* copy the tx data frame with TX_MSG */ memcpy((uint8_t*)&g_can_tx_frame.data[ZERO], (uint8_t*)&can_tx_msg[ZERO], CAN_FRAME_TRANSMIT_DATA_BYTES); err = R_CAN_Write(&g_can_ctrl, CAN_MAILBOX_NUMBER_TX, &g_can_tx_frame); /* Error trap */ if (FSP_SUCCESS != err) { err = R_CAN_Close(&g_can_ctrl); if (FSP_SUCCESS != err) { __asm("BKPT #0\n"); } } while(1) { /* check if receive flag is set */ if (true == b_can_rx) { /* Reset flag bit */ b_can_rx = false; g_can_rx_frame.data[CAN_FRAME_TRANSMIT_DATA_BYTES-1] = g_can_rx_frame.id; /* Transmit the rx data frame as acknowledging the data transfer is successful */ err = R_CAN_Write (&g_can_ctrl, CAN_MAILBOX_NUMBER_TX, &g_can_rx_frame); /* Error trap */ if (FSP_SUCCESS != err) { err = R_CAN_Close(&g_can_ctrl); if (FSP_SUCCESS != err) { __asm("BKPT #0\n"); } } /* wait for transmit flag bit to set */ while ((true != b_can_tx) && (time_out--)); if (0 == time_out) { __asm("BKPT #0\n"); } /* Reset flag bit */ b_can_tx = false; } } } void can_callback(can_callback_args_t *p_args) { switch (p_args->event) { case CAN_EVENT_TX_COMPLETE: { b_can_tx = true; //set flag bit break; } case CAN_EVENT_RX_COMPLETE: { b_can_rx = true; //copy the received data to rx_frame memcpy(&g_can_rx_frame, p_args->p_frame, sizeof(can_frame_t)); break; } case CAN_EVENT_MAILBOX_MESSAGE_LOST: //overwrite/overrun error event case CAN_EVENT_BUS_RECOVERY: //Bus recovery error event case CAN_EVENT_ERR_BUS_OFF: //error Bus Off event case CAN_EVENT_ERR_PASSIVE: //error passive event case CAN_EVENT_ERR_WARNING: //error warning event { b_can_err = true; //set flag bit break; } } }

CAN通信實測驗證

RA2L1芯片內(nèi)部只有CAN控制器,需要與外部CAN設(shè)備通信時,還需要外接CAN收發(fā)器。

CAN收發(fā)器應(yīng)用參考原理圖

wKgZomaCTEeAHUQHAACZljcIrm8107.png

使用USB-CAN工具測試CAN通信

wKgaomaCTEeAb6u5AAOzHKSAYKo898.png

a. 接收不到ID為0的數(shù)據(jù)

wKgZomaCTEeAAowdAACgQvFixMQ916.png

b. 禁止Mask功能后,可接收所有ID的數(shù)據(jù).

wKgaomaCTEeAO8QfAACkjXlEuDY022.png

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

    關(guān)注

    147

    文章

    19160

    瀏覽量

    404733
  • CAN通信
    +關(guān)注

    關(guān)注

    5

    文章

    107

    瀏覽量

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

    關(guān)注

    38

    文章

    22520

    瀏覽量

    91299
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RA2L1系列MCU簡介和CAN通信應(yīng)用例程

    RA2L1產(chǎn)品組基于Arm Cortex-M23 核心(現(xiàn)今 Arm Cortex-M系列中功耗最低的 CPU)。這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低
    的頭像 發(fā)表于 10-27 15:50 ?3770次閱讀

    RA MCU眾測寶典 | 串口之【RA-Eco-RA2L1】RTC日歷及串口設(shè)置時間

    “RAMCU眾測寶典”串口專題添硬核實操!開啟寶典前言RAMCU眾測寶典|串口之【RA2L1】開發(fā)板開箱及串口輸出實現(xiàn)RAMCU眾測寶典|PWM之【RA2L1】呼吸燈ADC/DAC
    的頭像 發(fā)表于 04-21 18:07 ?6505次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b> MCU眾測寶典 | 串口之【<b class='flag-5'>RA-Eco-RA2L1</b>】RTC日歷及串口設(shè)置時間

    RA2L1入門學(xué)習(xí)】+Key控制LED實驗

    基于 Arm? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。
    發(fā)表于 03-07 15:16

    RA2L1入門學(xué)習(xí)】+開箱評測

    R7FA2L1AB2DFL。RA2L1 產(chǎn)品組采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。 本次收到的開發(fā)板印刷RA
    發(fā)表于 03-09 07:40

    RA2L1入門學(xué)習(xí)】+UART測試

    基于 Arm? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。
    發(fā)表于 03-09 16:52

    RA2L1入門學(xué)習(xí)】+Led flash

    ? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。 RA2L
    發(fā)表于 03-09 17:12

    RA2L1入門學(xué)習(xí)】+Key control LED

    ? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。 RA2L
    發(fā)表于 03-09 17:21

    RA2L1入門學(xué)習(xí)】+Uart printf

    ? Cortex?-M23 核心(現(xiàn)今 Arm? Cortex-M 系列中功耗最低的 CPU)。 這款產(chǎn)品采用優(yōu)化的制程和電子的低功耗工藝技術(shù),是業(yè)界一流水平的超低功耗微控制器。 RA2L
    發(fā)表于 03-09 17:33

    RA2L1入門學(xué)習(xí)】開箱 + 點亮LED燈

    寬電壓工作范圍** ,集成了電容觸摸、高精度模擬和多種定時器資源。 收到開發(fā)板后,包裝比較簡潔,主要包括: RA2L1 開發(fā)板 二、開發(fā)環(huán)境準備 官方推薦使用: 1. 安裝 e
    發(fā)表于 04-28 15:24

    RA2系列開發(fā)板體驗】RA2L1試用筆記

    前言??早聽說過這個芯片品牌,好像是電賽的贊助商。有機會申請到了RA2L1 的開發(fā)板試用,因為工作上會用到CAN通信所以專門選了帶
    發(fā)表于 12-14 15:15

    電子RA2L1英文數(shù)據(jù)手冊

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

    RA2L1:使用CLKOUT給MCU CAN模塊提供時鐘

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

    電子RA2L1 MCU產(chǎn)品介紹

    RA2L1 MCU是RA家族RA2系列廣受歡迎的一款產(chǎn)品。
    的頭像 發(fā)表于 12-10 10:51 ?2006次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA2L1</b> MCU產(chǎn)品介紹

    RA家族精品RA2L1產(chǎn)品介紹

    RA2L1MCU是RA家族RA2系列廣受歡迎的一款產(chǎn)品。
    的頭像 發(fā)表于 12-27 18:07 ?1532次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>家族精品<b class='flag-5'>RA2L1</b>產(chǎn)品介紹

    RA2L1微控制器:架構(gòu)特點及應(yīng)用分析

    RA2L1微控制器:架構(gòu)特點及應(yīng)用分析 在當前電子設(shè)備不斷追求低功耗與高性能的大趨勢下,電子推出的
    的頭像 發(fā)表于 04-01 11:20 ?188次閱讀
    滦平县| 拉萨市| 成安县| 宜春市| 双柏县| 巧家县| 土默特左旗| 凌云县| 呈贡县| 米脂县| 渑池县| 芜湖县| 和龙市| 巍山| 晋宁县| 报价| 北流市| 蓬莱市| 大埔区| 垣曲县| 余干县| 绵阳市| 克东县| 晋州市| 宁河县| 苍山县| 阳朔县| 渝北区| 兴仁县| 崇阳县| 广元市| 婺源县| 南华县| 万安县| 沅陵县| 遵义县| 应城市| 荣昌县| 保康县| 上杭县| 邵阳县|