在中斷里面 用LCD_ShowIntNum 顯示 編碼器的數值,結果出現了一個奇怪的現象,每次選擇編碼器后顯示數字,數字的最后一個字就會
出現亂碼,顯示不完整,自己找了一下原因,現在發現 在中斷里面顯示每次都是最后顯示的數字出問題,如代碼中顯示,第一個LCD_ShowIntNum 顯示正確,怎么旋轉編碼器都ok,但第二個LCD_ShowIntNum顯示的就肯定出現如圖顯示的亂碼,感覺像是執行LCD顯示時間不夠,但是在中斷函式最后加了delay延遲等帶LCD顯示完,也不行。
另外把第一個和第二個LCD_ShowIntNum互換前后,結果也是最后一個LCD_ShowIntNum顯示出現亂碼,這樣LCD_ShowIntNum本身應該是沒有問題的
發個帖子請各位高手指導一下,確實沒招了,請各位不惜賜教,謝謝
void TIM3_IRQHandler(void)
{
/* USER CODE BEGIN TIM3_IRQn 0 */
if(LL_TIM_IsActiveFlag_CC1(TIM3) == SET)
{
uwICValue2=LL_TIM_GetCounter(TIM3)/4;
LL_TIM_OC_SetCompareCH1(TIM1, uwICValue2);
LCD_ShowIntNum(180,100,uwICValue2,sizeof(uwICValue2),WHITE,BLACK,32);
LCD_ShowIntNum(150, 20,22,sizeof(22),WHITE,BLACK,32);//顯示測驗用
}
LL_TIM_ClearFlag_CC1(TIM3);
LL_TIM_EnableIT_CC1(TIM3);
/* USER CODE END TIM3_IRQn 0 */
/* USER CODE BEGIN TIM3_IRQn 1 */
/* USER CODE END TIM3_IRQn 1 */
}

uj5u.com熱心網友回復:
另外補充一下,LCD走的是硬體SPI轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/269851.html
標籤:單片機/工控
