Re: 關於 CAN BUS 的 ID 問題
|
||||
---|---|---|---|---|
版主
|
如果你上過 CAN 的 workshop 這些都不是問題了,一言難盡,打電話來吧!用講的比較快,用寫的寫不完,而且打字也沒那麼快。
發表於: 2008/1/25 14:16
|
|||
|
Re: 關於 CAN BUS 的 ID 問題
|
||||
---|---|---|---|---|
高級會員
|
請參考看看!!
Q1:CANReceiveMessage(&RX_ID1,RX_Data_Buf1,&RX_Data_Len1,&RX1_Message_Flag ) ; ,在 RX_ID1 前面有一個 &,是什麼意思? A1:你必須先看此函數的PROTYPE: BOOL CANReceiveMessage(unsigned long *id, BYTE *Data, BYTE *DataLen, enum CAN_RX_MSG_FLAGS *MsgFlags) 很清楚傳入的ARGUMENTS必須為位址。當你呼叫此函數去得到CAN MODULE的CAN MESSAGE你必須先建立一塊記憶體去存放這些資料(EX.id,data(8 bytes),length)。&RX_ID1的意思就是將收到的id放到你建立的RX_ID1 變數裡。 Q2:簡單說,我想要知道如何設定我每一個的 ID 是什麼,好讓我可以傳出資料,也知道哪一個要去讀他 A2:設定自己的ID就是設定CAN RECEIVE BUFFER的FILTERS及MASKREGISTER。至於丟出什麼ID就不用再有FILTER的動作了。
發表於: 2008/1/25 11:06
|
|||
|
關於 CAN BUS 的 ID 問題
|
||||
---|---|---|---|---|
初級會員
|
我在網頁上看到一些範例程式 (我用的是 http://www.microchip.com.tw/modules/m ... nglefile.php?cid=6&lid=71 這個連結裡面的範例)
修改了一下配合我自己要的東西 我看到裡面有一些內建的 functions CANSendMessage CANReceiveMessage 裡面都有他的自己訂的指令 CANSendMessage( MESSAGE_ID1,TX_Data_Buf1,1,CAN_TX_PRIORITY_0 & CAN_TX_STD_FRAME & CAN_TX_NO_RTR_FRAME ) ; CANReceiveMessage(&RX_ID1,RX_Data_Buf1,&RX_Data_Len1,&RX1_Message_Flag ) ; 上面我是有看到這樣的定義 unsigned char Var1,Var2 ; unsigned long TX_ID1 ; BYTE TX_Data_Buf1[8] ; unsigned long RX_ID1 ; BYTE RX_Data_Buf1[8] ; BYTE RX_Data_Len1 ; enum CAN_RX_MSG_FLAGS RX1_Message_Flag ; unsigned long RX_ID2 ; BYTE RX_Data_Buf2[8] ; BYTE RX_Data_Len2 ; enum CAN_RX_MSG_FLAGS RX2_Message_Flag ; #define MESSAGE_ID1 0x200 #define RX_Filter0 0x200 #define RX_Filter1 0x000 #define RX_Filter2 0x00 #define RX_Filter3 0x00 #define RX_Filter4 0x00 #define RX_Filter5 0x00 #define RXB0_MASK 0x7ff // 0b111 1111 1100 #define RXB1_MASK 0x7ff 我想請問的是 我如何去設定現在我丟出去的 ID (就是要丟給誰) 我想這裡就是 MESSAGE_ID1 這一個,對不對? 這個 MESSAGE_ID1 是要寫我要傳給誰的 ID? 另外,我要怎麼設定自己這一個 PIC 的 ID 是什麼? 我以上都沒有看到 RX_ID1 的設定值。RX_ID1 應該就是我自己的 ID,只要我看到這樣的指令就代表我去讀接下來的資料。可是,哪裡有設定 RX_ID1? 還有,CANReceiveMessage(&RX_ID1,RX_Data_Buf1,&RX_Data_Len1,&RX1_Message_Flag ) ; ,在 RX_ID1 前面有一個 &,是什麼意思? 另外,MESSAGE_ID1 和 TX_ID1 是什麼差別? 簡單說,我想要知道如何設定我每一個的 ID 是什麼,好讓我可以傳出資料,也知道哪一個要去讀他 謝謝各位
發表於: 2008/1/24 18:12
|
|||
|