日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

K60 FTM定时器 定时中断

發布時間:2023/12/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 K60 FTM定时器 定时中断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

K60 FTM定時器 定時中斷

?????嘗試多次無論如何設置mod寄存器都無法實現 CNTIN→MOD 向上計數,本程序采用自由計數模式,由CNTIN開始計數直到CNT==0xffff,硬件自動重置CNT=CNTIN。除此之外還應在中斷向量表中設置中斷函數,中斷號 78 - 16 + ftmn ,中斷函數中應清除相應的STATUS寄存器和TOF標志位來清除中斷標志。 頻率計算,只能慢慢試了。

/************************************************************************* * 桂林電子科技大學嵌入式基地 * * 函數名稱:FTM_Timer_init * 功能說明:定時溢出中斷始化函數 * 參數說明:ftmn freq-定時器初值 ps-時鐘分頻 1 2 6 8.... * 函數返回:無 * 修改時間:2018-4-26 * 備 注: *************************************************************************/ void FTM_Timer_init(FTMn ftmn, u16 freq , u8 ps) {/******************* 開啟時鐘 *******************/SIM_SCGC6 |= SIM_SCGC6_FTM0_MASK; //使能FTM0時鐘/******************** 配置時鐘和分頻 ********************/FTM_MODE_REG(FTMx[ftmn]) |= FTM_MODE_WPDIS_MASK ; //寫保護禁止FTM_QDCTRL_REG(FTMx[ftmn]) = 0 ;FTM_SC_REG(FTMx[ftmn]) = FTM_SC_PS(ps) | FTM_SC_CLKS(1) | FTM_SC_TOIE_MASK ;FTM_CNTIN_REG(FTMx[ftmn]) = freq ; // Counter Initial Value 計數器初始化值FTM_MOD_REG(FTMx[ftmn]) = 1 ; //Modulo value模數, EPWM的周期為 :MOD - CNTIN + 0x0001FTM_CNT_REG(FTMx[ftmn]) = freq ; //計數器。只有低16位可用FTM_SC_REG(FTMx[ftmn]) &= 0x7F ; //清中斷標志位寫TOF為0FTM_MODE_REG(FTMx[ftmn]) |= FTM_MODE_FTMEN_MASK ; //FTM使能enable_irq(78 - 16 + ftmn); //FTMn開中斷 }

總結

以上是生活随笔為你收集整理的K60 FTM定时器 定时中断的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。