新手上路
- 积分
- 37
- 金钱
- 37
- 注册时间
- 2019-9-25
- 在线时间
- 5 小时
|
1金钱
问题现象:将战舰3的触摸代码移植到电机控制程序中,出现按上键,再按下键读取的坐标值还是之前的上键坐标值。
LCD:ILI9325
触摸:XPT2046
代码思路:触摸检测到任意方向键,进入方向键的代码里。在该代码里为了让电机提速,用PEN==0判断是否有触摸,有触摸电机转动,无触摸电机停止。
以下是部分代码。出现按另一个键显示是之前按键坐标值没有规律,随机出现。横屏竖屏都有这个现象。但是战舰版触摸例程的移植是正常的,其他按键也没有这种情况出现
void operate_show()
{
key_value=GUI_ScanKey(screen_num);
switch(key_value)
{
case OFF_UP:
xENABLE_M;user_delay_ms(20);//676
motorX_dir('-');
manual_cnt=0,low_cnt=0;
while(PEN==0)
{
Xposition--;
motorX_period= manual_acc_process(motorX_period,OFFLINE_SPEED);
user_delay_us(10);
motorX_pluse_send();
//GT9147_Scan(0);
}
low_cnt=0;
while(manual_cnt>0){
Xposition--;
motorX_period= manual_dec_process(motorX_period,OFFLINE_SPEED+2000);
user_delay_us(10);
motorX_pluse_send();
}
show_Xpos=(int)( ((double)Xposition)/(Xscale*4) );
acc_dec_cnt=0;
manual_cnt=0,low_cnt=0;
data_change=1;data_NO=1;
xDISABLE_M;user_delay_ms(10);//676
break;
}
}
|
|