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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

S32k144SDK版本——FTM_IC输入捕获

發布時間:2023/12/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 S32k144SDK版本——FTM_IC输入捕获 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

添加輸入捕獲模塊

選擇引腳

設置引腳

?設置對應的定時器和時鐘總線

?選擇對應定時器通道、添加回調函數、設置觸發方式

?初始化


添加輸入捕獲模塊

選擇引腳

設置引腳

?設置對應的定時器和時鐘總線

?選擇對應定時器通道、添加回調函數、設置觸發方式

?初始化


??

FTM_DRV_Init(INST_FLEXTIMER_IC1, &flexTimer_ic1_InitConfig, &ftm1StateStruct); FTM_DRV_InitInputCapture(INST_FLEXTIMER_IC1, &flexTimer_ic1_InputCaptureConfig);

捕獲一個周期內的計數值

配置引腳

配置輸入捕獲模塊

?

代碼補全

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输入捕获的全部內容,希望文章能夠幫你解決所遇到的問題。

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