秋加数码网

stm32 can可以接收数据,但却无法发送数据,怎么回事?(stm32can错误处理)

  1. stm32 can可以接收数据,但却无法发送数据,怎么回事?
  2. STM32用SJA1000会出现电平不兼容的问题吗?
  3. stm32can通信邮箱挂号是什么意思?
  4. STM32还需要CAN芯片?

stm32 can可以接收数据,但却无法发送数据,怎么回事?

使用stm32can控制器自带的回环模式测试收发功能看是否正常若正常,那就是另一个接收数据的对象接收驱动没写好若不正常,那就说明至少此stm32can的发送驱动没写好如果以上示例都完成后stm32仍然无法正常通信,那就是硬件的原因,可以先查看芯片电压等是否配置正常,是否损坏等。ps:can通信距离近的情况下不建议接120欧姆终端电阻,否则可能出现通信过程中丢帧或通信失败情况

STM32用SJA1000会出现电平不兼容的问题吗?

SJA1000 是一个CAN总线控制器,如果用STM32控制SJA1000 则需要加入上啦电阻,因为stm32的输出达不到5V,

stm32 can可以接收数据,但却无法发送数据,怎么回事?(stm32can错误处理)-图1

stm32 can可以接收数据,但却无法发送数据,怎么回事?(stm32can错误处理)-图2

stm32can通信邮箱挂号是什么意思?

就是你需要 配置指定fifo对应的fillter寄存器的意思具体的去看手册里关于filter寄存器配置的内容。其实就是让你实际需要接收的CAN消息 的ID(EXID) 值经过硬件Fillter来匹配,当总线上的消息ID不匹配时,对应用软件来说等于没收到。if( 总线消息.ID (&Fillter.Mask)^ Fillter.TargetValue)==0) then 消息存入FIFO队列以及相应硬件操作

STM32还需要CAN芯片?

内置的是CAN通信控制器,那是CAN总线接口电路的核心,主要完成CAN的通信协议;而连到CAN总线上的话还需要CAN总线收发器,也就是CAN通信控制器与CAN物理总线间的接口,主要是提供对总线的差动发送和接收,增大通信距离,提高抗干扰能力,保护总线 比如TJA1050等

到此,以上就是小编对于stm32 can错误中断的问题就介绍到这了,希望介绍的4点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

stm32 can可以接收数据,但却无法发送数据,怎么回事?(stm32can错误处理)-图3
stm32 can可以接收数据,但却无法发送数据,怎么回事?(stm32can错误处理)-图4
分享:
扫描分享到社交APP
上一篇
下一篇