在定时器中断中ADC,然后到主函数LCD显示,为何LCD会白屏?

2019-07-20 15:03发布

中断函数配置 [mw_shl_code=c,true]void TIM1_UP_IRQHandler(void) { if ( TIM_GetITStatus(TIM1 , TIM_IT_Update) != RESET ) { TIM_ClearITPendingBit(TIM1, TIM_FLAG_Update); LED0=!LED0; LED1=!LED1; adcx_1=Get_Adc_Average(ADC_Channel_1,1); temp_1=(float)adcx_1*(3.3/4096); adcx_1=temp_1; adcx_2=Get_Adc_Average(ADC_Channel_2,1); temp_2=(float)adcx_2*(3.3/4096); adcx_2=temp_2; adcx_3=Get_Adc_Average(ADC_Channel_0,1); temp_3=(float)adcx_3*(3.3/4096); adcx_3=temp_3; } }[/mw_shl_code] 主函数while(1)中我什么也不做,只是延时250ms,在外部写 [mw_shl_code=c,true] //?????á?????? POINT_COLOR=BLUE;//?è??×????????? LCD_ShowString(60,130,200,16,16,"ADC_CH1_VOL:0.000V"); LCD_ShowString(60,150,200,16,16,"ADC_CH2_VOL:0.000V"); LCD_ShowString(60,170,200,16,16,"ADC_CH0_VOL:0.000V"); [/mw_shl_code] 为何连这个东西都不显示呢?ADC使用了PA0,1,2是没有占用LCD的io的,请问问题可能出在哪里
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
lycreturn
1楼-- · 2019-07-20 16:13
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-20 20:38
 精彩回答 2  元偷偷看……
胡桃
3楼-- · 2019-07-20 21:58
解决了来说一下,中断里只能用得到单次adc那个函数,具体原因不明,尽量精简中断内容。。。推测可能是程序在某一布跑死了

一周热门 更多>