|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
緊急求助:急急急,各位調(diào)過單片機CAN通訊的大俠指點小弟一二?? |
| 作者:碧血藍天 欄目:單片機 |
小弟現(xiàn)在在用C8051F040調(diào)CAN通訊,一個多星期過去了,我從實例程序入手對照著寫了一個簡單的發(fā)送程序(我第一次調(diào)單片機程序),卻一直沒有效果.我現(xiàn)在屬于兩眼一摸黑在調(diào),也不知道程序如何調(diào),更不知道哪里寫錯了.各位大俠幫幫忙,指點小弟一下,該如何調(diào)試CAN通訊接口啊?? 眼看就要月末了,馬上就要向老大交差了~~~~~~~調(diào)不出來,就慘了!各位調(diào)過CAN通訊的,特別調(diào)過040CAN的幫幫小弟吧! |
| 2樓: | >>參與討論 |
| 作者: 碧血藍天 于 2006/7/29 7:54:00 發(fā)布:
這是俺根據(jù)實例程序?qū)懙恼{(diào)試程序! #include <c8051F040.h> // SFR declarations #include <stdio.h> ///////////////////////////////////////////////////////////////////////////////////// //CAN Protocol Register Index for CAN0ADR, from TABLE 18.1 of the C8051F040 datasheet ///////////////////////////////////////////////////////////////////////////////////// #define CANCTRL 0x00 //CONTROL Register #define CANSTAT 0x01 //Status register #define ERRCNT 0x02 //Error Counter Register #define BITREG 0x03 //Bit Timing Register #define INTREG 0x04 //Interrupt Low Byte Register #define CANTEST 0x05 //TEST register #define BRPEXT 0x06 //BRP Extension Register ///////////////////////////////////////////////////////////////////////////////// //IF1 Interface Registers ///////////////////////////////////////////////////////////////////////////////// #define IF1CMDRQST 0x08 //IF1 Command Rest Register #define IF1CMDMSK 0x09 //IF1 Command Mask Register #define IF1MSK1 0x0A //IF1 Mask1 Register #define IF1MSK2 0x0B //IF1 Mask2 Register #define IF1ARB1 0x0C //IF1 Arbitration 1 Register #define IF1ARB2 0x0D //IF1 Arbitration 2 Register #define IF1MSGC 0x0E //IF1 Message CONTROL Register #define IF1DATA1 0x0F //IF1 Data A1 Register #define IF1DATA2 0x10 //IF1 Data A2 Register #define IF1DATB1 0x11 //IF1 Data B1 Register #define IF1DATB2 0x12 //IF1 Data B2 Register ///////////////////////////////////////////////////////////////////////////////// //IF2 Interface Registers ///////////////////////////////////////////////////////////////////////////////// #define IF2CMDRQST 0x20 //IF2 Command Rest Register #define IF2CMDMSK 0x21 //IF2 Command Mask Register #define IF2MSK1 0x22 //IF2 Mask1 Register #define IF2MSK2 0x23 //IF2 Mask2 Register #define IF2ARB1 0x24 //IF2 Arbitration 1 Register #define IF2ARB2 0x25 //IF2 Arbitration 2 Register #define IF2MSGC 0x26 //IF2 Message CONTROL Register #define IF2DATA1 0x27 //IF2 Data A1 Register #define IF2DATA2 0x28 //IF2 Data A2 Register #define IF2DATB1 0x29 &nb |
|
| 3樓: | >>參與討論 |
| 作者: zhou7209 于 2006/7/29 10:45:00 發(fā)布:
仔細檢查,應該不難 如果是自己做的硬件,先查一下. 再對應手冊上的各個寄存器檢查一下數(shù)值是否正確? 另一端設備設置一致嗎? ide值設置對了? ...... |
|
| 4樓: | >>參與討論 |
| 作者: 碧血藍天 于 2006/7/30 14:09:00 發(fā)布:
硬件是一位老同事做的~~~ 所有特殊寄存器的值都是按照DATASHEET和示例程序所設的,關(guān)鍵問題是在不管怎么做在芯片的發(fā)送端都沒有波形~~接下來就不知道該如何調(diào)了,不知道錯誤在那里~~~郁悶! 弱弱的問一下,IDE是什么???俺是新手,還希望各位大俠指點指點~~~ |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |