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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java 定时器 的中断程序,STM32定时器中断

發(fā)布時間:2024/4/11 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 定时器 的中断程序,STM32定时器中断 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我試圖在STM32L073中使用定時器外設但我有問題 . 我在STM32Cube中生成了設置代碼,并且只使用了HAL API提供的函數(shù) . 問題是定時器中斷只發(fā)生一次,它應該始終發(fā)生溢出 . 我不知道計時器是否正在運行或我的設置是錯誤的(我相信它不應該是因為我使用Cube生成的代碼) . 有人可以幫忙嗎?

這在while while循環(huán)中調(diào)用

void MX_TIM7_Init(void){

TIM_ClockConfigTypeDef sClockSourceConfig;

TIM_MasterConfigTypeDef sMasterConfig;

htim7.Instance = TIM7;

htim7.Init.Prescaler = 00;

htim7.Init.CounterMode = TIM_COUNTERMODE_UP;

htim7.Init.Period = 00;

if (HAL_TIM_Base_Init(&htim7) != HAL_OK) {

Error_Handler();

}

sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK){

_Error_Handler(__FILE__, __LINE__);

}

}

BaseMspInit方法

void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle){

if(tim_baseHandle->Instance==TIM7){

/* USER CODE BEGIN TIM7_MspInit 0 */

/* USER CODE END TIM7_MspInit 0 */

/* Peripheral clock enable */

__HAL_RCC_TIM7_CLK_ENABLE();

/* TIM7 interrupt Init */

HAL_NVIC_SetPriority(TIM7_IRQn, 0, 0);

HAL_NVIC_EnableIRQ(TIM7_IRQn);

/* USER CODE BEGIN TIM7_MspInit 1 */

/* USER CODE END TIM7_MspInit 1 */

}

}

然后在主要我稱之為

HAL_TIM_Base_Start_IT(&htim7);

這是這樣做的

HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim){

/* Check the parameters */

assert_param(IS_TIM_INSTANCE(htim->Instance));

/* Enable the TIM Update interrupt */

__HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE);

/* Enable the Peripheral */

__HAL_TIM_ENABLE(htim);

/* Return function status */

return HAL_OK;

}

我的中斷處理程序調(diào)用PeriodElapsedCallback

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {

HAL_GPIO_TogglePin(led_GPIO_Port, led_Pin);

}

它編譯沒有錯誤沒有警告,在調(diào)試器中我看到這個中斷只觸發(fā)一次然后從不 . 期待著答案

附:使用SEGGER Embedded Studio

總結

以上是生活随笔為你收集整理的java 定时器 的中断程序,STM32定时器中断的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。