void main(void)
q1: 做一件事情得有步驟,我用dsp去點燈,我需要哪幾個步驟 ?
答:(1)系統初始化 //這一步肯定得有, 具體怎麼配置。參考上面** 。
(2)配置gpio //重點是講gpio配置,下面會詳細展開怎麼配置
(3)關閉中斷 //參考**裡面,有關閉中斷操作。至於為啥要關閉,我猜測是用不到就關閉吧!
(3)主函式呼叫 //學習微控制器的都知道
q2: 配置gpio其實就相當於操作暫存器。 dsp有這麼多暫存器 。應該操作哪些暫存器?
(1)根據上面的**:
eallow;
gpioctrlregs.gpamux1.all = 0x00000000; // all gpio
gpioctrlregs.gpadir.all = 0xffffffff; // all outputs
edis;
gpiodataregs.gpbtoggle.all
因此操作gpamux1、gpadir、gpbtoggle三個暫存器即可 。
1.gpamux1: gpio的多功能復用暫存器,這裡點燈,寫入00即可。
00:通用的輸入輸出口
01:外設選擇1
10:外設選擇2
11:外設選擇3
2.gpadir: gpio方向暫存器,gpio共58個,每個暫存器有兩種狀態。詳見p146-p147
0:配置gpio作為輸入
1:配置gpio作為輸出
3.gpbtoggle:翻轉暫存器 。例如 gpatoggle.gpiox = 1:強制設定埠電平反轉。詳見:p153-p155
0:無效
1:有效
DSP28335 外設時鐘
tms320f28335通過外部時鐘訊號 osc和pll產生倍頻時鐘訊號clkin後,clkin經過cpu後產生時鐘sysclkout clkin和sysclkout頻率是一樣的 sysclkout給各個片內外設提供時鐘訊號。為了實現低功耗和提供高低頻率時鐘訊號,需要把sysclkout進一步分頻,...
DSP28335系統時鐘
鎖相環是一種控制晶振使其下你跟對於參考訊號保持恆定的電路。主要作用是通過軟體實時配置片上外設時鐘 譬如當30mhz的oscclk訊號經鎖相環倍頻後,倍頻倍數可通過pllcr div 設定,可設定為10,經過pll後的訊號變為300mhz,因為28335的時鐘頻率為150mhz,所以需要將pllsts...
DSP28335進入非法中斷
進入非法中斷是因為cpu核心讀到了非法指令,之所以會讀到非法指令,一般是因為程式跑飛。程式跑飛不一定是軟體問題,硬體上的時鐘電源不穩定也會導致這個問題。1.程式中是否使用了delay us 函式,如果是,是否已經copy到ram中?2.檢查是否開了足夠的stack空間?3.進入程式後,先單步執行,看...