RA2L1:使用CLKOUT给MCU CAN模块提供时钟

电子说

1.3w人已加入

描述

测试目标

本次测试用的是RA生态工作室提供的R7FA2L1AB2DFL demo板,测试CLKOUT提供时钟驱动CAN通讯。

1、CAN模块的时钟

CAN模块

2、CLKOUT配置

CAN模块
CAN模块

3、晶振配置

CAN模块

4、CAN配置

CAN模块

生成代码后添加外部时钟初始化

 

void CLK_Init (void)

{

   /* Define the units to be used with the software delay function */

     const bsp_delay_units_t bsp_delay_units = BSP_DELAY_UNITS_MILLISECONDS;



     /* Unlock CGC and LPM protection registers. */

    R_SYSTEM->PRCR = 0xA503;

    /* Configure main oscillator drive. */

   // R_SYSTEM->MOMCR = 0x00;



     R_SYSTEM->MOMCR = 0x40;



    /* Set the main oscillator wait time. */

    R_SYSTEM->MOSCWTCR = 0x09;



    R_SYSTEM->MOSCCR = 0U;



    /* Wait for main oscillator to stabilize. */

    FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.MOSCSF, 1U);



    /* Lock CGC and LPM protection registers. */

    R_SYSTEM->PRCR = 0xA500;



    R_BSP_SoftwareDelay(10, bsp_delay_units);

}

 

在CAN初始化之前调用void CLK_Init (void) 函数。

搭建测试环境

1)硬件上把CLKOUT和EXTAL相连接。

2)把CANH、CANL连接到CAN板的CANH、CANL。

CAN模块

3)打开CAN的上位机发送接收数据。

CAN模块

显示接收发送都成功,接收帧和程序里面一样。

结论

CLKOUT输出时钟代替外部晶振,可以驱动CAN,节省一个外部晶振。

来源:瑞萨MCU小百科

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分