历史上的今天
今天是:2024年08月28日(星期三)
2019年08月28日 | STM32F429 CAN通信不成功
2019-08-28 来源:eefocus
最近因为CAN的问题弄了我好几天时间,总结一下:
1:STM32F407开发板回环模式与CAN1给CAN2发数据都是OK的,STM32F429不行。
对比初始化函数以及检查硬件,120欧电阻还是要的,什么光耦电路能去掉还是去掉,H/L直接从TJA1050芯片出来即可。
2:STM32F407与STM32F429回环模式,can1与can2通信都成功,但是STM32F407与STM32F429通信不成功。
这是为毛啊??不急,再做个试验,STM32F429两块板子能通信成功,不存在硬件问题了,定位应该是波特率不匹配的问题。
按照STM32规格书波特率计算方式应该是:
can波特率=(APB1时钟/(分频系数*(SYNC_SEG+BS1+BS2)));
再看看自己的配置,怎么看怎么对啊,虽然429系统时钟是180M,407系统时钟是168M,但407与429都是设置的是250kbps。
好吧,代码是看不出结果的。
1:拿个示波器来量吧,唯一借的一个示波器是坏的,can是通过H/L之前的电平差来计算1与0的,所以可以测试出来,我是没测成功,放弃。
2:弄个can转USB吧,407设置250Kbps通信成功,429设置250Kbps不成功。
更加确认波特率不对,但是为什么不对呢,那就去研究下系统时钟的产生,大概说下:
系统时钟可以由好几种方式产生,我的板是有外部晶振产生的,一般STM32官方固件库默认外部晶振是8M,但是我这块板子外部晶振是25M,那就怀疑是不是这方面配置,修改下配置25M(具体配置自行百度),再次试验,成功。
史海拾趣
|
本设计实例介绍如何在短暂电压不足期间使电信设备保持正常工作。首先必须了解电信设备专用电源的几个细节。向电信设备馈电的电源的共模电压为-48V,尽管实际电压范围可能是-42.5V ~ -56V、-40V ~ -60V,甚至超出这些范围。公共电源——“砖块”DC/D ...… 查看全部问答> |
|
关于我自己 1、业务员和客户聊天的时候哪些话题不需要聊太多关于技术和理论的话题,需要的是今天的新闻呀、天气呀等话题。因此,业务员在日常的时候必须多读些有关经济、销售方面的书籍、杂志,尤其必须每天阅读报纸,了解国家、社会消 ...… 查看全部问答> |
|
单位需要设计一种ISA转PCI的接口卡 用途是把以前老设备上面的ISA接口卡(主要是s1240程控机)转用点现在PCI口上使用.通过查询资料,我发现用专用芯片pci9052 似乎是最省力的办法。但是由于本人学的是通信专业,对硬件设计基本不明白,数电模电忘记差 ...… 查看全部问答> |
|
用PB编制系统镜像,由于用到SHFileOperation复制文件,但是显示进度框上没有取消按钮 别的版本的机器则可以...不知道这个跟什么组件选择还有关系,还有就是ceshell.dll是怎么生成的 新手请教各位大虾!!… 查看全部问答> |
|
这样问也不知道冒不冒昧,但是还是得问问soso姐,姐姐,从我个人在论坛每个子模块查资料找东西来看,我觉得子模块有点乱,咱们能不能把子模块中的帖子细细分下类呢?比如说,软件和资料,我们把模块细化分一下类,新回复的东西还是固有不变,这样大 ...… 查看全部问答> |
|
128KB的Flash中我存储了两段程序 第一个基址是0x00000000 第二个基址是0x00001000 这两个程序是不相关的,独立的, 第一个程序我是用新唐的ICP软件下载的,第二个程序是我通过自己写在LDROM中的程序下载到0x00001000 , 现在我希望能够 ...… 查看全部问答> |




