久芯网

求助stm32f105 + TJA1041只能接收不能发送数据

avatar coolkee5 提问时间: 2023-09-30 18:38:36 / 未解决
环境 stm32f105rb,2路CAN【TJA1041】,CAN1和CAN2,目前CAN1可以正常的接收和发送,CAN2是只能接收不能发送。
目前发现的现象:CAN2的TXD和MCU连接,电压是2.93v,这个电压应该是不正常的。 正常的电压是3.5v(CAN1的TXD就是3.5v)
之前都是成熟的产品,最近要移植FreeRTOS代码导致。

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);  //使能CAN1总线时钟
#ifdef _CAN2
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2, ENABLE);  //使能CAN2总线时钟
#endif

通过断点,CAN1的总线时钟使能后TXD电压变成了3.5v就正常。CAN2的总线时钟使能后TXD电压就没有变成3.5v。看了寄存器,
RCC_APB1ENR 0x06000000,CAN1和CAN2的都已经使能了。

如需获得 TJA1041 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

2个回答
  • avatar coolkee5
    回答时间: 2023-09-30 18:59:39

    哪位大神能指点一二。

  • avatar butterflyspring
    回答时间: 2023-09-30 19:16:30

    按说不管代码对不对,收发器和MCU的电路也不能把电平拉低呀。所以检查一下硬件电路先吧

会员中心 微信客服
客服
回到顶部