سلام به همه دوستان این تاپیکو زدم تا همه دوستانی از جمله خودم که در این مورد مشکل دارن مطرح کنن
من با راه اندازی این تاچ کنترلر مشکلی نداشتم راه افتاد ولی مشکل اساسیم کالیبره کردن این کنترلره من هرجایی رو که لمس میکنم در 50% موارد یه عدد خیلی بزرگ رو برمیگردونه که اصلا ربتی به عدد برگشتی از تاچ کنترلر رو نداره
من این دوتا هدر رو میزارم تا همه دوستان در موردش نظر بدن
اولین موردی که میخوام بگم اینکه این تاچ کنترلر یه عدد 12 بیتی از لحظه تماس از مختصات x و y برمیگردونه با توجه به دیتاشیت تاچ روی ال سی دی 4.3 اینچ مقاومت ایجاد شده از لمس کردن تاچ از 100 اهم تا 900 اهم تغییر میکنه حالا بیایم با هم چنتا محاسبه کنیم ببینید من درست میگم ما اول تابع زیر رو فراخونی میکنیم
void TP_GetAdXY(int *x,int *y)
این تابع مختصات نقطه لمس شده رو با یه عدد 12 بیتی نمایش میده پس داریم :
[PHP]
// miyangine moghavemete tach panel az : 100 ohm .........900 ohm
// 100 ohm : yani makane sefr va 900 ohm yani akharin makane ghable lams tavasot angosht
// adade bargashti tavasote tach controller az 0 ta 4096 mibashad
// 4096/900 = 4.55 .......>>>> 100*4.55 = 455 = adad bargashti az makane sefr
// 900*4.55 = 4096= adad bargashti az akharin makane ghable lams tavasot angosht
// telorance ebtada va entehaye tach = 4096 - 455 = 3641
// jaygahe noghte pixel x = 3641 / tedade pixelhaye mehvar x = 3641 / 480 = 7.585
// jaygahe noghte pixel y = 3641 / tedade pixelhaye mehvar y = 3641 / 272 = 13.386
// adade bargashti az tabe X_Position_func va Y_Position_func = touch
// mokhtasate x = (touch - 455) / 7.585
// mokhtasate Y = (touch - 455) / 13.386
[/PHP]حالا با توجه به این نکات چرا عدد برگشتی درست نیست البته این توابع رو بیشتر از اون مثالی که تو فروم میکرو های lpc هستش دراوردم اگه کسی میدونه راهنمایی کنه ممنون میشم