سلام
من برنامه زیر رو برای تاچ نوشتم ولی یه خورد مشکل داره
یعنی یا اعداد پرش دارند
و همیشه هم مقدار x یه مقدار بزرگ هست برابر با 3968
این برنامه بهینه شده نیست و اشکالاتی از لحاظ تعداد متغیر و ... این ها دارد به این قسمت هاش توجه نفرمایید
دلیل: ادغام دو پست برای جلوگیری از اسپم
آقا درست شد
من خط busy رو چکش رو برداشتم برنامه درست شد
while((GPIOB->IDR & 0X0001)==1){}
به علاوه اینکه داخل قسمت ارسال کامند هم یه بار بعد از ارسال کامند مشغول گرفتن اطلاعات هم میشدم یعنی
این جا رو هم اصلاح کردم
خب حالا سوال اینه که روش کالیبراسیون چی باشه که کاربر بتونه راحت باهاش کار کنه ؟؟؟
دلیل: ادغام دو پست برای جلوگیری از اسپم
هنوز پرش داره اعداد تایم خوندن رو هر یک ثانیه کردم پرش ها مشخص شدن ولی در تایم های خیلی سریع این پرش ها بسیار جزیی می شوند
من برنامه زیر رو برای تاچ نوشتم ولی یه خورد مشکل داره
یعنی یا اعداد پرش دارند
و همیشه هم مقدار x یه مقدار بزرگ هست برابر با 3968
unsigned char xpt_buf[4];
GPIOB->ODR &=~(1<<12);
xpt2046_send_cmd(0x91);
while((GPIOB->IDR & 0X0001)==1){}
HAL_SPI_Receive(&hspi2,&xpt_buf[0],1,100);
HAL_SPI_Receive(&hspi2,&xpt_buf[1],1,100);
xpt2046_send_cmd(0xD1);
while((GPIOB->IDR & 0X0001)==1){}
HAL_SPI_Receive(&hspi2,&xpt_buf[2],1,100);
HAL_SPI_Receive(&hspi2,&xpt_buf[3],1,100);
*x=((xpt_buf[0]<<8)|(xpt_buf[1]))>>4;
*y=((xpt_buf[2]<<8)|(xpt_buf[3]))>>4;
GPIOB->ODR |=(1<<12);
این برنامه بهینه شده نیست و اشکالاتی از لحاظ تعداد متغیر و ... این ها دارد به این قسمت هاش توجه نفرمایید
دلیل: ادغام دو پست برای جلوگیری از اسپم
آقا درست شد
من خط busy رو چکش رو برداشتم برنامه درست شد
while((GPIOB->IDR & 0X0001)==1){}
به علاوه اینکه داخل قسمت ارسال کامند هم یه بار بعد از ارسال کامند مشغول گرفتن اطلاعات هم میشدم یعنی
این جا رو هم اصلاح کردم
unsigned char get;
HAL_SPI_Transmit(&hspi2,&cmd,1,100);
//HAL_SPI_Receive(&hspi2,&get,1,100);
return get;
خب حالا سوال اینه که روش کالیبراسیون چی باشه که کاربر بتونه راحت باهاش کار کنه ؟؟؟
دلیل: ادغام دو پست برای جلوگیری از اسپم
هنوز پرش داره اعداد تایم خوندن رو هر یک ثانیه کردم پرش ها مشخص شدن ولی در تایم های خیلی سریع این پرش ها بسیار جزیی می شوند
دیدگاه