dsp
除錯can
一點心得
除錯的過程也就是學習的過程,無前人領路,只有自己摸索,
不免要耗費更多的時間和精力,從看書到除錯到完全調通,用了差不多一星期的時間,
當然不是全滿,嘿嘿,偶爾還是要玩玩,在這裡總結一下,腦子不好用,日後必定就忘
記了這寶貴的經歷。
:如何配置
can的問題
首先要按照書上所講的做基本配置,
ecanashadow == ecanaregs
gpiomuxregs.gpfmux.bit.cantxa_gpiof6 = 1; //
定義為can
功能gpiomuxregs.gpfmux.bit.canrxa_gpiof7 = 1; //
定義為can
功能ecanashadow.cantioc.bit.txfunc = 1; //
定義為can
傳送功能
ecanashadow.canrioc.bit.rxfunc = 1; //
定義為can
接收功能
然後再不使能郵箱的情況下作如下設定:
ecanaregs.canme.all = 0; //
不使能郵箱
ecanaregs.canmd.all = 0xffff0000; /*0~15 is tx,16~31 is rx*/
設定郵箱
id號:
傳送郵箱的id號
ecanamboxes.mbox0.mid.all = 0xa0000000;
自動應答模式
ecanamboxes.mbox1.mid.all = 0x9555aaa1;
ecanamboxes.mbox2.mid.all = 0x9555aaa2;
ecanamboxes.mbox3.mid.all = 0x9555aaa3;
ecanamboxes.mbox4.mid.all = 0x9555aaa4;
ecanamboxes.mbox5.mid.all = 0x9555aaa5;
ecanamboxes.mbox6.mid.all = 0x9555aaa6;
ecanamboxes.mbox7.mid.all = 0x9555aaa7;
ecanamboxes.mbox8.mid.all = 0x9555aaa8;
ecanamboxes.mbox9.mid.all = 0x9555aaa9;
ecanamboxes.mbox10.mid.all = 0x9555aaaa;
ecanamboxes.mbox11.mid.all = 0x9555aaab;
ecanamboxes.mbox12.mid.all = 0x9555aaac;
ecanamboxes.mbox13.mid.all = 0x9555aaad;
ecanamboxes.mbox14.mid.all = 0x9555aaae;
ecanamboxes.mbox15.mid.all = 0x9555aaaf;
接收郵箱的id號
ecanamboxes.mbox16.mid.all = 0x80000000;
ecanamboxes.mbox17.mid.all = 0x9555aaa1;
ecanamboxes.mbox18.mid.all = 0x9555aaa1;
ecanamboxes.mbox19.mid.all = 0x9555aaa1;
ecanamboxes.mbox20.mid.all = 0x9555aaa1;
ecanamboxes.mbox21.mid.all = 0x9555aaa1;
ecanamboxes.mbox22.mid.all = 0x9555aaa1;
ecanamboxes.mbox23.mid.all = 0x9555aaa1;
ecanamboxes.mbox24.mid.all = 0x9555aaa1;
ecanamboxes.mbox25.mid.all = 0x9555aaa1;
STM32 CAN 通訊 濾波設定問題
使用的是 32位的識別符號遮蔽位模式 can filteridhigh和can filteridlow組合成乙個32位暫存器,用來儲存將要過濾的id can filtermaskidhigh和can filtermaskidlow組合成乙個32位暫存器,用來表示這個id的哪些位 必須符合 置1 哪些...
STM32的CAN匯流排除錯
1.使用stm32的can匯流排,回環程式寫好之後,在無外接收發晶元的情況下,使程式不斷發資料,使用示波器可以看到tx引腳有波形,而rx引腳沒有波形 2.模式改為正常模式,在沒有接收發晶元的情況下再次測一下tx與rx的波形,但是發現使用示波器採集不到波形,而且在發了幾次資料後會進行標準庫的斷言,一直...
KEA128晶元CAN驅動除錯
進入汽車電子有兩年了,一直在做bsp的工作,竟然沒有接觸過can除錯,這次有機會給上層做乙個can介面,除錯過程中遇到了一些問題,記錄如下。1 can匯流排波特率的計算 以前接觸的的通訊協議,波特率都可以直接賦值,但是can的一次取樣分成4個時間段。為了給上層提供方便的介面,在時鐘源選擇後,將波特率...