STM32之TIMER基本定時器應用
定時器溢出時間 Tout= ((arr+1)*(psc+1))/Tclk
相關結構體
typedef struct
{
uint16_t TIM_Prescaler; /*!< 計數分頻值 */uint16_t TIM_CounterMode; /*!< 計數模式 */
uint16_t TIM_Period; /*!< .周期 */
uint16_t TIM_ClockDivision; /*!< 定時器系統分頻數*/
uint8_t TIM_RepetitionCounter; /*! . 重復計數*/
} TIM_TimeBaseInitTypeDef;
typedef struct
{
uint8_t NVIC_IRQChannel; /*!< 中斷通道*/uint8_t NVIC_IRQChannelPreemptionPriority; /* 主優先級*/
uint8_t NVIC_IRQChannelSubPriority; /*! 子優先級 */
FunctionalState NVIC_IRQChannelCmd; /* 中斷命令:使能或禁止 */
} NVIC_InitTypeDef;
//應用示例
/通用定時器3中斷初始化
//這里時鐘選擇為APB1的2倍,而APB1為36M
//arr:自動重裝值。
//psc:時鐘預分頻數
//這里使用的是定時器3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //時鐘使能
// 1. 定時器TIM3屬性配置初始化
TIM_TimeBaseStructure.TIM_Period = arr; //設置在下一個更新事件裝入活動的自動重裝載寄存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置用來作為TIMx時鐘頻率除數的預分頻值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設置時鐘配置1分頻
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上計數模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根據指定的參數初始化TIMx的時間基數單位
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中斷,允許更新中斷// 2. 中斷優先級配置
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3中斷
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占優先級0級
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //從優先級3級
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存器
TIM_Cmd(TIM3, ENABLE); //使能TIMx
}
//定時器3中斷服務程序
void TIM3_IRQHandler(void) //TIM3中斷
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //檢查TIM3更新中斷發生與否
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //清除TIMx更新中斷標志
LED1=!LED1; //led閃爍
}
}
應用:
main函數中只調用初始化時鐘即可使用(void TIM3_Int_Init(u16 arr,u16 psc))
上一篇:STM32之知其然,知其所以然
下一篇:STM32之ADC應用(基于F1庫函數)
推薦閱讀
史海拾趣
Hongfa宏發公司,全稱廈門宏發電聲股份有限公司,由郭滿金先生于1984年創立。公司初創時,僅有簡陋的廠房和設備,投資不過360萬元,員工僅數十人。但宏發從一開始就明確了產品定位與市場定位,專注于繼電器研發及制造領域。1987年,宏發成功以中國廠家商標及型號取得UL認證,進一步奠定了其在國際市場上的基礎。通過不斷的技術積累和市場開拓,宏發逐漸在國內繼電器行業中嶄露頭角。
進入新世紀,三環集團繼續加大研發投入,力求在電子元件領域取得更多突破。2001年,公司投資生產多層片式陶瓷電容器(MLCC),這是一種廣泛應用于電子設備的關鍵元件。三環集團憑借其強大的研發能力和技術實力,成功實現了MLCC的量產,并將其應用于手機、電子、通訊等多個領域。這一突破不僅提升了公司的市場競爭力,也進一步鞏固了其在電子行業中的地位。
Acculin Inc深知人才是企業發展的核心。為了吸引和留住優秀人才,公司建立了完善的培訓體系,并為員工提供了良好的晉升機會。此外,公司還注重團隊建設,通過舉辦各種團建活動活動增強員工之間的凝聚力。這些舉措使得Acculin在人才競爭激烈的市場中保持了優勢。
BLACK&DECKER一直致力于產品革新和專利申請。1914年,公司為世界第一臺配有槍式手柄、扳機開關和通用馬達的便攜式手電鉆申請了專利。這一發明極大地提高了工作效率,并在市場上取得了巨大的成功。此后,BLACK&DECKER不斷推出創新產品,如1946年發明的世界上第一臺專為家用消費者設計的便攜式電鉆,以及后續的電動籬笆剪、全絕緣電鉆等一系列重要發明。
隨著Avago的進一步發展和演變,CyOptics作為其子品牌也迎來了新的發展機遇。如今,Avago已經演變為Broadcom公司,而CyOptics則繼續以其在光學領域的專業技術和豐富經驗為Broadcom的產品線增添光彩。展望未來,CyOptics將繼續秉承其技術領先和創新驅動的理念,為全球客戶提供更加優質的光學產品和服務。
在1968年,電子行業正迎來一場技術革新。在這個充滿機遇的時代,CML Microcircuits公司應運而生。初創時期的CML專注于研發單芯片解決方案,而不是傳統的標準組件組合。這一創新理念使CML在行業中脫穎而出。公司的第一個產品——頻率敏感開關,憑借其卓越的性能和可靠性,迅速贏得了市場的認可。這款產品不僅銷售了30多年,而且至今仍在某些應用中發揮著關鍵作用。
2008 電子設計 A題 原創作品 基于ARM (省二等獎內附參賽論文) 本帖最后由 paulhyde 于 2014-9-15 03:32 編輯 這可是我們8天7夜奮斗的結果哦,雖然我們得了省二等獎,但是我們能成功的運用ARM,也很滿足了!~!~ 下載不了的可以留下你們的郵箱!~!~! [ 本帖最后由 歹匕示申 于 2008-12-25 14:50 編輯 ] ...… 查看全部問答∨ |
|
我做課程設計其中寫的一個模塊的程序老出錯,改了很多遍仍不能用。這個模塊的功能就像是電話機號碼輸入,計算器的數字輸入差不多。 程序要求: 用10個按鍵控制0-9數字輸入。 每次按鍵輸入,前一個數都向前進一位,例如:輸入一個5,顯示00000005 ...… 查看全部問答∨ |
最近忙一個項目,時間緊迫了,可目前遇到一個嚴重的問題,詳情是這樣:我用EVC.0編一個程序來把采集的數據保存在嵌入式設備的SQLCE數據庫中,但弄來弄去發現保存速度跟不上,不知道各位大俠是否知道有什么方法能實現數據庫的高速保存。感激不盡啊, ...… 查看全部問答∨ |
小弟剛入道,就遇到棘手的問題,希望大家幫忙啊,謝謝! 問題如下 在Wince下 我在Form1中添加了一個PictureBox1,想在上面畫個點,或者圓 結果發現連Paint()函數都沒 ,郁悶;還有 CreatGraphic函數也沒,該怎么辦啊? 使用VB.net2005 誰能發個 ...… 查看全部問答∨ |
|
1)全國統一售價1380元,是目前市場上性價比最高的一款三星6410系統; 2)256MB mDDR超大內存容量,獨家SanDISK iNAND支持,256M-8GNANDFLASH支持; 3)高度集成,6*6CM微型設計的核心板能加快產品開發及更新換代; 5)支持GPS、GPRS、WIFI ...… 查看全部問答∨ |