S32k144SDK版本——FTM_IC输入捕获
生活随笔
收集整理的這篇文章主要介紹了
S32k144SDK版本——FTM_IC输入捕获
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
添加輸入捕獲模塊
選擇引腳
設置引腳
?設置對應的定時器和時鐘總線
?選擇對應定時器通道、添加回調函數、設置觸發方式
?初始化
添加輸入捕獲模塊
選擇引腳
設置引腳
?設置對應的定時器和時鐘總線
?選擇對應定時器通道、添加回調函數、設置觸發方式
?初始化
??
捕獲一個周期內的計數值
配置引腳
配置輸入捕獲模塊
?
代碼補全
uint16_t CalculationResut; static uint16_t GetCNVBuff[2]; void FTM0_Ch7PWM_ISR(ic_event_t event, void *userData) {(void)event;(void)userData;///判斷溢出if(GetCNVBuff[0]>GetCNVBuff[1]){CalculationResut = 65535 - GetCNVBuff[0] + GetCNVBuff[1]; //取兩個相鄰跳變沿之間的時間計數差值}else{CalculationResut = GetCNVBuff[1]-GetCNVBuff[0]; //取兩個相鄰跳變沿之間的時間計數差值}GetCNVBuff[0] = GetCNVBuff[1];GetCNVBuff[1] = FTM_DRV_GetInputCaptureMeasurement(INST_FLEXTIMER_IC0, 7U);//讀取C(n)V寄存器計數}void DRI_flexTimer_Ic_Init(void) {FTM_DRV_Init(INST_FLEXTIMER_IC0, &flexTimer_ic0_InitConfig,&ftm1StateStruct);INT_SYS_SetPriority(FTM0_Ch6_Ch7_IRQn,configLIBRARY_LOWEST_INTERRUPT_PRIORITY); ///<設置優先級小,數值越大 這個函數有問題FTM_DRV_InitInputCapture(INST_FLEXTIMER_IC0, &flexTimer_ic0_InputCaptureConfig);}void DRI_flexTimer_Ic_Main(void) {DBG_PRINTF("GetCNVBuff[0]:%d \r\n",GetCNVBuff[0]);DBG_PRINTF("GetCNVBuff[1]:%d \r\n",GetCNVBuff[1]);DBG_PRINTF("CalculationResut:%d \r\n",CalculationResut); }打印現象
?
總結
以上是生活随笔為你收集整理的S32k144SDK版本——FTM_IC输入捕获的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 聊天室 私聊_Java聊天室—
- 下一篇: Branch Prediction Is