【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程
那就证明有进展了。检查中断函数:
在stm32f10xx_it.c里必须有CAN中断函数:
评分
查看全部评分
单看重映射的代码是没问题的,但是其他地方就不清楚了。
关于STM32的bxCAN,这方面我倒是有一些坑和你分享一下。
1.程序方面的问题。STM32的CAN模块,配置时,一定要加上过滤器。可能你觉得全接收不需要过滤啊,但是FilterMask和FilterID还是要配置,在初始化CAN的时候绑定,否则你打死都收不到数据。
2.检查一下你的波特率设置和采样点。发送端和接收端的波特率肯定要一样,采样点一般在80%左右。
3.检查硬件。有些开发板的设计者水平明显不行,全板电源接进来就直接被AMS1117搞成都用3.3V,stm32是没问题了,但是CAN收发器可不一定。居然还想用这个电压去驱动TJA1050 CAN收发器,也不看看datasheet。当初学的时候没被这个坑死,调代码仿真没任何问题,用CAN盒子就是收发不了数据,最后发现居然是电压问题,一口老血。
4. 还是检查硬件。看看终端电阻的问题,软件调试不管有没有终端电阻都OK,所以根本发现不了这个问题。但是真运行起来,没个几十Ω(标准是总线两端一头跨接一个120Ω的电阻,相当于60Ω,实际上我们测试过,30~40Ω也能收发报文, 但是会有报文丢失)。
评分
查看全部评分
评分
查看全部评分
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //复用功能时钟使能
//GPIO_PinRemapConfig(GPIO_Remap1_CAN1 , ENABLE); //重映射I/O CAN使能
评分
查看全部评分
TJA1050是5v的,用3.3V当然驱动不起来,我现在用的是SN65HVD230,跟这个题主一样重定位到PB8和PB9上去了,也是用STM32cubx生成的代码,也参照这个配置了过滤器,波特率配成了250k,还是无法收发,我用的是can分析仪,真是搞不懂了。
我遇到跟你一样的问题了,代码在吗 能给我测试下吗,非常感谢!
代码不在了,是系统时钟设置的不对,导致我的波特率算的不对
我的也已经调好了,是电路搞错了,想当然的以为跟RS485芯片一样,CPU的TX接485的RX。
CAN芯片是CPU的TX接CAN的D,CPU的Rx接CAN的R。