瑞萨单片机CAN口复用唤醒

  • 瑞萨单片机睡眠模式
  • CAN总线唤醒的原理
  • 外部GPIO口唤醒步骤
  • 注意事项

目前笔者在公司实习接触到了瑞萨单片机
经过了一个月的踩坑已经对瑞萨单片机的开发有了一定的了解,现在刚好走到了瑞萨单片低功耗阶段
写这篇避坑博客的主要原因是——上班时间想摸鱼了。。。。
顺便帮助大家了解一下瑞萨单片机的部分内容~

想必大家接触瑞萨单片机一定是生产过程中需要,在此笔者假设读者已经有了一定基础。
本篇文章只提供思路,具体如何使用还需要大家自己界定。

瑞萨单片机睡眠模式

笔者的瑞萨开发板芯片为rh850系列(F1KMS4)

环境:CS+和smart configurator(后文称之为smart)
在smart里看到的睡眠方式有两种:
sleep和deep sleep(即为睡眠和深度睡眠)

CAN总线唤醒的原理

目前smart支持的can唤醒只有普通睡眠模式内存在
在深度睡眠的情况下是不支持can唤醒的

然而:大家可以通过将can口复用为外部中断GPIO口实现唤醒

由于CS+软件新建步骤太过繁琐(主要是坑太多),在这里不单独介绍。有需要的同学可以百度出来哈哈哈

外部GPIO口唤醒步骤

1.添加端口复用:
在smart的conmponents中添加外部中断组件Interrupt Controller (INTC)。

然后在smart的右方芯片图中找到你所使用的CAN接口的RX口右键,就能看到INTPxx的选项,这是的你就可以继续在组件中选择具体的INTP了。

2.添加睡眠唤醒:

在smart的conmponents中添加低功耗组件Stand-By Controller (STBC) 。

然后你就会看到睡眠模式和唤醒源选择了,选择Port作为唤醒源,勾选上你在上一步所选的INTP。

然后生成代码!
接下来就需要对程序进行操作了

3.首先在低功耗初始化中断中加入外部中断源

需要注意的是这两行函数,请替换为你自己生成的函数(在Config.INTC.c中有你自己的函数名)!
这两行函数的意思就是:创建中断源,然后开启外部中断。

4.然后在主函数中开启,只需等待CAN的到来即可啦

图中圈中前3个函数含义:准备睡眠,开始睡眠,关闭外部中断

切记注意:结束睡眠后一定要重新初始化CAN口(图中是R_canfd_init())和打开中断使能(图中是EI())。只有这样才能正常恢复到接收CAN状态和接收CAN后中断的状态。

注意事项

笔者在这里只写了低功耗的步骤,新建工程、中断使用等一系列步骤已经被省略(主要还是因为目前步骤太过繁琐)
瑞萨的开发人员似乎并没有把smart和CS+做的很完善,笔者在使用过程中踩过了太多的坑,很多本应是芯片厂商解决的问题居然抛给了用户去解决,不得不说小X本真的恶心啊。

简单的提供一下中断的思路

寄存器打开详细中断,boot内添加中断入口,boot内全局中断置1,主函数内打开中断使能EI();

