本篇目录:
- 1、STM32的CAN总线采用中断接收程序会死在中断里,怎么回事
- 2、STM32双can总线进不去中断
- 3、STM32单片机CAN通信,CAN控制器采用TJA1050,CANH与CANL输出波形一致是...
STM32的CAN总线采用中断接收程序会死在中断里,怎么回事
估计你要么是没有清中断标志,要么是接收数据的函数写的不对。
建议 使用ST现存的CAN工程,使用LOOPBACK模式进行测试,先保证软件上能运行起来。再调外接硬件正常模式。一步步来。

当发现周立功CAN总线通讯中断,上位机CAN驱动select函数返回值为0,而总线上数据正常,但有大量错误码。那么可以先检查接线,以及STM32等单片机的质量问题。
从程序上来看,只要进入中断,就肯定会执行USART_TX_Data函数而不管有没有收到数据,这样一来,如果不是因为接收中断而是其他原因的串口中断的话那样就会有问题了。USART_TX_Data里面是怎么写的我们也不知道。
STM32双can总线进不去中断
1、检查每一路CAN总线是否都正常。调试时先单独试好每一路,当两路一起时,检查是否有冲突。

2、建议 使用ST现存的CAN工程,使用LOOPBACK模式进行测试,先保证软件上能运行起来。再调外接硬件正常模式。一步步来。
3、这个函数不要忘了调用。因为每个引脚都可以用作外部中断口,而PA3\PB3\PC3\PD3\PE3\PF3\PG3共用一条外部中断线,所以必须给中断线分配一个引脚。另外在中断函数中还要查询标志位和清除中断。
STM32单片机CAN通信,CAN控制器采用TJA1050,CANH与CANL输出波形一致是...
CAN总线通过CAN控制器接口芯片上的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低 电平或悬浮状态。

如果表笔没问题的话,应该是引脚对地或者引脚之间电容过大。
信号电平:CAN-H线和CAN-L线的信号电平是互补的。在CAN总线上,当CAN-H线上的电压高于CAN-L线上的电压时,表示逻辑1;当CAN-L线上的电压高于CAN-H线上的电压时,表示逻辑0。
CAN总线驱动器)F040中内置CAN总线协议控制器,只要外接总线驱动芯片和适当的抗干扰电路就可以很方便地建立一个CAN总线智能测控节点。本设计中采用PHILIP公司的TJA1050T CAN总线驱动器。CAN总线通信硬件原理图如图3所示。
和两个一样,CANH接CANH,CANL接CANL。但是,整个总线上只需要两个终端匹配电子,一般是距离最远的两个节点。
到此,以上就是小编对于stm32发送数据到串口的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。