記錄一下2020未來的廣交大的linux學習過程--簡化筆記
epit普通定時器
1、epit是32位的乙個向下減一的計數器,不能輸入捕獲或pwm。
2、epit時鐘源可以選擇,ipg_clk=66mhz
3、可以對時鐘源進行分頻,12位的分頻器,0~4095代表1~4096分頻
4、開啟定時器後,計數暫存器會每個時鐘減1,如果和比較暫存器的值相等時觸發中斷
epit有2種工作模式:
set-and-forget 模式、free-running 模式
5、6ull有兩個epit定時器。
epit_cr暫存器用於配置epit p1563
二、實驗原理簡介
epit_cr bit0為1,設定epit使能。bit1為1,設定計數器的初始值為載入暫存器的值,bit2為1使能比較中斷。bit3為1設定工作在set-and-forget模式下。bit15-14設定分頻值。bit16軟復位。bit24-25設定時鐘源,設定為1,時鐘源為ipg_clk=66mhz,外設時鐘66mhz。
epit_sr暫存器,只有bit0有效,表示中斷狀態,寫1表示中斷傳送,為0中斷未發生,中斷產生後要清除標誌位。
epit_lr暫存器設定計數器的載入值,計數器每次計時到0以後就會讀取lr暫存器的值重新開始計時。
cmpr比較計數器,當計數器的值和cmpr相等後就產生比較中斷
gpt定時器
gpt是乙個32位向上計數的計數器
上公升或下降沿捕獲
支援輸出或中斷功能
12位的分頻器
使用ipg_clk=66mhz時鐘源
gpt定時器有兩種工作模式:restart 和free-run
restart模式下:定時器計數值和比較暫存器ocr的值相等的話定時器就會重新從0開始計時。注意!只有比較通道1才有此功能。
free-run模式:所有3個輸出比較通道都適用,從0開始一直加到0xffffffff,周而復始。
gpt_cr暫存器,bit0位gpt使能位,為0時關閉gpt,為1時使能gpt。
bit1確定gpt定時器計數器的初始值,為0表示預設上次關閉的值,為1從0開始向上計數。
bit6~8 設定為1 時鐘源為ipg-clk=66mhz。
bit9設定gpt定時器工作模式,為0工作在restart,為1工作在free-run.
bit15軟體復位。
gpt_pr暫存器的bit11~0為分頻值。可設定0~4095,表示1~4096分頻。
gpt_sr(狀態)暫存器,bit5表示溢位傳送,bit4和3分別為輸入通道2和1的捕獲中斷標誌位。bit2~0也即是of1~3為比較中斷。
gpt_ir暫存器,就是中斷使能暫存器。bit5中斷溢位使能,bit4和3分別為輸入2通道2和1的捕獲中斷使能位。bit2~0為通道3~1的中斷比較使能位
gpt1_ocr1暫存器設定輸出比較中斷值
嵌入式Linux學習記錄之串列埠
6ull的uart urxd暫存器儲存這串列埠接收到的資料 uart utxd暫存器為傳送資料暫存器,如果需要通過串列埠傳送資料,只需要將資料寫入uart utxd暫存器 uart ucr1 4是串列埠的控制暫存器。uart ucr1的bit0是使能位,為1的時候使能uart。bit14為自動檢測波...
嵌入式學習記錄
1.volatile volatile是宣告該變數是易變的,編譯器把常用的值放在暫存器裡了,所以用的時候,直接在暫存器裡取上一次用的值了 可是因為這個變數是易變的,所以可能這有暫存器的優化處理會帶來錯誤,因此加上volatile告訴編譯器這個變數是易變的,必須每次使用都即時的去改變量的記憶體中讀取,...
嵌入式Linux學習記錄之中斷
記錄一下2020未來的廣交大的linux學習過程 簡化筆記 中斷向量偏移 一般arm從0x0000 0000 位址開始執行,對於stm32設定連線首為0x8000 000。如果 一定要從0x8000 000開始執行,需要告訴soc核心。也就是設定中斷向量偏移。設定scb的vtor暫存器為新的中斷向量...