久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2503|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32超聲波(HAL庫)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:336427 發(fā)表于 2020-2-5 23:38 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
  MX_GPIO_Init();
  MX_TIM4_Init();
  MX_USART1_UART_Init();
  MX_TIM5_Init();
  /* USER CODE BEGIN 2 */
        delay_init();
//        OLED_init();//oled初始化
        CSB_Init();//超聲波初始化
        


  printf ( "STM32 輸入捕獲實(shí)驗(yàn)\n" );
        printf ( "按下KEY1,測試KEY1按下的時間\n" );//當(dāng)初測試時沒來得及修改,不影響程序正常進(jìn)行
                        t=' ';
  while (1)
  {

  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
                    /* 超聲波觸發(fā)信號*/
                GPIO_SetBits(GPIOA,GPIO_PIN_1);
                US100_DelayUS(20);
                GPIO_ResetBits(GPIOA,GPIO_PIN_1);
               
    /* 進(jìn)行超聲波反饋高電平脈寬測量*/
    if(strCapture.ucFinishFlag == 1 )
                {
      /*計(jì)算高電平數(shù)值 */
                        ulTime = strCapture .usPeriod * GENERAL_TIM_PERIOD + strCapture .usCtr;
      temp=((ulTime % ulTmrClk)*340)/(1000*2);
      printf ( ">>測得距離為%dmm\n",temp);
                        
      strCapture .ucFinishFlag = 0;               
      HAL_Delay(100);      
                }
               

  }
  /* USER CODE END 3 */

}
定時器中斷回調(diào)函數(shù)
/**
  * oˉêy1|Äü: ¶¨ê±Æ÷êäèë2¶»ñÖD¶Ï»Øμ÷oˉêy
  * êäèë2Îêy: htim£o¶¨ê±Æ÷¾ä±ú
  * ·μ »Ø Öμ: ÎT
  * Ëμ    Ã÷: ÎT
  */
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
  TIM_IC_InitTypeDef sConfigIC;
  
  if ( strCapture .ucStartFlag == 0 )
  {   
    __HAL_TIM_SET_COUNTER(htim,0); //清除定時器計(jì)數(shù)
    strCapture .usPeriod = 0;                        
    strCapture .usCtr = 0;
   
    // 配置輸入捕獲參數(shù)。主要是修改觸發(fā)電平
    sConfigIC.ICPolarity = GENERAL_TIM_END_ICPolarity;
    sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
    sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
    sConfigIC.ICFilter = 0;
    HAL_TIM_IC_ConfigChannel(&htim5, &sConfigIC, GENERAL_TIM_CHANNELx);
    // 清除中斷標(biāo)志位
    __HAL_TIM_CLEAR_IT(htim, GENERAL_TIM_IT_CCx);
    // 啟動輸入捕獲并開啟中斷
    HAL_TIM_IC_Start_IT(&htim5,GENERAL_TIM_CHANNELx);   
    strCapture .ucStartFlag = 1;                        
  }               
  
  else
  {   
    // 獲取定時器計(jì)數(shù)值
    strCapture .usCtr = HAL_TIM_ReadCapturedValue(&htim5,GENERAL_TIM_CHANNELx);
    //配置輸入捕獲參數(shù),主要是修改觸發(fā)電平
    sConfigIC.ICPolarity = GENERAL_TIM_STRAT_ICPolarity;
    sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
    sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
    sConfigIC.ICFilter = 0;
    HAL_TIM_IC_ConfigChannel(&htim5, &sConfigIC, GENERAL_TIM_CHANNELx);
   
    // 清除中斷標(biāo)志位
    __HAL_TIM_CLEAR_IT(htim, GENERAL_TIM_IT_CCx);
    //啟動輸入捕獲并開啟中斷
    HAL_TIM_IC_Start_IT(&htim5,GENERAL_TIM_CHANNELx);   
    strCapture .ucStartFlag = 0;                        
    strCapture .ucFinishFlag = 1;   
  }
}

以下代碼請見tim.c
void CSB_Init(void)
{
        ulTmrClk = HAL_RCC_GetHCLKFreq()/GENERAL_TIM_PRESCALER;   
        /*啟動定時器*/
        HAL_TIM_Base_Start_IT(&htim5);  
        /*啟動定時器輸入捕獲并開啟中斷*/
        HAL_TIM_IC_Start_IT(&htim5,GENERAL_TIM_CHANNELx);
        /*復(fù)位超聲波引腳*/
        GPIO_ResetBits(GPIOA,GPIO_PIN_1);
        GPIO_ResetBits(GPIOA,GPIO_PIN_0);
}

可用超聲波模塊函數(shù).7z

3.79 MB, 下載次數(shù): 77, 下載積分: 黑幣 -5

HAL庫版本32超聲波

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久涩涩 | 在线观看视频91 | 亚洲精品久久久一区二区三区 | 久久免费视频观看 | 日韩精品在线播放 | 免费高潮视频95在线观看网站 | 久久久久黄 | 懂色av一区二区三区在线播放 | 日韩一区二区三区在线 | www.色综合 | 中文字幕伊人 | 中文字幕亚洲一区二区三区 | 男人天堂国产 | 欧美久久久久久久 | 日韩成人免费av | 国产久 | 国产999精品久久久久久绿帽 | 亚洲人成人一区二区在线观看 | 欧美久久不卡 | 国产一区二区三区在线看 | 99视频免费看 | 欧美一区二不卡视频 | 国产99精品 | h视频在线观看免费 | 在线视频日韩精品 | h视频免费观看 | 91在线影院| 国产成人免费 | 国产片侵犯亲女视频播放 | 色婷婷九月 | 欧美日韩看片 | 黄色大片在线免费观看 | av黄在线观看 | 免费视频一区二区 | 免费九九视频 | 91麻豆精品国产91久久久久久久久 | 久久久久久久久久毛片 | 美女亚洲一区 | 精品欧美一区免费观看α√ | 久久久成| 成人av在线播放 |