stm32的文档上说can有两个接收fifo,但是对具体怎么使用并没有特别提到,在网上也没有找到靠谱或者统一的说法
我看了几个例子和文档也没发现具体怎么设置使用哪个fifo
今天仔细的看了下文档里的图片,突然想到fifo可能是在设置filter的时候启用的,然后测试了下证实了想法

可以看看can的几个例子,filter是必须设置的,不然没法收到数据,而使用哪个fifo就是图里标红的地方,看这一条设置规则对应的哪个fifo,那么这个fifo就能收到这个类型的数据
可以根据需要把不同的消息放到不同的fifo里去

中断的配置,fifo0和fifo1的中断名字不一样,这个要注意

其实中断函数的名字在:startup里的startup_stm32f10x_hd.s里有,自己找找看

记得开启fifo中断:
 

这个是fifo1的响应函数,设个中断就可以看到有数据进来了

大家可以把filter的配置里绑定的fifo1改成fifo0,那么对应的fifo0的中断就能收到数据了

从上面可以看到,fifo0和fifo1是暂存数据的,这两个fifo是给filter用的,也就是filter先过滤数据,发现需要接收就把这个数据放到filter表项里指定的fifo中去

STM32f103 can的两个接收fifo使用方法相关推荐

  1. STM32的CAN总线的接收双FIFO使用方法

    通过下面的框图我们可以看到,STM32F013有两个接收FIFO 图片:1.png 但是实际的使用中如何让着两个FIFO都被使用呢,解决办法就在这里, 1. STM32F103有0-13共14个过滤器 ...

  2. msp430单片机接收(FIFO实现)不阻塞CPU

    /**************** UART的高效率使用 串口接收一字节程序, 要求利用FIFO结构与接收中断 不阻塞CPU继续执行后续代码 且允许CPU随时读串口 Author:七禾页8 site: ...

  3. Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积

    **8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...

  4. Java黑皮书课后题第8章:*8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和

    *8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 8.5(代数:两 ...

  5. SSH简介及两种远程登录的方法

    目录 SSH的安全机制 SSH的安装 启动服务器的SSH服务 SSH两种级别的远程登录 SSH的高级应用 Secure Shell(SSH) 是由 IETF(The Internet Engineer ...

  6. Qt界面加载网络摄像头,并实时显示,两种更新界面的方法

    Qt界面加载网络摄像头,并实时显示,两种更新界面的方法 1.Qt界面加载网络摄像头,并实时显示,根据头文件中的宏定义来区分使用哪种方式.①Qt信号槽更新界面,②c语言回调方式更新界面 2.使用Open ...

  7. python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...

    前言 一向用Python 3,最近研究微信公众号开发,各云平台只支持Python 2.7,想用其他版本需要自己搭建环境.而网上又搜不到Python 3开发微信公众号的资料.暂打算先使用Python 2 ...

  8. python接收邮件内容启动程序_Python实现发送与接收邮件的方法详解

    本文实例讲述了Python实现发送与接收邮件的方法.分享给大家供大家参考,具体如下: 一.发送邮件 这里实现给网易邮箱发送邮件功能: import smtplib import tkinter cla ...

  9. linux下安装两个nginx教程,在linux系统下安装两个nginx的简单方法

    在linux系统下安装两个nginx的简单方法 发布时间:2017-03-09 12:08 来源:互联网 当前栏目:web技术类 在linux下安装nginx的时候,一般在./configure的阶段 ...

最新文章

  1. Java知识点总结——装箱与拆箱
  2. 取最后一个字符 oracle,oracle截取最后一个字符
  3. SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code
  4. shell算数表达式运算
  5. 超微服务器开机启动项目怎么设置,超微服务器启动项设置
  6. Android之LinearLayout线性布局
  7. 无忧考吧python编译环境不存在_python:flake8找不到不存在的方法
  8. swagger 修改dto注解_Swagger 详解
  9. 腾讯视频云黄斌:打造toB的产品与运营体系
  10. python的UnboundLocalError: local variable 'xxx' referenced before assignment
  11. R语言二分类问题案例分析:以泰坦尼克号沉船为例
  12. linux火狐怎么清除缓存文件,火狐浏览器如何设置_火狐浏览器怎样清除缓存
  13. D-Genius‘s Gambit(构造)
  14. EMC标准与测试方法
  15. Android APP测试流程
  16. 轻量级 Visio,绘制程序框图,你值得拥有
  17. 市场份额持续下滑,博世面向中国市场“低头”了?
  18. 安卓苹果下载地址合并 苹果安卓专用二维码是如何生成的
  19. 程序员转正述职报告_程序员个人转正述职报告
  20. 创业者回忆和乔布斯谈判:说错一个字就被臭骂拉黑

热门文章

  1. 我是如何在阿里巴巴面试中壮烈牺牲的?(内含面试题)
  2. 【Consul】Consul实践指导-健康检查(Checks)
  3. GOPATH与工作空间
  4. Java集合:Integer.parseInt() String.substring()
  5. JVM:堆中对象的创建?定位?可达性?
  6. Java:写2个线程,其中一个线程打印1-52,另一个线程打印A-Z,打印顺序应该是12A34B56C...5152Z。
  7. php判断base64编码,检测PHP中的base64编码?
  8. linux ubuntu桌面进程,如何加快你的Ubuntu桌面性能
  9. cad新手必练300图_[CAD]平面练习图,CAD新手练技术练速度的好去处
  10. 全城瘫痪!因韩国电信公司大火 首尔陷断网危机