S32K--输入捕获(FTM_IC)配置与使用学习笔记(SDK3.0)
生活随笔
收集整理的這篇文章主要介紹了
S32K--输入捕获(FTM_IC)配置与使用学习笔记(SDK3.0)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? 使用NXP S32K148EVB的官方開發板,UART1引腳RX-PTC6 TX-PTC7。
ProcessorExpert配置
I/O配置
選擇FTM0 0通道 PTD15設置為輸入 用以采集PWM頻率及占空比
?
添加FTM模塊
?選中FTM_IC右鍵添加模塊
?
配置PTM_IC采集頻率
選擇PTM0 通道0 模式為測量模式
?
配置FTM_IC 采集占空比
FTM0 通道0 邊沿采集模式 雙邊沿采集
補全代碼
生成/補全代碼
?
頻率采集代碼: FTM_DRV_Init(INST_FLEXTIMER_IC1, &flexTimer_ic1_InitConfig, &ftm1StateStruct); FTM_DRV_InitInputCapture(INST_FLEXTIMER_IC1, &flexTimer_ic1_InputCaptureConfig); FTMIC_frequency = FTM_DRV_GetFrequency(INST_FLEXTIMER_IC1); /* Get values */ inputCaptureMeas = FTM_DRV_GetInputCaptureMeasurement(INST_FLEXTIMER_IC1, 0U); /* Calculate the signal frequency using recorded data*/ inputCaptureMeas = FTMIC_frequency / (inputCaptureMeas); //最終計算所得頻率=時鐘頻率/脈沖一周期起振次數占空比采集代碼: flexTimer_ic1_InputCaptureChannelConfig[0].channelsCallbacks = channelsCallbacks_0;//檢測到邊沿跳變執行次回調函數FTM_DRV_Init(INST_FLEXTIMER_IC1, &flexTimer_ic1_InitConfig, &ftm1StateStruct); FTM_DRV_InitInputCapture(INST_FLEXTIMER_IC1, &flexTimer_ic1_InputCaptureConfig); FTMIC_frequency = FTM_DRV_GetFrequency(INST_FLEXTIMER_IC1);void channelsCallbacks_0(ic_event_t event, void *userData) {static uint16_t GetCNVBuff[3];uint16_t CalculationResut1,CalculationResut2;uint32_t Pinstate;Pinstate = (PINS_DRV_ReadPins(PTD)>>15)&0x01; //讀取輸入引腳狀態/* 取三個跳變沿時間點 (三個跳變沿 PWM為一周期)*/GetCNVBuff[0] = GetCNVBuff[1]; GetCNVBuff[1] = GetCNVBuff[2]; GetCNVBuff[2] = FTM_DRV_GetInputCaptureMeasurement(INST_FLEXTIMER_IC1, 0U);//讀取C(n)V寄存器計數CalculationResut1 = GetCNVBuff[1]-GetCNVBuff[0]; //取兩個相鄰跳變沿之間的時間計數差值CalculationResut2 = GetCNVBuff[2]-GetCNVBuff[1]; //同上if(Pinstate) //由于不知道兩個跳變之間是高電平還是低電平 故判斷PWM當前狀態 計算占空比{Duty_cycle = (uint16_t)(((CalculationResut1*100)/(CalculationResut1 + CalculationResut2)));}else{Duty_cycle = (uint16_t)(((CalculationResut2*100)/(CalculationResut1 + CalculationResut2)));} }?
?
————————————————————————————————————————————
小學生一枚,在此做個學習筆記,有什么不妥的地方還請海涵。
總結
以上是生活随笔為你收集整理的S32K--输入捕获(FTM_IC)配置与使用学习笔记(SDK3.0)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS正则表达式匹配域名
- 下一篇: DotSoft.C3DTools.v7.