初级会员

- 积分
- 70
- 金钱
- 70
- 注册时间
- 2015-10-24
- 在线时间
- 26 小时
|
30金钱
在中断里面 用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 */
- }
复制代码
|
|