ویرایش توسط hmrasa : 13-02-2014 در ساعت 01:11
درایور هم آپ کردم.
سلام دوست عزیزم
جسارتا توابعی که بالا فرمودید به جزLCD_Initializtion که قطعا در هر درایوری هست، هیچکدوم برای emwin لازم نیست، کار رسم اشکال هندسی و دیکود فونت ها و رسم حروف رو emwin انجام میده و نیازی ندارید که خودتون تابع بنویسید براش، اصلا عمده هنر emwin همینه...
شما در درایورتون کافیه توابع زیر رو داشته باشید:
-مقدار دهی اولیه lcd
-ارسال یک داده
-ارسال یک دستور
-خواندن یک داده
-ارسال یک ریجستر کامل(دستور+داده)
-ارسال بلوکی داده(که این هم نداشتین زیاد تاثیری نداره میتونی همون ارسال یک داده رو به تعداد مورد نیاز تکرار کنی برای emwin در فایل lcdconf.c که تنها باعث کمی افت سرعت در بعضی حالات میشه)
همین.
آقا من از شما عذر میخوام.
بله، باید اول السیدی خارج از emwin راه اندازی شده باشه. این که چیز واضحیه. وقتی خودت نتونی با السیدی کار کنی چه انتظاریه که بتونی emwin رو درست پیکربندی کنی؟ برای اینکه السیدی رو با emwin کنترل کنیم به توابع LCD_Init، دستور ارسال یک فرمان، یک داده و ارسال بلوکی داده نیاز خواهیم داشت. این توابع هم در فایلهای درایور السیدی وجود داره. بنابراین باید اول بتونیم از کارکرد صحیح این توابع مطمئن بشیم. راهش هم اینه که السیدی رو یکبار با فایلهای درایورش راه اندازی کنیم. اگه اشتباه گفتم بفرمایید!
درباره rtx هم باید بگم که بله یکماه وقت من رو گرفت. شاید برای شما یکساعت باشه. من نمیدونم.
درباره آموزش غلط : من فقط مطالبی رو که خودم تست کردم رو اینجا نوشتم ضمن اینکه اگه به پستهای اولم هم نگاه کنید گفتم که من ادعای صحت 100 درصدی مطالبم رو ندارم و خوشحال میشم که دیگران اشتباهاتم رو تصحیح کنند.
موفق باشید
نمی دونم. فقط دانلودش کردم.
راستی LCD_X_Init چی؟ اسم LCD_Init درایور را با LCD_X_Init تغییر دادم.
وقتی دارم باکیل پروگرام می کنم ی لحظه کیل هنگ می کنه، مشکلی داره؟
ببین اون اسم تابع مهم نیست باید دید توی تابع lcdconf با چه اسمی این تابع رو فراخانی کردی ایت تابع
اسم تایع من LCD_Initializtion(); بودهکد:static void _InitLcdController(void) { LCD_Initializtion(); while(0){_WriteReg(4,4);} //make compiler happy }
من و چند تا از دوستان همین مشکل رو داشتیم چون از درایور السی دی خودمان استفاده میکردیم.حالا نمیدونم چه فرقی داره یا بعضی از تابع ها کار نمیکنند یا چیزه دیگه ای باید تعرف میشده.برای همین از شما میخوام glcd رو برای ال سی دی خودت ادیت کنی
ویرایش توسط arvin2009 : 13-02-2014 در ساعت 12:34
برداشتم بازم اتفاقی نیفتاد.فایل LCDConf.C فرستادم.
پس این هم درست. دیگه گیج شدم. می شه کل پروژه بفرستم براتون؟ ی نگاه میندازین؟
ویرایش توسط mzarkoob : 02-04-2014 در ساعت 02:52 دلیل: ادغام
سلام رفیق
اینو من تو فایل conf خودم نوشتم.اینجور جملات فقط برای حذف warning ها نوشته میشه.warning ی بوده که اشتباها با مضمون اینکه تابع _WriteReg تعریف شده ولی هیچجا استفاده نشده کیل میداده، منم واسه اینکه کامپایلرو خوشحال کنم که دیگه warning نده این تابعو تو یه شرط محال استفاده کردم.
این فایلها رو جایگدین فایهای خودت کن اگر ارور داد و نتونستی ارورش رو برطرف کنی بگو.من بدون هیچی ادیت کردم شاید یجاش از دستم در رفته باشه.ببین جواب میده
نه داداش من با 7 اینچ کار نکردم.
درایورت که همون 1963 هست دیگه فرقی نداره نهایتا تعداد پیکسلا فرق داره فقط. یک درایور برای 1963 گیر بیار که بدون emwin کار بکنه بعد طبق آموزش ها emwin رو باهاش راه اندازی کن، هرجاش هم مشکلی داشتی همه هستن کمک میکنن. خواهش دارم ازتون دنبال پروژه خالی emiwn با مشخصاتی که میخواید نباشید، اولا احتمالش کمه کسی دقیقا با همون میکرو و همون lcd و همون سخت افزار شما کار کرده باشه، بعد هم اگه کسی بیاد براتون آماده کنه هم باعث میشه تسلط پیدا نکنین به emwin و10 جای دیگه گیر کنید. پس با صبر و حوصله از اول تاپیک بخونید و قدم به قدم راه اندازی کنید.
پس قدم اول اینه:
راه اندازی lcd بدون emwin. (این کارو انجام دادی؟)
بسیار خوب
توابعی که برای راه اندازی emwin نیاز هستو میتونی از تو درایور lcd ایت شناسایی کنی؟
میدونی هر کدوم باید داخل چه تابعی تو lcdconf.c وارد کرد؟
چیه lcd_x_config رو مشکل داری؟
درایور lcd که جواب گرفتی ازش رو آپ کن+فایل lcdconf.c که براش تنظیم کردی ببینم درسته همه چی.