你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32F4 CAN2只能发送无法接收问题解决

[复制链接]
STMCU小助手 发布时间:2022-3-24 23:15
解决方法:
& E  T$ i- x" j1在使能CAN2时钟之前,需要先使能CAN1的时钟
  1. RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);   //先使能CAN1
    2 q2 A8 q/ A. C* ]# p6 ]
  2. ' R0 Z! W/ r' H/ O- J; p
  3. RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2, ENABLE);   //再使能CAN2
复制代码

0 M/ k. q0 r1 m7 d2.can2筛选器组从14开始  范围为14-27& k# K! ~- {- W3 Z! V! ]5 _

# @! B* k. ]0 G6 ~) y
  1. CAN_FilterInitStructure.CAN_FilterNumber=15;
复制代码
: x5 X& F0 n$ N9 [7 ], [
原理介绍:  q. c$ d4 z; h+ O; G- Z
●CAN1:是主bxCAN,它负责管理在从bxCAN和512字节的SRAM存储器之间的通信
: k- B( G" m/ T  E) n3 r/ y# h$ S3 C, d- s: ]
● CAN2:是从bxCAN,它不能直接访问SRAM存储器 (见图195)
6 Y# a* d- M' g3 [8 A7 i, d" Z" \& l# C8 k/ }8 a" N
● 这 2个bxCAN模块共享512字节的SRAM存储器
1 X, @: F7 V; q, q/ U
. R+ D6 P* E" o$ L- C- t. B8 B
问题1原理:CAN2作为从设备无法直接访问SRAM,因此在使能CAN2时钟时,首先要使能CAN1时钟才可以。
/ ?  K5 ?7 b5 D/ [( F: Y/ G
# y5 b/ F6 t0 z6 V7 ]! j; ]. x3 j 2019080817295163.png " J6 c0 T# @6 g0 E# q
8 }- G" z! {1 I# C. R. [7 m3 |) \& Y
我们看这个CAN框图,在①处可以看到SRAM存储器在CAN1处,所以使用CAN2(从)时需要先使能CAN1的时钟,使CAN1工作,SRAM存储器才能被CAN2读到
9 m$ q$ B; Q% o* M# l# k& R, V, m2 S8 Q
" t. K3 \8 R* _, ]3 J  x
同时我们看到③处:主滤波器(0~n)  从滤波器(n~27)     同时看到②处   这个n的设置是配置CAN FMR寄存器可以修改7 |! F' H, h. z9 o1 C

  }- B* m  }& K* RSTM32中CAN1和CAN2共用滤波器,在CAN1所用滤波器之后才是CAN2的滤波器,需在CAN 筛选器主寄存器 (CAN_FMR)中配置CAN2 起始存储区后CAN2才能使用筛选器。
7 b' F" l6 v7 P
% B, c" f% V' q [L9OZ2R6Q_%0@L3X%HN]AZT.png 7 J; {% w4 g8 O, o2 ~9 `; j

1 v4 {* C0 e9 A7 o  C0 J% `一共个5位  设置CAN(2)接口的开始组    范围是0~27    而默认开始组是14) O& U# I5 ]5 z4 Q5 ?- ~

2 p: p) R" p4 i, \7 c 这就是为什么can2筛选器组从14开始  范围为14-27 的原因  ,当然你也可以修改该寄存器的值,使得can2的范围为0~27
7 v5 E; f9 L0 d& q  s! f+ @5 y7 `7 ^1 Z

/ w/ M7 o; t% [5 u2 h+ m$ c4 f
6 }# d7 H4 _( R0 t% h2 X到此,问题结束。2 C! G* Z, q' |+ r

0 V/ L8 s7 z! m% o, ]0 ~3 x6 M
- M4 D9 e$ k) x/ D; r
收藏 评论0 发布时间:2022-3-24 23:15

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版