STM32學(xué)習(xí)手記⑤-SysTick精確延時(shí) 作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對(duì)面交流海量資料庫(kù)查詢 收藏 ******************************************************************************************/ void NVIC_Configuration( ){//NVIC_InitTypeDef NVIC_InitStructure; //定義一個(gè)中斷結(jié)構(gòu)體//NVIC_InitStructure.NVIC_IRQChannel = 中斷通道名; //開(kāi)中斷,中斷名稱見(jiàn)函數(shù)庫(kù)//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優(yōu)先級(jí)//NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //響應(yīng)優(yōu)先級(jí)//NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //啟動(dòng)此通道的中斷//NVIC_Init(&NVIC_InitStructure); //中斷初始化#ifdef VECT_TAB_RAM //如果C/C++ CompilerPreprocessorDefined symbols中的定義了VECT_TAB_RAM NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //則在RAM調(diào)試#else //如果沒(méi)有定義VECT_TAB_RAM, 則定義VECT_TAB_FLASHNVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); //則在Flash里調(diào)試,設(shè)置中斷向量表的起始地址為0x08000000#endif //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //搶占式優(yōu)先級(jí)別設(shè)置為無(wú)搶占優(yōu)先級(jí)//注:一共16個(gè)優(yōu)先級(jí),分為搶占式和響應(yīng)式。兩種優(yōu)先級(jí)所占的數(shù)量由此代碼確定,NVIC_PriorityGroup_x可以是0、1、2、3、4,//分別代表?yè)屨純?yōu)先級(jí)有1、2、4、8、16個(gè)和響應(yīng)優(yōu)先級(jí)有16、8、4、2、1個(gè)。規(guī)定兩種優(yōu)先級(jí)的數(shù)量后,所有的中斷級(jí)別必須在其中選擇,//搶占級(jí)別高的會(huì)打斷其他中斷優(yōu)先執(zhí)行,而響應(yīng)級(jí)別高的會(huì)在其他中斷執(zhí)行完優(yōu)先執(zhí)行。NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, 1, 0); //中斷等級(jí)設(shè)置,一般設(shè)置的高一些會(huì)少受其他影響} /*************************************************************** 函數(shù)名稱 :GPIO_Configuration()* 功能描述 : GPIO配置* 參數(shù) : 無(wú)* 返回值 : 無(wú)* 全局變量 : 無(wú)* 全局靜態(tài)變量: 無(wú)* 局部靜態(tài)變量: 無(wú)*************************************************************/void GPIO_Configuration(){GPIO_InitTypeDef GPIO_InitStructure; //定義GPIO初始化結(jié)構(gòu)體 //GPIO_InitStructure.GPIO_Pin = GPIO_Pin_標(biāo)號(hào) |PIO_Pin_標(biāo)號(hào) ; //管腳位置定義,標(biāo)號(hào)可以是NONE、ALL、0至15。//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;//輸出速度2MHz//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模擬輸入模式//GPIO_Init(GPIOC, &GPIO_InitStructure); //C組GPIO初始化// 將PE0設(shè)為推挽輸出GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOE, &GPIO_InitStructure);}/************************************************************* 函數(shù)名稱 : SysTick_Configuration( )* 功能描述 : 配置SysTick 定時(shí)器 1ms中斷1次* 參數(shù) : 無(wú)* 返回值 : 無(wú)* 全局變量 : 無(wú)* 全局靜態(tài)變量: 無(wú)* 局部靜態(tài)變量: 無(wú) 上一頁(yè) 1 2 3 下一頁(yè)
評(píng)論