踩坑实录#4: 单片机系列
关于单片机的坑。
Pt. 1: Stm32H743VIT6的CubeMX时钟配置
如果你不巧的买了这个芯片,而且用了CubeMX来进行配置,那么你可能会遇到一旦时钟配置,单片机就寄了:Stlink连不上,报错Cannot Access Memory等等。大概在这一行:
造成这一现象的原因,似乎是System Core->RCC里面的Product Revision被配置为了rev. Y,将其修正为rev. V即可。
参见:
Pt.2 CAN引脚复用配置错误导致无法收发消息
如果你的CAN一点动静都没有(收不到消息也发不出消息),测量引脚也一点变化都没有,这时应该考虑几个可能性:波特率设置错误,采样点设置有问题,晶振有点毛病,以及下面提到的因为没有意识到引脚复用出错导致的问题。
画原理图的时候,可能将CAN配置在了PA12和PA11引脚;但是,回头再打开CubeMX,可能会:
第一眼我看到的时候,差点一下被吓死:不会真是原理图画错了又要飞线了吧?
别急,这次不一定会这么倒霉。我们找到stm32f1xx_hal_msp.c文件:
没错,这里CAN可以被配置在几个不同的REMAP上。看看这个宏的定义:
Pt.3 CAN Filter
这个Filter怎么好像怎么配都不起作用啊?究其原因居然是因为后面多了三个IDE,RTR和0位。真是离谱。