This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F280049 CAN _ex3問題



 我用CAN 範例can_ex3_external_transmit ,想改500 kbps 外接CAN通訊。以下的問題 !!

1. 為什麼設定是 GPIO30 and GPIO31 ,而不是 GPIO33 跟 GPIO32 ,如果不行我要怎麼使用那兩個GPIO CAN Connect ?

2. CAN_setBitTiming(CANA_BASE,24,0,8,5,3); // 500kbps  ,我不確定 bandrate 設定是對的嗎 ? 還有 the baud rate prescaler extension 是甚麼意思??

3. 有 Interrupt register 的配置嗎?

  • 123 1232 说:
    1. 為什麼設定是 GPIO30 and GPIO31 ,而不是 GPIO33 跟 GPIO32 ,如果不行我要怎麼使用那兩個GPIO CAN Connect ?

    您可以自己在device.h内修改为GPIO32/33。

    123 1232 说:
    2. CAN_setBitTiming(CANA_BASE,24,0,8,5,3); // 500kbps  ,我不確定 bandrate 設定是對的嗎 ? 還有 the baud rate prescaler extension 是甚麼意思??

    bitRate is the desired bit rate (bits/sec)

    您现在要求的bitRate是多少?可以看一下 用户指南 26.12.1 Bit Time and Bit Rate 以及 Figure 26-17. Structure of the CAN Core's CAN Protocol Controller

    123 1232 说:
    3. 有 Interrupt register 的配置嗎?

    能否请您详细说一下?没太明白您的意思

  • 可是我有嘗試過改成我要對GPIO33/32,bps 看起來也是設定是對的,可是我還是無法接通。
    指的是有 Interrupt register table 嗎?
  • 您现在使用的是launchpad?查看原理图可知:

    GPIO32_CANTX与GPIO33_CANRX连接了 SN65HVD234DR

    也就是说,若是您使用的是launchpad,且想使用板载的CAN收发器的话,就需要使用GPIO32/GPIO33

    您是如何修改的?硬件电路的话,您是如何连接的?若是可以的话,请给出相关图片
  • 我找到問題了, 開發版上有個S9 電路,他可以切換 CAN 跟 FSI 我沒注意到。之後到你說的device.h 改成 #define _LAUNCHXL_F280049C
    就可以跟其他CAN通訊了。

    但我現在還有其他問題。

    我嘗試把 CAN_L(GPIO33) 設定為中斷接收,但是他會變成不斷進入中斷程式,反而Main 裡面的code 被中斷給佔用走了。

  • “我嘗試把 CAN_L(GPIO33) 設定為中斷接收,但是他會變成不斷進入中斷程式,反而Main 裡面的code 被中斷給佔用走了。”

    关于这个问题,建议您重新发帖,详细描述一下您现在的软硬件情况并给出相关截图,谢谢