回复【5楼】正点原子:
---------------------------------
我刚试了下,用If语句测试该引脚在触摸时是否变低,没效果……我现在用两个变量来表示数值,如果去掉IF,数值变化了就马上显示出来了,而加上IF检测该IRQ脚是否变低时,怎么触摸都没反应……但装例程是可以手写的,屏没问题。
[mw_shl_code=c,true]while(1)[/mw_shl_code]
[mw_shl_code=c,true]{[/mw_shl_code]
[mw_shl_code=c,true] DisplayChar(30,260,Num[Xlabel/10000],WHITE); //X
DisplayChar(38,260,Num[Xlabel/1000%10],WHITE);
DisplayChar(46,260,Num[Xlabel/100%10],WHITE);
DisplayChar(54,260,Num[Xlabel/10%10],WHITE);
DisplayChar(62,260,Num[Xlabel%10],WHITE);
DisplayChar(30,280,Num[Ylabel/10000],WHITE); //Y
DisplayChar(38,280,Num[Ylabel/1000%10],WHITE);
DisplayChar(46,280,Num[Ylabel/100%10],WHITE);
DisplayChar(54,280,Num[Ylabel/10%10],WHITE);
DisplayChar(62,280,Num[Ylabel%10],WHITE);[/mw_shl_code]
[mw_shl_code=c,true] ///前面有定义#define T_IRQ ((volatile unsigned long *)(0x42220184)) //PC1[/mw_shl_code]
[mw_shl_code=c,true] ///把这个IF语句改成if(!(GPIOC->IDR&0x00000002)),也不行(但是去掉!就可以,说明按下触摸时这个口也还是1)[/mw_shl_code]
[mw_shl_code=c,true] if(*T_IRQ==0) //去掉IF,数值就显示出16789了,说明这个T_IRQ就是不会变0,我引脚设置貌似都没问题的,该位是用位带的
{
Xlabel=16789;
}
FillOut(30,260,40,32,DARKBLUE); //清空显示区域,刷新数字就不重叠[/mw_shl_code]
[mw_shl_code=c,true]}[/mw_shl_code]
|