| 
 
新手上路 
 
	积分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;
 
 }
 }
 
 | 
 |