من به راحتی کامپایلش می کنم
احتمالا جای دیگه مشکل دارین
احتمالا شما legacy pack کیل رو سیستمتون نصب هست که قابلیت باز کردن پروژه های با فرمت قدیمی کیل رو بهتون میده
بنده این برنامه رو نصب ندارم و میخوام پروژه ام رو با آخرین ورژن برنامه و با کتابخانه های بروز کامپایل کنم که همونطور که گفتم نمیشه.
جالب اینجاست وقتی یه پروژه رو از پایه میسازم ، همه چی کامپایل میشه ولی لینکر نمیتونه لینکشون کنه و فضا کم میاره در حالی که مشابه همون پروژه برای میکروهای کم ظرفیت تر به درستی لینک میشن.
مثال خود nxp ورژن5.22 که برا برد embedded artist داده هم وقتی پروگرم میکنم ، هیچی نمایش نمیده !
Hardware & Software designer
Telegram:@y_r_z
سلام به همگی
من طبق فیلم اموزشی میخوام مثال های emwin روی برد فروشگاه بریزم دقیقا تغییراتی که تویه فیلم هست رو انجام میدم پروژم کامپایل میشه اما برنامه بالا نمیاد.
با جیلینگ وقتی دیباگ میکنم به خط os_sys_init_prio(_rt,1); که میرسه میخواد مختصات تاچ رو بگیره یک دفعه صفحه سیاه میشه.
سمپل ALPHA_Bargraph.c میخوام استفاده کنم.
مشکلم کجاست؟
سلام
برای کدوم برد ؟1788؟
این خطا احتمالا به خاطر میزان فضای Stack هست.
Hardware & Software designer
Telegram:@y_r_z
سلام
موقع کامپایل شدن این خطا چک نمیشه
میزان حافظه برای تسک ها رو اضافه کنید.
Hardware & Software designer
Telegram:@y_r_z
سلام
در مثال هایی که برای برد لندتایگر به همراه اموزش برای 1768 بود ، مثال کامپایل نمیشه و از هدر RTL ایراد میگیره. از این قسمت ها :
http://s3.picofile.com/file/8227151934/667.jpg
http://s3.picofile.com/file/8227152100/55.jpg
بنظر هم درست میاد ، چون typa ها در فایل stdint یکبار typedef شدن و در RTL هم یکبار دیگه.
اگه ممکنه راهنمایی کنین . ممنون
یاعلی مدد
این پوشه رو در مسیر نصب برنامه کیل به جای پوشه inc کپی کنید
مثلا:C:\Keil\ARM\RV31\INC
Hardware & Software designer
Telegram:@y_r_z
خب رسیدین بالاخره به همون نکاتی که سر جگر من مونده و می گم تو آموزش نیست.
پایه ها ی درایوری که تو اون مثال هست ، با پایه های برد توی فروشگاه فرق می کنه و من با سوالات و کد هایی که خوندم اولا فهمیدم که درایور مربوط به برد های فروشگاه رو از وبسایت یا شخص AVRMAN گرفتن و دوما این که توی آموزش هیچ جایی گفته نشده که چطوری می شه "درایور" ال سی دی رو تغییر داد که مثلا اگه من خودم خواستم یه ال سی دی دیگه(custom lcd) بذارم چی کار باید بکنم.(احتمالا آقای رئیسی رو این مسائل هم کار نکردن) به خاطر همین بود که می گفتم به ما هم بگین سرس کدا رو از کجا گرفتین تا ما هم بریم از همون جا بگیریم.
نکته دوم این که NXP چیزی که به رایگان در اختیار داده ماکسیمم تا نسخه 5.22 اموین هسش. بهتره شما هم legacy ها رو نصب کنین اگر هم پول دارین برین از segger نسخه کاملشو بخرین
به ما هم بدین.
سلام کسانی که مثال speed test رابط کاربری emwin رو تست کردن لطفا با ذکر شماره میکرو و اسم ال سی دی ، سرعت نمایش پیکسل ها روی نمایشگر رو اینجا بنویسن .
سلام
دوستان راهنمایی کنن این تاچ رو چجوری راه بندازم. کلافم کرده.
پروژه ساخته شده و رو lcd نشون داده میشه. اما نمیدونم تاچ رو چجوری مچ کنم!!!
وقتی هم اضافه میشه ، همش میگه متغیرهایی که استفاده شده تعریف نشده. اونارو تعریف میکنم بازم درست نمیشه. خستم کرده.
ممنون میشم بگین به ترتیب چه کار کنم. برای چک کردن تاچ هم میخام از تایمر استفاده کنم.
کنترلرم 1768 هست.
ممنون
یاعلی مدد
راجع به کمپایل نشدن برنامه با حجم بالا قطعا مشکل لایسنس دارین.وقتی برنامه کیل لایسنس نداشته باشه تا جحم محدودی از برنامه رو میتونید کامپایل کنید.
پول هم نداریم بریم نسخه کامل بخریم بدیم شما.
راجع به درایور انواع LCD هم باید به خودتون زحمت بدین منوال emWin رو مطالعه کنید و بر اساس نوع LCD درایور مناسب رو انتخاب کنید.(البته میتونید از سایتشخص AVRMAN هم بگیریداگه داشت)
البته فقط محض اطلاع شما یه مثال میزنم شاید بدرد دوستانی بخوره که یه زره به خودشون زحمت میدن برای انجام کاری:
نوع LCD: اینچ 3.2 Ilitek ILI9320
درایور emwin: با توجه به منوال : GUIDRV_FLEXCOLOR_F66708
با توجه به نوع اتصال ال سی دی به میکرو باید پورت مورد نظر پیکر بندی گردد و روتین های مربوط به خواندن و نوشتن LCD نوشته شود:(void LCD_Configuration(voidسپس چهار روتین اتصال کنترلر LCD به Emwin نیاز داریم که در هدر فایل LCDCONF.C روتین (void LCD_X_Config(void باید معرفی کنیم
/* Configure the LCD Control pins and Initial the LCD/*
(void LCD_Send (uint16_t byte
(void LCD_WriteCommand(uint16_t command
(void LCD_WriteData(uint16_t data
(uint16_t LCD_ReadData(void
PortAPI.pfWrite16_A0 = LCD_X_Write00_16;
PortAPI.pfWrite16_A1 = LCD_X_Write01_16;
PortAPI.pfWriteM16_A1 = LCD_X_WriteM01_16;
PortAPI.pfReadM16_A1 = LCD_X_ReadM01_16;
صفحه ی 1004 منوال emwin22
مثلا:LCD_X_Write00_16
(void LCD_X_Write00_16(U16 c
}
LCD_CS(0);
LCD_RS(0);
LCD_RD(1);
LCD_Send( c );
wait_delay(25);
LCD_WR(0);
wait_delay(1);
LCD_WR(1);
LCD_CS(1);
{
بعد از انجام این مراحل در هدر فایل LCDCONF.C روتین(void LCD_X_Config(void ارتباط emwin و LCD را کامل می کنیم:
کد:void LCD_X_Config(void) { GUI_DEVICE * pDevice; GUI_PORT_API PortAPI = {0}; CONFIG_FLEXCOLOR Config = {0}; // // Set display driver and color conversion for 1st layer // pDevice = GUI_DEVICE_CreateAndLink(DISPLAY_DRIVER, COLOR_CONVERSION, 0, 0); // // Common display driver configuration // if (LCD_GetSwapXY()) { LCD_SetSizeEx (0, YSIZE_PHYS, XSIZE_PHYS); LCD_SetVSizeEx(0, YSIZE_PHYS * NUM_VSCREENS, XSIZE_PHYS); } else { LCD_SetSizeEx (0, XSIZE_PHYS, YSIZE_PHYS); LCD_SetVSizeEx(0, XSIZE_PHYS, YSIZE_PHYS * NUM_VSCREENS); } // PortAPI.pfWrite16_A0 = LCD_X_Write00_16; PortAPI.pfWrite16_A1 = LCD_X_Write01_16; PortAPI.pfWriteM16_A1 = LCD_X_WriteM01_16; PortAPI.pfReadM16_A1 = LCD_X_ReadM01_16; GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66708, GUIDRV_FLEXCOLOR_M16C0B16); // // Orientation and offset of SEG/COM lines // Config.Orientation = DISPLAY_ORIENTATION; Config.RegEntryMode = 0; GUIDRV_FlexColor_Config(pDevice, &Config); }
اگه همه روتین ها رو درست نوشته باشین و ارتباط با LCD بر قرار باشه کافیه تو روتین Main یه بار دستور GUI_Init رو اجرا کنید و سپس GUI مورد نظر رو طراحی و پیاده سازی کنید.
والسلام به همین راحتی
حالا دوستانی که نمیتونن به خودشون زحمت بدین و هلو تو گلو میخوان میتونن نوع LCD و سایر اطلاعات به اضافه هزینه مربوطه رو پرداخت کنن، بنده براشون این کار رو انجام بدم یا شخص AVRMAN براشون انجام بده.
البته نمونه مثال های برد 1788 و 1768 که خودمون بردش رو طراحی کردیم هم هست که میتونید از سایت فروشگاه خریداری کنید.
Hardware & Software designer
Telegram:@y_r_z
خب حالا این شد یه تیکه آموزش
من دنبال هلو تو گلو نیسم
دنبال "راه تور انداختنم" که متاسفانه تو آموزش های شما ما رو قشنگ وسط بیابون می بره.
مورد بعدی ال سی دی که شما بالا استفاده کردین ارتباطش spi هسش(به خاطر وجود پایه چیپ سلکت)
اما ال سی دی هایی که تو فروشگاهه همه رو باید پارالل بهش برنامه داد.(غیر از اونایی که مال بردای سفارشی مثل رسپبری یا .... هست)
معضل دیگه اینه که می گن آقا این ال سی دی هست اما نه نشونی از درایورش می دن نه سرس کدی می دن نه...... و همین آدمو کفری می کنه.
حالا به خاطر این یه تیکه آموزشتون ممنون
1- همه اینا تو آموزش هست اگه یه کم دقت کنین.
2- LCD مورد نظر SPI نیست. کاملا 16 بیتی هست لطفا یه کم دقت کنین.پایه cs چه ربطی به نوع lCD داره؟
3- این که چه نوع LCD به شما میدن ربطی به آموزش فکر نکنم داشته باشه. البته همه LCD های فروشگاه کویر فکر کنم مشخصه چی هستن.
4- شما میتونید از جایی LCD بگیرین که حداقل یه دیتا شیت داشته باشه .
Hardware & Software designer
Telegram:@y_r_z
سلام
برای راه اندازی از RTX استفاده کردم.
مشکلی که هست اینه ، زمانی که صفحه تاچ رو لمس می کنیم و نگه میداریم همچنان وضعیت پایه IRQ در XPT2046 ، در وضیعت low باقی میمونه !
خب این مسئله خودش باعث مشکل در استفاده بعضی از قسمت های emWin میشه.
بعنوان مثال زمانی که از Slider یا Scrollbar استفاده کنیم و بخایم هنگامی که صفحه تاچ رو همچنان نگه داشتیم ، حرکت بدیم ، این Widget ها هیچ عکس العملی نشون نمیدن.
برای رفع این مشکل باید چه کار کنیم؟
باتشکر
یاعلی مدد
از روتین مربوط به فشرده شده تاچ استفاده کنید. مثلاکد:switch(Id) {کد:case ID_LISTVIEW_0: switch(NCode) {case WM_NOTIFICATION_CLICKED:
ویرایش توسط yraeisi : 21-12-2015 در ساعت 15:45
Hardware & Software designer
Telegram:@y_r_z