㈠ 求:can匯流排通信如何實現兩個節點互相收發,希望是keil.c程序
一般不管在哪裡,都別直接要程序,即使要了,也不會有人給。
你應該自己學著寫,碰到問題了再問,這樣就具體的某個細節問題,大家才好回答你。
這個要求包含如下幾個方面:
1)單片機通過RS232與電腦之間發送、接收數據;
2)51單片機對SJA1000的配置、控制、讀寫;
3)CAN的節點通訊(協議);
4)51單片機對DS18B20的溫度採集。
這些,你會哪些,不會哪些,至少自己一點一點的去啃一下,才有意義
㈡ 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通信
1can是兩根線,
2can線上有兩個狀態,
a隱性狀態,兩線電壓2.5V,表示位為1。
b顯性狀態,兩線電壓:低1.5V,高3.5V,壓差2V;表示位為0;
3以上2里的電壓叫差分線路,為的是增加抗干擾性能,同時在高與低兩根線上並入120歐姆電阻,防止信號震盪。
4以上只是電路的硬體解釋,下面以長城上的烽火台舉個例子。
5第一個檯子,冒煙了,在131個時間單位里(一個報文131個位,也就是一個數據幀131個位),其他的檯子,就會記錄44個時間單位里,有沒有冒煙結果是131個0與1組成的數字:100110010101100101100101(這里一共是131個哈,我沒具體計數)。
6如果有兩個檯子在冒煙,先冒煙a的不要停,接著冒煙。後冒煙的b停下來,接收a發出的信號。
7兩個檯子同時冒煙,在前11個冒煙記數里,誰不冒煙(狀態為0,顯性電平,壓差2V)發送的多,誰的優先順序就高,就不會停,而其它的1-N個就會停下來 改為接收。
8在一個131時間里,一個發出,其它的所有檯子都會收到並記錄這一串數字,然後根據領導的指示(或是軍部的密碼本)進行信息處理,如果能找到匹配密碼的信息就把8個位元組(一個131的幀有8*8位的數據內容,其它的131-64=67個位不是數據的)存下來,裝進箱子里,A級文件裝進第一個密碼箱,B級文件裝在第二個密碼箱,每個箱子有三個格子,只能收三個文件。
9在131個時間里收到的數據串,前11個是ID,就是編號。12位是擴展位,可以在擴展28個位。
10一個131(叫報文,叫幀),有這樣幾個段,仲裁段(就是ID段,前面5678里提到的密碼本就是在這一段做比對),數據段(8位元組*8位),應答段,結束段。
11仲裁里數據叫標識符,用來匹配密碼本(叫篩選器,叫識別器,叫過濾器)。
12每個can硬體有多個識別器,每個烽火台有多個密碼本。兩本是一個組。
13每組密碼本的方式,
a一本指定檢測位的,一本指定位的狀態。比如第一本指定只看第3與5位,第二本指定3位與5位為0。那麼只有這一種信息才能存後面的8個字(64位)
b一本指定密碼A,一本指定密碼B。
c與d記不清了。
14密碼本有11位,使用的時候用不了那麼多個(11位為0-7ff,0-2046)所以可以前三個位是烽火台的編號,最後兩位是功能碼(比如信息緊急程度,或數據類型:int char bit),也就是說,仲裁段可以對密碼,與可以當數據段來使用。
15應答段只有兩位,具體的忘了。
16結束段有7位隱性電平,好像是這樣的。
㈤ C語言實現CAN匯流排報文傳送與接收
這里應該有你想要的。
http://group.ednchina.com/684/Group.aspx?page=10
㈥ CAN匯流排通訊應用編程實踐
1、先看51單片機的書(包括了51結構,編程,畫板等內容)
——51的書是比較多的,教材都可以
2、了解CAN的協議(CAN的協議,CAN節點的構成,CAN應用層協議的建立)
——CAN的書不多,網上資料有的
3、最重要的是有塊51的CAN開發板,對你來說是最直接的幫助,能弄懂並COPY一個的話你的畢設應該可以交差了。
㈦ 請問canopen通訊和CAN通訊有什麼不同嗎
感謝題主的邀請,我來說下我的看法:
當然是不同的,CAN匯流排通訊只是最基礎的數據通訊,就如同一條沒有任何交通規則的馬路一樣,無論是行人,自行車還是機動車,都可以隨意的行走,沒有章法。而CANopen是CAN匯流排的高層協議,它對CAN匯流排的運行作出了具體的規范,相當於上面我們舉的那個馬路例子里的交通規則。有了交通規則以後,機動車怎麼走,行人怎麼走,自行車怎麼走就都有章可循了,效率更高。如果你需要相關的CANopen通訊的設備的話,可以前往我們的網站進行咨詢,歡迎來訪。
㈧ 請問該如何實現canopen和can通訊呢
感謝題主的邀請,我來說下我的看法:
CANopen匯流排其實也是CAN匯流排,不過它被賦予了CANopen高層協議,這讓每一條CAN匯流排數據都有了具體的含義,更加具備實用性。一個是具有高層協議的CAN數據,另一個是不具備的,那它們之間肯定是不能直接進行通訊的,需要專門的CANopen轉CAN協議轉換器。不過,這類設備很少有現成的,需要專門去研發定製。但現在,如果你擁有PLC程序編輯能力,你可以使用可編程協議轉換器進行CANopen轉CAN轉換器的開發,你清楚了嗎?如果您需要相關的CANopen轉CAN轉換器的話,可以前往我們的網站進行具體的咨詢,歡迎來訪。
㈨ can匯流排編程需要注意些什麼
1.正確的初始化,比如時間特性,波特率,工作模式等。
2.過濾器設置,高小器的編號,過濾器寬度以及過濾器的過濾模式還有過濾器標准值設置等。
3.發送/接收數據的方式有查詢方式和中斷方式,個人建議發送使用查詢方式,接收使用中斷方式。
㈩ 請問一下帶CAN匯流排的單片機(用C語言編程)有哪些
不需要 特地集成CAN收發器的晶元啊 用獨立CAN收發器 SJA1000 單片機就你自己看著辦了 3個CAN里有2個是用SJA1000的