STM32f103 can的两个接收fifo使用方法
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使用方法相关推荐
- STM32的CAN总线的接收双FIFO使用方法
通过下面的框图我们可以看到,STM32F013有两个接收FIFO 图片:1.png 但是实际的使用中如何让着两个FIFO都被使用呢,解决办法就在这里, 1. STM32F103有0-13共14个过滤器 ...
- msp430单片机接收(FIFO实现)不阻塞CPU
/**************** UART的高效率使用 串口接收一字节程序, 要求利用FIFO结构与接收中断 不阻塞CPU继续执行后续代码 且允许CPU随时读串口 Author:七禾页8 site: ...
- Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积
**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...
- Java黑皮书课后题第8章:*8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和
*8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 8.5(代数:两 ...
- SSH简介及两种远程登录的方法
目录 SSH的安全机制 SSH的安装 启动服务器的SSH服务 SSH两种级别的远程登录 SSH的高级应用 Secure Shell(SSH) 是由 IETF(The Internet Engineer ...
- Qt界面加载网络摄像头,并实时显示,两种更新界面的方法
Qt界面加载网络摄像头,并实时显示,两种更新界面的方法 1.Qt界面加载网络摄像头,并实时显示,根据头文件中的宏定义来区分使用哪种方式.①Qt信号槽更新界面,②c语言回调方式更新界面 2.使用Open ...
- python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...
前言 一向用Python 3,最近研究微信公众号开发,各云平台只支持Python 2.7,想用其他版本需要自己搭建环境.而网上又搜不到Python 3开发微信公众号的资料.暂打算先使用Python 2 ...
- python接收邮件内容启动程序_Python实现发送与接收邮件的方法详解
本文实例讲述了Python实现发送与接收邮件的方法.分享给大家供大家参考,具体如下: 一.发送邮件 这里实现给网易邮箱发送邮件功能: import smtplib import tkinter cla ...
- linux下安装两个nginx教程,在linux系统下安装两个nginx的简单方法
在linux系统下安装两个nginx的简单方法 发布时间:2017-03-09 12:08 来源:互联网 当前栏目:web技术类 在linux下安装nginx的时候,一般在./configure的阶段 ...
最新文章
- Java知识点总结——装箱与拆箱
- 取最后一个字符 oracle,oracle截取最后一个字符
- SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code
- shell算数表达式运算
- 超微服务器开机启动项目怎么设置,超微服务器启动项设置
- Android之LinearLayout线性布局
- 无忧考吧python编译环境不存在_python:flake8找不到不存在的方法
- swagger 修改dto注解_Swagger 详解
- 腾讯视频云黄斌:打造toB的产品与运营体系
- python的UnboundLocalError: local variable 'xxx' referenced before assignment
- R语言二分类问题案例分析:以泰坦尼克号沉船为例
- linux火狐怎么清除缓存文件,火狐浏览器如何设置_火狐浏览器怎样清除缓存
- D-Genius‘s Gambit(构造)
- EMC标准与测试方法
- Android APP测试流程
- 轻量级 Visio,绘制程序框图,你值得拥有
- 市场份额持续下滑,博世面向中国市场“低头”了?
- 安卓苹果下载地址合并 苹果安卓专用二维码是如何生成的
- 程序员转正述职报告_程序员个人转正述职报告
- 创业者回忆和乔布斯谈判:说错一个字就被臭骂拉黑
热门文章
- 我是如何在阿里巴巴面试中壮烈牺牲的?(内含面试题)
- 【Consul】Consul实践指导-健康检查(Checks)
- GOPATH与工作空间
- Java集合:Integer.parseInt() String.substring()
- JVM:堆中对象的创建?定位?可达性?
- Java:写2个线程,其中一个线程打印1-52,另一个线程打印A-Z,打印顺序应该是12A34B56C...5152Z。
- php判断base64编码,检测PHP中的base64编码?
- linux ubuntu桌面进程,如何加快你的Ubuntu桌面性能
- cad新手必练300图_[CAD]平面练习图,CAD新手练技术练速度的好去处
- 全城瘫痪!因韩国电信公司大火 首尔陷断网危机