瑞萨单片机CAN口复用唤醒相关推荐

  1. 瑞萨单片机之定时器中断实现数码管动态扫描(四)

    目录 一.实现原理 二.具体实现 三.例子 一.实现原理 数码管的驱动方式很简单,图中的A B C D E F G Dp (8个段 含点)分别代表的数码管的每个段(笔画),需要显示什么就把相应的段点亮 ...

  2. 瑞萨单片机C语言,瑞萨单片机学习笔记(1)基本配置

    根据自己的芯片家族选择不同的代码编辑工具及仿真工具 对应78K0系列单片机,推荐的是cubeSuite+集成开发环境,具体使用可以看帮助手册. 有接触过PIC.STC的单片机,瑞萨单片机有其独特的地方 ...

  3. 瑞萨单片机iap串口升级boot程序与app程序合并的工程构建-学习记录

    MCU型号: R7F0C004 编辑软件:CS+ for CC boot区程序地址分配:0x0000-0x1ffff app区程序地址分配: 0x2000-0xfffff 复制一份常规的app程序,然 ...

  4. 瑞萨单片机-硬件I2C从设备

    开发环境 1.e2 studio 2.R5F1115AxFL 概述 1.网上关于I2C从机的资料很少,在这里分享下我在瑞萨单片机上实现I2C从机,根据主机发来的数据,从机返回或者保存数据 2.R5F1 ...

  5. 瑞萨单片机c语言程序,瑞萨单片机开发环境系统用户手册.pdf

    RCC10J0005-0100 M16C R8C FOUSB/UART软件 用户手册 瑞萨单片机开发环境系统 Rev.1.00 发行:2006年10月27日 Keep safety first in ...

  6. 瑞萨单片机之电压检测器(低压复位)(六)

    目录 一.电压检测器的作用 二.电压检测器如何使用 一.电压检测器的作用 顾名思义,电压检测器就是用来检测电压的,电压检测器将检测到的电压与电源电压进行比较,比较完成后执行相应的动作:复位.复位&am ...

  7. 33、基于CACX和R7F0C004M的瑞萨单片机入门教程

    代码资源下载:https://download.csdn.net/download/BaoTTing/58444918 一.开发环境介绍 CS+ for CACX: 瑞萨单片机开发环境,已经停止更新, ...

  8. 瑞萨单片机 (R5F100LE) I2C IIC 电子指南针模块 HMC5883L

    2019独角兽企业重金招聘Python工程师标准>>> 电子指南针模块在智能车和飞行器上是很常用的模块,这篇文章就介绍一下瑞萨单片机如何使用HMC5883L,HMC5883L使用I2 ...

  9. 瑞萨单片机之开发环境的搭建(一)

    目录 一.开发环境搭建 二.开发环境界面设置 三.新建一个demo 四.软件使用(使用发现的功能及坑) 4.1 编译代码后显示当前程序大小 4.2.代码缩进 4.3 代码屏蔽 瑞萨单片机开发环境有三种 ...

最新文章

  1. WPF oxyPlot 使用总结
  2. 关于word和excel相关的问题---亲测有用
  3. [leetcode] 154.寻找旋转排序数组中的最小值 II
  4. php获取页面中的指定内容,php 获取页面中指定内容的实现类
  5. python turtle 椭圆_【python turtle如何画椭圆】
  6. 计蒜之道2015程序设计大赛初赛第三场——腾讯手机地图
  7. 安卓java自实现mp3播放器,Android MediaPlayer实现音乐播放器实例代码
  8. 输出奇数和偶数(Java)
  9. Docker入门之四搭建私有仓库
  10. BZOJ 2560(子集DP+容斥原理)
  11. 组态软件哪个好_组态软件推荐
  12. 机械结构设计经验之谈
  13. Win10将中文用户名修改为英文
  14. ansible、ansible tower的安装以及基本使用
  15. Python函数总结大全(函数定义,参数种类、返回值等)
  16. 101到200之间有多少个质数/素数 -java编程
  17. 嵌入式学习是什么?嵌入式开发入门教程带你了解
  18. Web实现:网易云音乐个人推荐页
  19. 2022年全球及中国植物识别应用程序行业头部企业市场占有率及排名调研报告
  20. eigrp 扩散算法_EIGRP之DUAL(扩散更新算法)

热门文章

  1. HTTP协议, 浏览器访问服务器, HTTP响应, HTTP请求, 访问百度
  2. 千万级用户的Android客户端是如何养成的
  3. GameFramework框架 (二) GameEntry
  4. STM32输出互补死区刹车PWM
  5. C# 安装程序制作,如何添加第三方DLL以及自定义的文件夹(如uploadFiles 文件夹)
  6. 局域网网盘 构建局域网网盘
  7. 基于STM32的智能垃圾车系统
  8. BBM(Bad Block Management)坏块管理
  9. java有一个交通工具类vehicle_求教一个java问题 设计一个交通工具类Vehicle,其中的属性包括:速度speed、类别kind、颜色color;方法包括...
  10. 华侨城北方集团扶贫工作荣获创想奖 探索央企帮扶新路径