⑴ 求:can匯流排通信如何實現兩個節點互相收發,希望是keil.c程序
一般不管在哪裡,都別直接要程序,即使要了,也不會有人給。
你應該自己專學著寫,碰到問屬題了再問,這樣就具體的某個細節問題,大家才好回答你。
這個要求包含如下幾個方面:
1)單片機通過RS232與電腦之間發送、接收數據;
2)51單片機對SJA1000的配置、控制、讀寫;
3)CAN的節點通訊(協議);
4)51單片機對DS18B20的溫度採集。
這些,你會哪些,不會哪些,至少自己一點一點的去啃一下,才有意義
⑵ C語言中的問題:can_ctrl.init(0x01,1000)
這里的 can_ctrl 應該是某一個類的實例,在該類裡面有類成員函數 init(),這個語句就是類對象調用類方法
⑶ 我現在在做2292的can,如何實現當can1匯流排發現錯誤時切換can2通信的程序
這個問題我覺得你應該和匯流排協議分開,因為CAN匯流排硬體鏈路層協議和數據鏈路層協議都是標準的,就是CAN2.0A和CAN2.0B協議,我覺得你應該是要定義上層應用的協議,專門針對你的通訊信息的協議,比如說你要傳輸「設置量程上下限,報警上下限,繪制歷史和實時曲線」等信息的協議,如果是這樣的話,那就簡單了,解釋一下:協議就是通訊兩端對話的語言,你必須有至少兩個CAN節點,然後通過線路將其連接(就是一對差分線),然後就可以利用CAN底層協議互相通訊,而你要定的協議就是定義CAN接收的什麼數據代表什麼意思,一般來說,一個協議要包括頭和尾及中間的內容,如當接收到一幀的第一個位元組(CAN協議一幀可以傳送8個位元組)為0xfe時認為這是你的一個協議包的開始標志位元組,一個協議包比如定義為8個位元組,最後一個位元組為0xEF為結束位元組標志,這樣當你的CAN接收到第一個位元組為0xfe最後一個位元組為0xef的幀就是你需要的協議包,你可以定義第二個位元組表示標志此包傳輸意義的位元組,如為0x01表示「設置量程上下限」為0x02表示「報警上下限」等等,其他位元組可以設置相應的需要設置的值。
如果是一個復雜的協議的話,可以用多個幀表示一個你的協議包,而且一般需要加上一個或幾個位元組的校驗位元組,以驗證是否傳輸正確。
⑷ CAN如何和單片機c51相連接。
51單片機由於沒有CAN模塊需要連接一個CAN控制器如:SJA1000,然後控制器連接一個CAN收發器如PCA82C250,然後連接到CAN匯流排上
⑸ 應該如何從零學習CAN匯流排
從資源利用的角度來說,可以如您所理解的那樣。
CAN匯流排就是一個多主的系統,匯流排上的節點都可以利用這個匯流排向目標節點發送數據。CAN用匯流排仲裁來避免多個節點同時發送數據而產生的問題。
要學習CAN匯流排技術,需要有單片機(51單片機都行)編程基礎。通常選擇SJA1000做CAN控制器,PCA82C250做收發器,單片機實現對SJA1000的操作。
可以從了解以上器件入手學習。
這類技術的學習,只有進行具體的練習才算學習,光看書是不行的。要理論與實踐結合。
⑹ C語言實現CAN匯流排報文傳送與接收
這里應該有你想要的回。答
http://group.ednchina.com/684/Group.aspx?page=10
⑺ 求C51單片機控制MCP2515CAN控制器常式,達到兩個CAN支點通信。
⑻ CAN通信,C語言
使用一個flag
開始為0,當計數一次後變為一。
在計數時先判斷flag是否為0,若是則計數,若否則跳過
⑼ 哭求~~can匯流排的C語言程序例子
1 去買本北京航空航天大學出的書,好好看看。
2 或者自己用網路搜索。
這個問題估計沒人內給你答案。要有也容是網上搜的,還不如自己去搜。
網路輸入:can匯流排程序
會有很多結果,大把大把。
比如:
http://hi..com/wogoyixikexie/blog/item/4befa4166b94134f20a4e9b5.html
http://blog.21ic.com/user1/4416/archives/2007/41628.html
都是用c51寫的,也不難,小可也會。
做了一回黨
⑽ 基於CAN匯流排的多點水文流速監測系統--軟體設計 怎麼用C語言編寫主程序啊
計算抄機需要一個CAN匯流排的介面卡,一般用USB轉CAN或者PCI轉CAN的。
您可以用上位機軟體,調用CAN卡的動態鏈接庫DLL,輕松的控制計算機的CAN介面
CAN卡廠家一般都提供了編程的例子,可以方便上手,並且不需要了解任何PCI和USB的知識,只需要懂C語言就可以了
具體到您的水文系統可以深入探討