历史上的今天

今天是:2024年09月30日(星期一)

正在发生

2019年09月30日 | STM32F105 CAN总线数据收发调试

发布者:独享留白1028 来源: eefocus关键字:STM32F105  CAN总线  数据收发  调试 手机看文章 扫描二维码
随时随地手机看文章

STM32F105 CAN通讯端口:

STM32F105有2路CAN,不是两路独立的CAN,而是一个主端口CAN1和一个从端口CAN2,其隐含的意思就是如果只使用1路CAN进行通讯,可以使用主端口CAN1,此时可以忽略CAN2,但是如果只用从端口CAN2进行通讯的话,需要先打开CAN1的时钟,否则CAN2也不能正常工作,如果使用两路CAN同时工作时,需要注意CAN1复位时,CAN2也被复位了,所以如果在CAN2初始化之后CAN1复位,则CAN2还有重新初始化;


调试CAN总线的发送:

运行发送程序,如果TX引脚有输出信号脉冲,说明引脚的配置正确,如果引脚没有输出脉冲,需要检查GPIO的配置;用示波器检测TX引脚的信号波形,查看波特率是否正确,如果不正确需要修改寄存器的参数配置;用示波器查看CAN总线上的通讯信号是否正常;使用CAN收发模块接收STM32F105所发送的数据,应该能正常收到数据。到这里基本上CAN发送的功能就调试完成了,剩下的就是细节上的调整了;


调试CAN总线的接收:

可以先去掉CAN总线物理层的芯片,将RX引脚分别接低电平/高电平,然后查看寄存器CAN_MSR中的RX和SAMP位,是否与RX接的电平一致,如果一致说明引脚配置正确,否则需要检查引脚的配置,例如IO端口号、时钟允许、重映射等配置;焊接上物理层转换芯片,使用CAN收发模块发送数据,STM32F105接收,因为发送已经正常,所以波特率肯定是正确的;CAN收发模块连续发送数据,查看寄存器CAN_RF01和CAN_RF1R寄存器,看其中的FIFO数量是否变化,若随着接收的数据增加并溢出,则说明过滤寄存器配置正确,如果一直为0不变化,说明过滤寄存器配置不对,STM32F105从RX引脚接收到的数据首先进入过滤寄存器,通过过滤寄存器再定向到FIFIO0或FIFO1,所以即使不想使用过滤器过滤数据的话,也需要对CAN1和CAN2分别配置至少一个过滤寄存器,只是在过滤的规则上设置成不过滤任何数据,否则没有过滤寄存器到FIFO的定向,数据就不能到达FIFO中,STM32F105复位后默认的0-13号过滤寄存器可以定向到CAN1的FIFO0或FIFO1,14-27号过滤寄存器定向到CAN2的FIFO0或FIFO1,如果需要改变这个边界的话,可以使用 CAN_SlaveStartBank(n);进行调整边界,但要注意,边界之前的过滤寄存器用于CAN1,边界之后的过滤寄存器用于CAN2;FIFO能够接收到数据,就可以开启中断了,开启CAN_IER中相应的中断,并设置中断优先级,就可以利用中断接收CAN数据了,通过设置合理的过滤寄存器,可以分别处理CAN1的FIFIO0、FIFO1以及CAN2的FIFO0和FIFO1中的数据。

关键字:STM32F105  CAN总线  数据收发  调试 引用地址:STM32F105 CAN总线数据收发调试

上一篇:USART 串口 DMA 发送和接收
下一篇:STM32学习笔记(十) CAN通讯测试(环回模式)

推荐阅读

