你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
butterflyspring 发表于 2018-8-17 11:58 你初始化过了吗?你有接终端吗?
电子星辰 发表于 2018-8-17 11:06 不一定是重映射的问题,也有可能是和其它外设功能哪里冲突了
电小龙 发表于 2018-8-17 10:49 CAN_Handler.Instance = CAN1; CAN_Handler.Init.Prescaler = 8; CAN_Handler.Init.Mode = CAN_MODE_NORM ...
查看全部评分
wenyangzeng 发表于 2018-8-17 13:04 发送、接收需要软件干预: HAL_CAN_Receive(&CanHandle, CAN_FIFO0,10);
电小龙 发表于 2018-8-17 13:33 HAL_CAN_Receive(&CanHandle, CAN_FIFO0,10); 这个一加进去程序就卡住了
STM32隐藏
5.18活动板子会不会是STM32L4呢
STM32 CUBE软件中找不到STM32L4系列单片机
Your UAT Feedback is needed within today.
应用
AAA
1q1q
12345
11
11.08
初始化了,终端电阻也接了
有可能,现在找不到是哪里出了问题
发送、接收需要软件干预:
HAL_CAN_Receive(&CanHandle, CAN_FIFO0,10);
ST官方例程可以参考,
评分
查看全部评分
HAL_CAN_Receive(&CanHandle, CAN_FIFO0,10);
这个一加进去程序就卡住了
那就证明有进展了。检查中断函数:
在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使能
评分
查看全部评分