新唐Cortex M0學習之外部中斷與定時器中斷

2021-05-26 10:43:34 字數 826 閱讀 9641

進入南航的學習已經兩周了,從開始接觸新唐的cortex—m0到現在,對它的整體架構有了一定的認識,但是還是不足,以此記下自己的一點心得很成果,與大家一起分享!

這次的專案是紅外模組,即實現捕捉紅外訊號,解碼,發射紅外訊號,讓開發板學習紅外訊號!天下大事,必作於細,學習不是一朝一夕能夠解決的事情,所以第一周的任務就是熟悉新唐cortex—m051這個開發板,我手上的是最小系統,只有乙個m0的核心和引腳,其它什麼都沒有。

對一開始學習嵌入式的時候,對一些概念覺得很奇怪,比如設定晶振,下降沿觸發,其實嵌入式就是乙個微小型的計算機,而晶振就和我們的cpu一樣,要發出訊號讓器件進行工作,通俗一點,晶振就像乙個動力源,沒有動力,機器怎麼工作呢?而晶振發出的就是乙個時段高電平,乙個時段低電平,我們常說cpu是3.0ghz的,它的意思就是cpu在1秒內發出乙個時段高電平,乙個時段低電平,這個組合持續3g(即三乘以十的9次方)下,但是嵌入式裡面的cpu達不到這個速度,我本次用的晶振是12mhz的(十二乘以十的六次方),你可以想象一下,速度是怎麼樣的!

言歸正傳,外部中斷根據例子程式很好改,定時器中斷根據例程也可以實現,我用外部中斷是為了捕獲紅外訊號,如果用查詢的話效率太低,大家懂的,而定時器的作用就是實現延遲,如果用軟體延遲(即套上3,4個for迴圈),效率低而且準確度不高。但是我把外部中斷和定時器中斷和到一起就出問題了,在外部中斷的服務程式裡面,並不執行定時器中斷...這個開發板是可以中斷巢狀的,而我疏忽的地方在**呢?

是兩個中斷的優先順序,在暫存器裡面,預設所有中斷的優先順序都是0(即最高優先順序),如果要實現中斷巢狀,必須為要巢狀的中斷制定優先順序!

用了一周時間,總算把解碼演算法搞出來,並且除錯對了,並且認識了我們實驗室的師兄師姐們,他們人都很好,很容易相處!

Jlink除錯芯唐Cortex M0簡單步驟

芯唐官方的燒錄器是nu link,用芯唐微控制器做專案開發建議使用官方的燒錄器 但是不少工程師用習慣了jlink除錯arm核心的mcu 芯唐的m0用jlink怎麼玩呢?芯唐微控制器的燒錄介面有五條線 分別是,vcc,dat,clk,rst,gnd 圖 1 jink的燒錄介面jtag有20個腳如圖 2...

Cortex M0檔案說明

1 cortexm0ds logic.v cortex m0 designstart處理器邏輯層v檔案。2 cortexm0ds.v cortex m0 designstart處理器巨集單元級描述。3 ahbdcd.v ahb匯流排位址解碼器。4 ahbmux.v ahb匯流排從裝置多路選擇器。5 ...

Cortex M0 核心的處理器架構簡介

cortex m0處理器具有32位系統匯流排介面,以及32位位址線,即有4gb的位址空間。系統匯流排基於ahb lite高階高效能匯流排協議。外設匯流排基於apb高階外設匯流排協議,通過乙個轉換橋連線到ahb上。這只是cortex m0核心的大概模式,cortex m0 的儲存器系統與cortex ...