查看: 5858|回復: 2
打印 上一主題 下一主題

[提問(wèn)] stm32測頻率

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2013-7-13 08:08:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: stm32
目的:用stm32測量頻率,測量頻率范圍越大越好   做法:我是利用定時(shí)中斷+外部中斷來(lái)實(shí)現的。具體做法:外部中斷每來(lái)一個(gè)脈沖上升沿促發(fā)中斷一次,頻率值加1,記到0.5s后定時(shí)器中斷發(fā)生,顯示此時(shí)頻率的值。但是頻率上不去,只能到700K左右。有沒(méi)有更好的方法測頻率呢?

/*外部中斷處理函數*/

void EXTI0_IRQHandler(void)
{
g_freq++;  //計數值,最后當頻率值顯示出來(lái)
EXTI->PR=1<<0;  //清除LINE0上的中斷標志位
}
/*定時(shí)器中斷服務(wù)函數*/
void TIM3_IRQHandler(void)   //TIM3中斷
{
   flag = 1;    //之里的flag用于main函數里面判斷是否0.5S到了,如果到了則顯示出頻率值
  TIM_ClearITPendingBit(TIM3, TIM_IT_Update);  //清除TIMx的中斷待處理位:TIM 中斷源   
}

main函數關(guān)鍵部分:
while(1)
  {
   if(flag)
   {
       Freq_tmp = g_freq;
       printf("%d\n", Freq_tmp);//之里用串口打印出頻率值在終端上
      g_freq = 0;    //頻率值清零,重新計數
      flag = 0;    //清除標記,下次0.5S定時(shí)器中斷到來(lái)后重新顯示出來(lái)
  }
     
  }

沙發(fā)
發(fā)表于 2013-7-17 23:31:17 | 只看該作者
極低頻:定時(shí)器捕獲方式測量
高頻:分頻+外部事件計數
板凳
發(fā)表于 2013-9-11 17:49:16 | 只看該作者
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页