STM32F103C8T6學習筆記 中斷

2021-08-11 06:20:40 字數 2127 閱讀 8270

1、nvic 巢狀向量中斷控制器     即中斷優先順序管理

scr->aircr暫存器   bit10~8  

111    0位搶占優先順序   4位響應優先順序【這是整個系統的】

每乙個中斷(    對應ip暫存器)  可設定成搶占優先順序~~    響應優先順序0~16【這是對應具體乙個中斷的】

110    1位搶占優先順序   3位響應優先順序

ip   可設定搶占優先順序0或1       響應優先順序0~7

101    2位搶占優先順序   2位響應優先順序

ip            搶占0~3            響應0~3

100    3位搶占優先順序   1位響應優先順序

011    4位搶占優先順序   0位響應優先順序

數值越小  級別越高

2、中斷.c配置  怎麼寫?

系統

nvic_prioritygroupconfig(nvic_prioritygroup_2);   //或者0 1 2 3 4

priority   優先 優先權  n.

configuration     配置   n.

具體到每個中斷

nvic_inittype    nvic_initstructure;     

nvic_initstructure.nvic_ibqchannel=usart1_irqn; //串列埠1中斷 哪個通道?ibq

nvic_initstructure.nvic_ibqchannelpreemptionpriority=1; //搶占優先順序1

nvic_initstructure.nvic_ibqchannelsubpriority=2; //響應(子)優先順序2

nvic_initstructure.nvic_ibqchannelcmd=enable; //使能ibq通道

nvic_init(&nvic_initstructure); //初始化

preemption   先佔   先發制人

handler            處理n.

3、串列埠中斷服務程式.c  怎麼寫?

void usart1_irqhandler(void)         //這是中斷服務函式,這個函式名不能隨便寫    在startup.stm32f10x.hd.s中有定義

u8   res;      //接受到的資料

/*呼叫各種串列埠操作庫函式 */

if(usart_getitstatus(usart1,usart_it_rxne)

res=usart_receivedata(usart1);

usart_senddata(usart1,res);

例如:itstatus usart_getitstatus(usart_typedef* usartx, unit 16_t usart_it);    //獲取中斷狀態標誌位函式

if(usart_getitstatus(usart1, usart_it_rxne) )                                            //開啟串列埠1接收中斷       當串列埠1接收到資料時會觸發此中斷

void usart_senddata(usart_typedef*usartx*, unit16_t usart_it);          //串列埠資料傳送

1   、usart_senddata(usart1,res);

void usart_receivedata(usart_typedef*usartx);          //串列埠資料接收

res=usart_receivedata( usart1);

flagstatus usart_getflagstatus(usart_typedef* usartx, uint16_t usart_flag)     //等待資料傳送完畢

2   、while(usart_getflagstatus(usart1, usart_flag_tc)==reset);

status   狀態

正點原子的串列埠函式  接收協議?

STM32F103C8T6 內部 FLASH讀寫

u16 people id 50 假設公司最多50人 u16 people clock t 50 每個人簽到次數 u16 people num 2 人數 define debug define flash size 64 所選mcu的flash容量大小 單位為k if flash size 256 ...

《STM32》F103C8T6最小系統

復位電路是一種用來使電路恢復到起始狀態的電路裝置,它的操作原理與計算器有著異曲同工之妙,只是啟動原理和手段有所不同。復位電路,就是利用它把電路恢復到起始狀態。就像計算器的清零按鈕的作用一樣,以便回到原始狀態,重新進行計算。和計算器清零按鈕有所不同的是,復位電路啟動的手段有所不同。一是在給電路通電時馬...

有關STM32F103C8T6的超頻

閒來無事突然對32的超頻來了興趣。其實是學校有個實訓,給的微控制器是stm32f1做,想著能弄的更好點就想著把f1超頻一下,感覺能完成更多的事情吧。平台是 上通用的st32f103c8t6最小系統板。看了正點原子的論壇之後感覺,雖然很多大佬都超頻過,但是具體超頻的方法好像沒有路子,我查了好久是沒有查...