在集成电路的制造过程中,有一个重要的环节——光刻,正因为有了它,我们才能在微小的芯片上实现功能。现代刻划技术可以追溯到190年以前,1822年法国人Nicephore niepce在各种材料光照实验以后,开始试图复制一种刻蚀在油纸上的印痕(图案),他将油纸放在一块玻璃片上,玻片上涂有溶解在植物油中的沥青。经过2、3小时的日晒,透光部分的沥青明显变硬,而...
目前,已经量产的主流先进半导体制程工艺已经来到了7nm,明年,5nm也将量产。而从制程工艺的发展情况来看,一般是以28nm为分水岭,来区分先进制程和传统制程。下面,就来梳理一下业界主流先进制程工艺的发展情况。28nm由于性价比提升一直以来都被视为摩尔定律的核心意义,所以20nm以下制程的成本上升问题一度被认为是摩尔定律开始失效的标志,而28nm作为最...
国巨公司(“Yageo”)(TAIEX:2327)旗下的全球领先的电子元器件供应商——基美电子(KEMET),今天宣布推出其新型R52系列紧凑型聚丙烯薄膜X2 EMI(电磁干扰)抑制电容器。该系列可满足汽车、工业、消费和能源应用对更小的抑制EMI用大电容X2类解决方案不断增长的需求。R52系列可提供高达22µF的电容值、85/85 THB IIB等级的分级,并且在恶劣的环境条...
这可能是中国进展最迅猛的自动驾驶公司。 刚刚结束的毫末智行Q3品牌日,这家被业内人视作“中国最懂量产自动驾驶”的公司晒出最新成绩单: 增收快,成立不到2年的毫末智行,今年已经实现亿级别营收。 这本身已不可思议。 产品落地方面,今年2季度一口气亮出10款量产产品,硬件软件都有落地,最新产品是和阿里达摩院合作的无人末端配送车“小蛮驴”。 更超...

史海拾趣

问答坊 | AI 解惑

单片机初学者的问题00-59计数汇编程序?

各位好,我是个单片机初学者,想向大家求教一下关于单片机00-59秒计数汇编程序 要求是P0作段选,P2作位选(不用译码器) 谢谢大家了,我的邮箱是gxlizhongren@sina.com…

查看全部问答∨

ADC 前端电路的五个设计步骤

经典学习资料,可以巩固基础…

查看全部问答∨

关于DSP的stack,请教了!

情况是这样的,前两天我的程序莫名其妙的在调用一个函数之后跳到一个地方去执行了,倒是没有司机,但是这个是很异常的,对这个问题,深入研究发现问题源于stack内的返回地址的低2Byte被函数操作意外修改了,再深入研究发现memcpy()造成,解决之后, ...…

查看全部问答∨

定时器调试出错

在一个可以通过下载调试的工程里添加了一段代码Rebuild all 后就提示 Error[Pe020]: identifier "TIM4" is undefined 下面void LcdShow_Init(void)函数是原来可调试工程中的代码 当双击TIM2然后单击右键选中 go to definition of TIM2 ...…

查看全部问答∨

stm32L有没有512kflash144pin的

                                 我在做一个便携式的遥控器!…

查看全部问答∨

频率测量

本帖最后由 paulhyde 于 2014-9-15 08:54 编辑 请教高手指点下面的代码:用定时器A测频率的代码,红色标注的是什么意思啊,求解!!! void main(){  uchar temp=0;  WDTCTL=WDTPW+WDTHOLD;  int_clk();    & ...…

查看全部问答∨

看LaunchPad大学堂作品之有感

看LaunchPad大学堂作品之有感早就看到过关于Msp430的介绍和赞美之词,一直没机会接触,也没开发工具呀,要银子呀。当初看到LaunchPad,这么价廉物美,立刻毫不犹豫地决定要买,好在论坛我好像很早就注册过了,立刻在淘宝下了订单。又看到大学堂还有 ...…

查看全部问答∨

MSP430AFE253中国国家电网评估报告

惊奇了吧!国家电网对MSP430的评估报告,里面还有一个应用案例,看拍的照片是应用在点表里的一个案例。计费单位是“元”…

查看全部问答∨

pcb超低价快速打样

单/双50元/款 ( 长宽在5CM以内)数量10PCS交期 3-4天单/双100元/款(长宽在10CM以内)数量10PCS交期3-4天四层500元/款 (长宽在10CM以内)数量10PCS交期5-6天六层1200元/款(长宽在10CM以内)数量10PCS交期6-7天最小孔0.2MM 最小线0.1MM备注:以上 ...…

查看全部问答∨

三极管手册参数问题

我想问下那些EDA中三极管参数中的那个正向传输时间(也有叫他正向渡越时间的)Tf 和 过渡频率(特征频率,一般都找不到这个参数)是不是一个概念啊? 因为在算频响的时候有时间常数和角频率的关系,而且频率倒数周期本身就是一个细分的时间概念, ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved