PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش emWin



صفحه ها : 1 2 [3] 4 5

mansoory
07-02-2014, 10:09
من خودم هرچی پروژه میسازم برنامه روی gui init گیر میکنه ولی وقتی برنامه رو با خود کیل شبح سازی میکنم مشکلی نداره.نمیدونم چرا.به برنامه شما هم اپلیکیشن رو عوض میکنم گیر میکنه.emwin رو هم ورژنش رو عوض میکنم بازم مشکل دار میشه.پوشه gui رو هم طبق همون ورژن میگیرم
من که فکر میکنم درایور ال سی دی شما دوستان 1289 نیست

روی آخر تابع init السیدیت یه breakpoint بنداز. دیباگ کن ببین اجرا میشه؟

sjafarim
07-02-2014, 14:15
یعنی به breakpoint نمیرسی تو دیباگ؟
کلا تابع init مربوط بهLCD رو از تو فایل lcdconf حذف کن، اول تابع main قبل از اینکه maintask مربوط به برنامه emwin رو اجرا کنی خودت init lcd رو اجرا کن ببین چی میشه.(breakpoint
فراموش نشه)

ghorban_piriz
07-02-2014, 21:31
دوست عزیز من با این 5.22 راه انداختم بدون هیچ مشکلی کار می کنه البته برا منم همین ارور رو واسه 66702 می داد ولی فوت کوزه گری می خواست:mrgreen: pm بده کمکت کنم تا اون ارور رو رفع کنی و خودت راش بندازی مهندس

D.S
07-02-2014, 21:40
نه اون ارور رو بعضی وقتا که فیکس کالر برای ورژنهای پاین تر بود میداد.ارور نمیده ال سی دی برفک میشه.اون قدیمیه رو میشه بفرستید.من مطمئن هستم درایور شما چیز دیگه هست
شما به جای 66702 بنویس 66708 هم کار میکنه.امتحان کن خبر بده

sjafarim
08-02-2014, 00:10
توی اون پروژه که فرستادم این خطو از فایل lcdconf.c :

Config.RegEntryMode=0x6070;
به :

Config.RegEntryMode=0x6870;
تغییر بده تست کن.

D.S
08-02-2014, 01:27
نه اقای جعفری فرقی نکرد.حرفای بچه هایی هم که میگم راه انداختن هم نمیشه قبول کرد.چون همین اقای قربان پریز تا دیروز میگفت با GUIDRV_CompactColor_16 راه انداخته .با وجود اینکه شما میگید برای نسخه های پولی هست و من هم تحقیق کردم دیدم حرف شما درست است و نمیشود روی این نسخه ها راه انداخت.امروزم که میگه با پروژه شما راه افتاده .خوب معلوم ای ال سی دی ساپرت نمیشود.من ا ال سیدی دیگه تست کردم جواب داد ولی این السیدی فقط برفک هست.کسی برد اموزشی سایت همسایه را ندارد تست کند.روی این برد ssd1289 هست .کسی ندارد تست کند

abdi_sab
08-02-2014, 02:09
یعنی به breakpoint نمیرسی تو دیباگ؟کلا تابع init مربوط بهLCD رو از تو فایل lcdconf حذف کن، اول تابع main قبل از اینکه maintask مربوط به برنامه emwin رو اجرا کنی خودت init lcd رو اجرا کن ببین چی میشه.(breakpoint
فراموش نشه)سلام آقای جعفریمن تونستم مشکل برنامه hello world! رو حل کنم مشکلی که من داشتم این بود که در فایل GUIConf.c میزان ram پردازنده روی 16K نبود و همینطور GUI_BLOCKSIZE رو هم مشخص نکرده بودم. از اینرو اگه یک string طولانی تر می نوشتم، متن کامل نشون داده نمی شد. اما الان مشکل دیگه ای دارم و اون اینه که بغیر از hello word هیچ تصویر رنگی گرافیکی قابل نمایش نیست فکر می کنم رنگها برای LCD تعریف نشده است بنابراین فقط علائم سیاه وسفید قابل نمایش است مثلا نمی تونم رنگ زمینه رو تغییر بدم اما می تونم Cursor رو که به رنگ سفید است نمایش بدم .لطفا بفرمایید مشکل کجاست؟
سلام آقای جعفریمن تونستم مشکل برنامه hello world! رو حل کنم مشکلی که من داشتم این بود که در فایل GUIConf.c میزان ram پردازنده روی 16K نبود و همینطور GUI_BLOCKSIZE رو هم مشخص نکرده بودم. از اینرو اگه یک string طولانی تر می نوشتم، متن کامل نشون داده نمی شد. اما الان مشکل دیگه ای دارم و اون اینه که بغیر از hello word هیچ تصویر رنگی گرافیکی قابل نمایش نیست فکر می کنم رنگها برای LCD تعریف نشده است بنابراین فقط علائم سیاه وسفید قابل نمایش است مثلا نمی تونم رنگ زمینه رو تغییر بدم اما می تونم Cursor رو که به رنگ سفید است نمایش بدم .لطفا بفرمایید مشکل کجاست؟رنگ ها رو جداگونه تست کردم نشون می ده پس چرا application های دیگه رو نشون نمی ده.

spider
08-02-2014, 04:26
سلام من یه 20 روزی میشه که از فروشگاه برد 1768 wb و ال سی دی 4.3 و درایور او رو که ssd1963 باشه خریدم . همون روز اول ucgui رو که تو مثالهای برد بود بدون مشکل اجرا کردم ولی اصلا سرعتش تعریفی نداشت الان مدتهاست که همه ی پستهارو خوندم و هر کاری کردم نتونستم emwin رو روی برد راه اندازی کنم هر کاری که گفتید امتحان کردم آقا نشد که نشد مسلما مشکل از کم سوادی خودم هست . واقعا بی چارم کرده تورو خدا آقای منصوری به دادم برسید و کمک کنید به خدا کم مونده برد و السیدی رو بگذارم زیر چرخ ماشین پنج شیش بار از روش ردشم راحت بشم. میدونم زحمته ولی خواهش میکنمیه نگاه به اینها بندازید شاید من هم تونستم emwin رو راه بندازم
You can see links before reply
You can see links before reply
You can see links before reply

mansoory
08-02-2014, 09:51
سلام من یه 20 روزی میشه که از فروشگاه برد 1768 wb و ال سی دی 4.3 و درایور او رو که ssd1963 باشه خریدم . همون روز اول ucgui رو که تو مثالهای برد بود بدون مشکل اجرا کردم ولی اصلا سرعتش تعریفی نداشت الان مدتهاست که همه ی پستهارو خوندم و هر کاری کردم نتونستم emwin رو روی برد راه اندازی کنم هر کاری که گفتید امتحان کردم آقا نشد که نشد مسلما مشکل از کم سوادی خودم هست . واقعا بی چارم کرده تورو خدا آقای منصوری به دادم برسید و کمک کنید به خدا کم مونده برد و السیدی رو بگذارم زیر چرخ ماشین پنج شیش بار از روش ردشم راحت بشم. میدونم زحمته ولی خواهش میکنمیه نگاه به اینها بندازید شاید من هم تونستم emwin رو راه بندازم
You can see links before reply
You can see links before reply
You can see links before reply
سلام. برای 1963 مشکلی نیست.
توضیح بده تا حالا چکار کردی و چطوری emwin رو کانفیگ کردی؟

sjafarim
08-02-2014, 18:16
نه اقای جعفری فرقی نکرد.حرفای بچه هایی هم که میگم راه انداختن هم نمیشه قبول کرد.چون همین اقای قربان پریز تا دیروز میگفت با GUIDRV_CompactColor_16 راه انداخته .با وجود اینکه شما میگید برای نسخه های پولی هست و من هم تحقیق کردم دیدم حرف شما درست است و نمیشود روی این نسخه ها راه انداخت.امروزم که میگه با پروژه شما راه افتاده .خوب معلوم ای ال سی دی ساپرت نمیشود.من ا ال سیدی دیگه تست کردم جواب داد ولی این السیدی فقط برفک هست.کسی برد اموزشی سایت همسایه را ندارد تست کند.روی این برد ssd1289 هست .کسی ندارد تست کند
داداش من تقریبا تمام lcd های زیر 4 اینچ تو بازار رو دارم، میگم با این1289 کار کردم و راه هم افتاده و دستگاه الانم داره کار میکنه. واقعا نمیدونم دیگه مشکل شما از کجاست، فقط میتونم بگم نا امید نشو و بیشتر تلاش کن، شدنیه، نشدنی بود واسه منم نمیشد(عکسشم از قبل دارم پیوست کردم که فکر نکنی مطمئنا نمیشه و تمام)(از کد پایین lcd میتونی بفهمی که 3.2 اینچ 1289 ه سایت همسایه هم هست اتفاقا tpm129-35)...


رنگ ها رو جداگونه تست کردم نشون می ده پس چرا application های دیگه رو نشون نمی ده.
شما فقط app های آماده روتست کردی؟ یه اپلیکیشن با GUIBuilder بساز فقط توش یه framewin بذار و ران کن ببین جواب میده؟

abdi_sab
08-02-2014, 19:08
داداش من تقریبا تمام lcd های زیر 4 اینچ تو بازار رو دارم، میگم با این1289 کار کردم و راه هم افتاده و دستگاه الانم داره کار میکنه. واقعا نمیدونم دیگه مشکل شما از کجاست، فقط میتونم بگم نا امید نشو و بیشتر تلاش کن، شدنیه، نشدنی بود واسه منم نمیشد(عکسشم از قبل دارم پیوست کردم که فکر نکنی مطمئنا نمیشه و تمام)(از کد پایین lcd میتونی بفهمی که 3.2 اینچ 1289 ه سایت همسایه هم هست اتفاقا tpm129-35)...

شما فقط app های آماده روتست کردی؟ یه اپلیکیشن با GUIBuilder بساز فقط توش یه framewin بذار و ران کن ببین جواب میده؟

این کار رو انجام دادم ولی فقط صفحه مشکی نشون می ده ولی hello world رو نمایش می ده ، cursor هم همینطور حتی می شه یک دایره رنگی بکشی ولی نمی دونم چرا frame win رو نمایش نمی ده. ممکنه از RAM باشه؟

arvin2009
08-02-2014, 19:50
اقای ds عزیز عجب پشتکاری داری.منم مثل شما برد اموزشی همسایه رو دارم و فایل اقای جعفری رو تست کردم ولی برفک بود.حالا دوتا فایل براتن میفرستم جایگذین فایلهای ssd1289 کن کارت حل میشه.موفق باشی
lcd conf رو دوباره تنظیم کردم جای فایل هم نام در پروژه اقای جعفری قرار بدید و باقی رو بریزید توی پوشه دایور و اونا رو پاک کنید و سه فایل دید رو به پروژه اد کنید

mostafazaker
08-02-2014, 19:54
اقای ds عزیز عجب پشتکاری داری.منم مثل شما برد اموزشی همسایه رو دارم و فایل اقی جعفری رو تست کردم ار نکرد و برفک بود.حالا دوتا فایل براتمیفرستم جایگذین فایلهای ssd1289 کن کارت حل میشه.موفق باشی
سلام
منم همین بورد رو دارم.و اون برنامه ای که گفتید رو تست کردم جواب نداد.
خب فایل ها رو بزارید تا بقیه هم استفاده کنن.
ممنون از شما

D.S
08-02-2014, 20:26
اقا اروین دمت گرم.تا حالا کجا بودی.اقا راه افتاد:018::o

دوستان برنامه اقای جعفری هیچ اپلیکیشن دیگه رو جواب نمیده جز hello world باید خودتون دوباره یک پروژه بسازید.فکر میکنم بخاطر اد نشدن hw باشه.من با پروژه هایی که قبلا ساختم یچند تایی بوت کردم فقط مونده تاچ که نمیدونم چکارش کنم.برای برد من از adc خود میکرو استفاده شده

اقای منصوری حالا کمک کنید تاچ رو خودم راه بندازم.برای السیدی که کلی وارد شدم.مشکل هم دست من نبود درایور ال سی دی که اقای جعفری درست کرده بودچند تا تابع کم داشت.
اقا همونجور که گفتم تاچ من adc میکرو هست و بنا به گفته های جناب عالی من باید از وقفه adc استفاده کنم در روال وقفه Pressed صفرش کنم.البته اینجور کهمن فهمیدم.یا جور دیگه هم میشه؟؟
حالا اگه بخوام وقفه adc تعریف کنم توی کجا باید این کار رو کنم.یا اینکه فرمودید با وقفه تایمر TouchTask رو فراخوانی کنم اینارو توی main باید تعریف کنم دیگه نه؟قبل و بعد از چیزی نداره

sjafarim
08-02-2014, 21:47
درایور ال سی دی که اقای جعفری درست کرده بودچند تا تابع کم داشت.
من درایوری که شما فرستادیو استفاده کردم تو اون پروژه که برات آپ کردم، فقط هدر و سورسش کردم!

abdi_sab
08-02-2014, 23:08
دوستان برنامه اقای جعفری هیچ اپلیکیشن دیگه رو جواب نمیده جز hello world باید خودتون دوباره یک پروژه بسازید.فکر میکنم بخاطر اد نشدن hw باشه.من با پروژه هایی که قبلا ساختم یچند تایی بوت کردم فقط مونده تاچ که نمیدونم چکارش کنم.برای برد من از adc خود میکرو استفاده شده

منم فقط hello world رو می بینم همه لایبری های 5.22 ر و اضافه کردم . ولی فایده نداره شما چی کار کردی؟

D.S
08-02-2014, 23:36
بله اقای جعفری مشکل از هون درایور بود چندا تابع که emwin لازم داشت درش نبود.دستتدرد نکنه.بازم خیلی کمک کردی.اطف شما فراموش نمیشه.یک مشک دیگه هم داشت اپلیکشین دیگه ای روش بوت نمیشود که خودم رست کردم.حالا مونده تاچ.کمکم کنید.من GUI_X_Touch_StoreState.c رو به پروژه اد کردم ولی به u16 و u8 گیر داده و میگه نمیشناسه.این u ها تو کجا تعریف شده که incude کنم

abdi_sab
09-02-2014, 00:02
من درایوری که شما فرستادیو استفاده کردم تو اون پروژه که برات آپ کردم، فقط هدر و سورسش کردم!

منم فقط hello world رو می بینم همه لایبری های 5.22 ر و اضافه کردم . ولی فایده نداره شما چی کار کردی؟

arvin2009
09-02-2014, 01:10
شما این برنامه رو استفاده کنید.اماده هست
You can see links before reply

abdi_sab
09-02-2014, 01:39
شما این برنامه رو استفاده کنید.اماده هست
You can see links before reply

ممنون از فایلی که ارائه کردید . از این فایل فقط GUI_ReadTest.c قابل رویت بود . بقیه فایلها فقط یک صفحه مشکی نشون داده می شه!!!

arvin2009
09-02-2014, 02:22
اقا شما باید تو قسمت اپلیکیشن هر دفعه یک فایل رو بوت کنی و روی ال سی دی ببینی.این فایلی که من گذاشتم باید یک صفحه gps می امد.شما در فایل gui conf باید مقدار حافظه رو GUI_NUMBYTES ( 1024) * 16 بزارید و در gui conf.h همه رو یک کن

D.S
09-02-2014, 02:47
اقا یکی کمک میکنه این تاچ راه بیفته.اقا هدر تاچ برد من این شکلیه

int ADC(char ch){
int v;
LPC_SC->PCONP |= (1<<12);
switch(ch){
case 0 : LPC_PINCON->PINSEL1 |= 1<<14 ;
LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
while (!(LPC_ADC->ADDR0 & (1UL<<31)));
v = (LPC_ADC->ADDR0>>4 & 0xfff);
break;

case 1 : LPC_PINCON->PINSEL1 |= 1<<16 ;
LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
while (!(LPC_ADC->ADDR1 & (1UL<<31)));
v = (LPC_ADC->ADDR1>>4 & 0xfff);
break;
case 2 : LPC_PINCON->PINSEL1 |= 1<<18 ;
LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
while (!(LPC_ADC->ADDR2 & (1UL<<31)));
v = (LPC_ADC->ADDR2>>4 & 0xfff);
break;

case 3 : LPC_PINCON->PINSEL1 |= 1<<20 ;
LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
while (!(LPC_ADC->ADDR3 & (1UL<<31)));
v = (LPC_ADC->ADDR3>>4 & 0xfff);
break;
}
return v ;
}
void touch(int *x , int *y){
int a,b;
LPC_GPIO0->FIODIR |= (1<<23)|(1<<25) ;
LPC_PINCON->PINMODE1 |= (1UL<<17)|(1UL<<21);
LPC_GPIO0->FIOSET |= (1<<25) ;
LPC_GPIO0->FIOCLR |= (1<<23) ;
Del();
b= ADC(1);
//*y=b;
*y=(320*(3330-b))/2490;
LPC_PINCON->PINSEL1 &= ~(1<<16) ;
LPC_PINCON->PINMODE1 &= ~((1UL<<17)|(1UL<<21));
LPC_GPIO0->FIODIR &= ~((1<<23)|(1<<25)) ;
LPC_GPIO0->FIOSET &= ~(1<<23) ;
LPC_GPIO0->FIOCLR &= ~((1<<25)|(1<<26)) ;
LPC_GPIO0->FIODIR |= (1<<24)|(1<<26) ;
LPC_PINCON->PINMODE1 |= (1UL<<15)|(1UL<<19);
LPC_GPIO0->FIOSET |= (1<<24) ;
LPC_GPIO0->FIOCLR |= (1<<26) ;
Del();
a= ADC(2);
//*x=a;
*x= (240*(3360-a))/2720;
LPC_PINCON->PINSEL1 &= ~(1<<18) ;
LPC_PINCON->PINMODE1 &= ~((1UL<<15)|(1UL<<19));
LPC_GPIO0->FIODIR &= ~((1<<24)|(1<<26)) ;
LPC_GPIO0->FIOSET &= ~(1<<26) ;
LPC_GPIO0->FIOCLR &= ~((1<<24)|(1<<23)) ;
}

حالا میخوام بزارمش توی اون تابع .من اولش رو اینجور نوشتم ولی باقیش نمیدوم

void TouchTask(void) {
static U16 xOld;
static U16 yOld;
static U8 PressedOld;
U16 x, y, xDiff, yDiff;
U8 Pressed;
do {
if (y > 280&& y <320) Pressed =0;
else Pressed =1;
// TBD: Insert function which returns:
// 1, if the touch screen is pressed
// 0, if the touch screen is released
//
// Touch screen is pressed
//
if (Pressed==0) {
touch(&x,&y);
}
//
// The touch has already been pressed
//
if (PressedOld == 1) {
//
// Calculate difference between new and old position
//
xDiff = (x > xOld) ? (x - xOld) : (xOld - x);
yDiff = (y > yOld) ? (y - yOld) : (yOld - y);
//
// Store state if new position differs significantly from old position
//
if (xDiff + yDiff > 2) {
xOld = x;
yOld = y;
GUI_TOUCH_StoreState(x, y);
}
}
//
// The touch was previously released
// Store state regardless position
//
} else {
if ((x != 0) && (y != 0)) {
xOld = x;
yOld = y;
PressedOld = 1;
GUI_TOUCH_StoreState(x, y);
}
}
//
// Touch screen is not pressed
// Store state if it was released recently
//
} else {
if (PressedOld == 1) {
PressedOld = 0;
GUI_TOUCH_StoreState(-1, -1);
}
}
//
// Make sure
//
GUI_X_Delay(20);
} while (1);

mansoory
09-02-2014, 09:35
اقا یکی کمک میکنه این تاچ راه بیفته.اقا هدر تاچ برد من این شکلیه

int ADC(char ch){
int v;
LPC_SC->PCONP |= (1<<12);
switch(ch){
case 0 : LPC_PINCON->PINSEL1 |= 1<<14 ;
LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
while (!(LPC_ADC->ADDR0 & (1UL<<31)));
v = (LPC_ADC->ADDR0>>4 & 0xfff);
break;

case 1 : LPC_PINCON->PINSEL1 |= 1<<16 ;
LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
while (!(LPC_ADC->ADDR1 & (1UL<<31)));
v = (LPC_ADC->ADDR1>>4 & 0xfff);
break;
case 2 : LPC_PINCON->PINSEL1 |= 1<<18 ;
LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
while (!(LPC_ADC->ADDR2 & (1UL<<31)));
v = (LPC_ADC->ADDR2>>4 & 0xfff);
break;

case 3 : LPC_PINCON->PINSEL1 |= 1<<20 ;
LPC_ADC->ADCR = (1<< ch) | (1<< 8) | (1<<21) | (1<<24) ;
while (!(LPC_ADC->ADDR3 & (1UL<<31)));
v = (LPC_ADC->ADDR3>>4 & 0xfff);
break;
}
return v ;
}
void touch(int *x , int *y){
int a,b;
LPC_GPIO0->FIODIR |= (1<<23)|(1<<25) ;
LPC_PINCON->PINMODE1 |= (1UL<<17)|(1UL<<21);
LPC_GPIO0->FIOSET |= (1<<25) ;
LPC_GPIO0->FIOCLR |= (1<<23) ;
Del();
b= ADC(1);
//*y=b;
*y=(320*(3330-b))/2490;
LPC_PINCON->PINSEL1 &= ~(1<<16) ;
LPC_PINCON->PINMODE1 &= ~((1UL<<17)|(1UL<<21));
LPC_GPIO0->FIODIR &= ~((1<<23)|(1<<25)) ;
LPC_GPIO0->FIOSET &= ~(1<<23) ;
LPC_GPIO0->FIOCLR &= ~((1<<25)|(1<<26)) ;
LPC_GPIO0->FIODIR |= (1<<24)|(1<<26) ;
LPC_PINCON->PINMODE1 |= (1UL<<15)|(1UL<<19);
LPC_GPIO0->FIOSET |= (1<<24) ;
LPC_GPIO0->FIOCLR |= (1<<26) ;
Del();
a= ADC(2);
//*x=a;
*x= (240*(3360-a))/2720;
LPC_PINCON->PINSEL1 &= ~(1<<18) ;
LPC_PINCON->PINMODE1 &= ~((1UL<<15)|(1UL<<19));
LPC_GPIO0->FIODIR &= ~((1<<24)|(1<<26)) ;
LPC_GPIO0->FIOSET &= ~(1<<26) ;
LPC_GPIO0->FIOCLR &= ~((1<<24)|(1<<23)) ;
}

حالا میخوام بزارمش توی اون تابع .من اولش رو اینجور نوشتم ولی باقیش نمیدوم

void TouchTask(void) {
static U16 xOld;
static U16 yOld;
static U8 PressedOld;
U16 x, y, xDiff, yDiff;
U8 Pressed;
do {
if (y > 280&& y <320) Pressed =0;
else Pressed =1;
// TBD: Insert function which returns:
// 1, if the touch screen is pressed
// 0, if the touch screen is released
//
// Touch screen is pressed
//
if (Pressed==0) {
touch(&x,&y);
}
//
// The touch has already been pressed
//
if (PressedOld == 1) {
//
// Calculate difference between new and old position
//
xDiff = (x > xOld) ? (x - xOld) : (xOld - x);
yDiff = (y > yOld) ? (y - yOld) : (yOld - y);
//
// Store state if new position differs significantly from old position
//
if (xDiff + yDiff > 2) {
xOld = x;
yOld = y;
GUI_TOUCH_StoreState(x, y);
}
}
//
// The touch was previously released
// Store state regardless position
//
} else {
if ((x != 0) && (y != 0)) {
xOld = x;
yOld = y;
PressedOld = 1;
GUI_TOUCH_StoreState(x, y);
}
}
//
// Touch screen is not pressed
// Store state if it was released recently
//
} else {
if (PressedOld == 1) {
PressedOld = 0;
GUI_TOUCH_StoreState(-1, -1);
}
}
//
// Make sure
//
GUI_X_Delay(20);
} while (1);


مگه السیدیت را افتاد؟

D.S
09-02-2014, 12:37
با اجازه بزرگترها بله.مشکل رو هم نوشتم چی بود.البته باتشکر فراوان از اقای اروین و اقای جعفری.
حالا بریم سر تاچ.اینجوره من پیش میرم فکر کنم تا نصف emwin رو بخوام یاد بگیرم این تاپیک بشه 100 برگی

mostafazaker
09-02-2014, 13:31
سلام
من یه مشکل دارم میخوام در یک edit نوشته رو تغییر بدم ولی هیچ تغییری نمیکنه.
در حلقه while این دستورات رو گذاشتم.لطفا راهنمایی کنید

GUI_Delay(100); hItem = WM_GetDialogItem(hWin,ID_EDIT_0);
EDIT_SetText(hItem, "ALI");
WM_Invalidate(hWin);

mansoory
09-02-2014, 13:40
با اجازه بزرگترها بله.مشکل رو هم نوشتم چی بود.البته باتشکر فراوان از اقای اروین و اقای جعفری.
حالا بریم سر تاچ.اینجوره من پیش میرم فکر کنم تا نصف emwin رو بخوام یاد بگیرم این تاپیک بشه 100 برگی

اگه از سیستم عامل استفاده می کنی: تابع TouchTask رو بصورت یک task دربیار و با اولویت پایین اجرا کن.
اگه از سیستم عامل استفاده نمیکنی، اولا حلقه while(1) رو بردار و بعدش تابع TouchTask رو در وقفه یک تایمر قرار بده تا بطور مرتب خوانده و اجرا بشه.
در تابع TouchTask هم حواست باشه، اونجا که از دستور GUI_TOUCH_StoreState(x, y); استفاده شده، xو y مقادیر کالیبره شده تاچ باشند.

D.S
09-02-2014, 14:57
اقای منصوری زیر دپلم توضیح بده.این روال رو میدونم.فقط نمیدونم تایمر رو کجاتعریف کنم و زیر روال وقفه رو کجا بنویسم تا این تابع رو فراخوانی کنه.قبل از مین تایمر رو پیکر بندی کنم درسته؟وقفه رو قبل از MainTask بزارم.همینارو متوجه نمیشم.

mansoory
09-02-2014, 16:10
اقای منصوری زیر دپلم توضیح بده.این روال رو میدونم.فقط نمیدونم تایمر رو کجاتعریف کنم و زیر روال وقفه رو کجا بنویسم تا این تابع رو فراخوانی کنه.قبل از مین تایمر رو پیکر بندی کنم درسته؟وقفه رو قبل از MainTask بزارم.همینارو متوجه نمیشم.

توی انجمن سرچ کن تا نحوه راه اندازی تایمر رو ببینی. من از rtx استفاده کردم و تایمر رو استفاده نکردم. تابع وقفه که مهم نیست کجا قرار بگیره. بیزحمت اول تایمر رو جدا از emwin راه اندازی کن بعد به emwin وارد کن.
من پیشنهادم اینه که بری rtx رو یاد بگیری. بیشتر به دردت میخوره. توی انجمن هم آموزشش هست

D.S
09-02-2014, 16:49
اقای منصوری بخوام با rtx شروع کنم اول باید rtx رو راه اندازی کنم بعد emwin رو به پروزه اضافه کنم.؟من یک پروزه کوچیک با rtx درست کردم به همون emwin اضافه کنم درست میشه

mansoory
09-02-2014, 17:59
اقای منصوری بخوام با rtx شروع کنم اول باید rtx رو راه اندازی کنم بعد emwin رو به پروزه اضافه کنم.؟من یک پروزه کوچیک با rtx درست کردم به همون emwin اضافه کنم درست میشه
بله. بعدش باید فایل GUI_RTX.C رو به پروژه اضافه کنید.
پروژه multitask من رو کامل بررسی کنید متوجه میشید.

abdi_sab
09-02-2014, 19:30
مگه السیدیت را افتاد؟

سلام این فایل منه خواهش می کنم بفرمایید . چرا من فقط hello word رو می تونم ببینم . اپلیکیشن GUI_ReadTest.c هم قابل رویته ولی بقیه مثالا صفحه مشکی نشون می ده خواهش می کنم راهنمایی بفرمایید.

abdi_sab
09-02-2014, 19:36
جناب آروین ممنون از اینکه وقت گذاشتی ولی من هنوز موفق نشدم منم فایلمو گذاشتم لطفا اگه وقت داری یه نگاهی به فایل من بنداز من همچنان فقط hello world رو می بینم.

arvin2009
09-02-2014, 20:33
جناب آروین ممنون از اینکه وقت گذاشتی ولی من هنوز موفق نشدم منم فایلمو گذاشتم لطفا اگه وقت داری یه نگاهی به فایل من بنداز من همچنان فقط hello world رو می بینم.
دادا این چیه درست کردی.مگه یا 1788 کار میکنی؟میخواسته دلت رو نشکنه همون رو نشون داده.برا من که کار نکرد کلی از فایلات رو هم عوض کردم نشد.اگه با 1768 کار میکنی با اون پروژه که لینک دادم کار کن.فقط glcd رو عوض کن تا با ال سی دی خودت مچ بشه

abdi_sab
09-02-2014, 20:39
دادا این چیه درست کردی.مگه یا 1788 کار میکنی؟میخواسته دلت رو نشکنه همون رو نشون داده.برا من که کار نکرد کلی از فایلات رو هم عوض کردم نشد.اگه با 1768 کار میکنی با اون پروژه که لینک دادم کار کن.فقط glcd رو عوض کن تا با ال سی دی خودت مچ بشه

مشکلم حل شد . فایل flash.icf ایراد داشت با عوض کردن این فایل مشکلم حل شد.

arvin2009
09-02-2014, 21:07
اقای منصوری میشه یک پروژه کامل با rtx بزارید.منم پروژه شما رو خواستم درست کنم کلی فایل میخواد که بعضی هاش رو ندارم مثل uEZRTOS.h از اینترنت گرفتم باز خودش کلی فایل عجیب قریب میخواد.میشه کاملش رو که تمام کتابخانه های مورد نیاز توش باشه رو اپ کنید.منم هنوز وقت نکردم تاچ رو راه بندازم.ممنون میشم

D.S
09-02-2014, 22:07
اقا دمت گرم همین مشکل من رو داری.کلی فایل گرفتم و توی پوشه ریختم ولی هنوز تمام نشده.هرفایلی رو که اضافه میکنم خودت چند تا دیگه فایل میخواد.من که یک برنامه ساده با rtx دارم اصلا این هدر ها رو تمیخواد.اقای منصوری میشه پروژه کامل اپ کنید.لطفا

لااقل بگید این همه فایل مربوط به چیه و میشه از کجا پیداشون کرد؟

D.S
10-02-2014, 00:48
این هم برنامه ای که Multitasking رو در emwin نشون میده.
برنامه برای RTX KEIL نوشته شده. فایل MTMultitasking.c فایل اصلی برنامه است. و فایلهایی هم که در فولدر Config قرار گرفته باید در پوشه همنامش قرار بگیره. از پروژه اصلی تون یه کپی بگیرید و این فایلها رو توش قرار بدهید.
امیدوارم به دردتون بخوره
اقای منصوری جوری گفتید که ادم فکر میکنه اب خوردنه.با اضافه شدن این پوشه و اد کردنشون کلی اروز از نداشتن فایلایی رو میده که خیلی سخت میشه پیداشون کرد.مشه لااقل این فایلهای مورد احتیاج که انکلود شده رو برام بزاری.در مورد rtx هم خیلی سطحی توضیح دادید.جوری ننوشتید که یک تازه کار هم بتونه راش بندازه

شما توی اموزش گفتید دوتا فایل اد کنیم ولی کلی دیگه فایل اد باید کرد میشه یکم توضیح بدید

mostafazaker
10-02-2014, 11:46
سلام
با برنامه GUIBuilder فرم رو ساختم همه گزینه ها اضافه میشن.ولی عکس رو که با این برنامه اضافه میکنم هیچ عکسی نشون نمیده.
اگه میشه یه نفر تست کنه ببینه مشکل من رو داره یا نه.
ممنون

D.S
10-02-2014, 11:52
جواب میده.اول یک ویندوز خالی بزار بعد عکس بعد چپ کلیک و عکس مورد نطر

mostafazaker
10-02-2014, 12:49
جواب میده.اول یک ویندوز خالی بزار بعد عکس بعد چپ کلیک و عکس مورد نطر
دوباره زدم نشد.
میتونید یه نمونه پروژه بزارید تست کنم.
ممنون

D.S
10-02-2014, 12:56
دوباره زدم نشد.
میتونید یه نمونه پروژه بزارید تست کنم.
ممنون
حالا نمیشه عکس نداشته باشه و یک کلید و چند تا دیگه چیز باشه.من چون انجام دادم نشد.تابع ملتی تسک نداشت توش برای همین ارور میدادوانجام دادی

mostafazaker
10-02-2014, 13:08
ممنون .بعدا اون رو درست میکنم.
من با تایمر تاچ رو راه انداختم فقط یه مشکل دارم و اون هم اینکه فقط بار اول موس رو نشون میده و دیگه تغییر مکان نمیده احتمالا مشکل از اینه که صفحه دیگه رفرش نمیشه.
کسی میدونه چجوری درستش کنم.

mansoory
10-02-2014, 13:29
ممنون .بعدا اون رو درست میکنم.
من با تایمر تاچ رو راه انداختم فقط یه مشکل دارم و اون هم اینکه فقط بار اول موس رو نشون میده و دیگه تغییر مکان نمیده احتمالا مشکل از اینه که صفحه دیگه رفرش نمیشه.
کسی میدونه چجوری درستش کنم.
تغییر مکان نمیده معنی اش اینه که مقادیر کالیبره شده تاچ ریفرش نمیشه و همون مقادیر قبلی داره ارسال میشه (که احتمالا مشکل شما همین باشه) ممکنه اصلا وقفه تایمر اجرا نشده باشه

D.S
10-02-2014, 13:36
ممنون .بعدا اون رو درست میکنم.
من با تایمر تاچ رو راه انداختم فقط یه مشکل دارم و اون هم اینکه فقط بار اول موس رو نشون میده و دیگه تغییر مکان نمیده احتمالا مشکل از اینه که صفحه دیگه رفرش نمیشه.
کسی میدونه چجوری درستش کنم.
اقا میشه هدر تایمر و اون تنظیمات رو بزای منم راه بندازم.درگیر rtx شدم

mansoory
10-02-2014, 13:40
سلام من یه 20 روزی میشه که از فروشگاه برد 1768 wb و ال سی دی 4.3 و درایور او رو که ssd1963 باشه خریدم . همون روز اول ucgui رو که تو مثالهای برد بود بدون مشکل اجرا کردم ولی اصلا سرعتش تعریفی نداشت الان مدتهاست که همه ی پستهارو خوندم و هر کاری کردم نتونستم emwin رو روی برد راه اندازی کنم هر کاری که گفتید امتحان کردم آقا نشد که نشد مسلما مشکل از کم سوادی خودم هست . واقعا بی چارم کرده تورو خدا آقای منصوری به دادم برسید و کمک کنید به خدا کم مونده برد و السیدی رو بگذارم زیر چرخ ماشین پنج شیش بار از روش ردشم راحت بشم. میدونم زحمته ولی خواهش میکنمیه نگاه به اینها بندازید شاید من هم تونستم emwin رو راه بندازم
You can see links before reply
You can see links before reply
You can see links before reply
فایلهات رو دیدم. شما باید اول این السیدی رو خارج از emwin راه اندازی کنی.
این کار رو انجام بده بعدش من در خدمتت هستم

mostafazaker
10-02-2014, 13:58
اقا میشه هدر تایمر و اون تنظیمات رو بزای منم راه بندازم.درگیر rtx شدم
توی فایل HWConf.c نگاه کن خودش یه تایمر برای تاچ راه انداخته همونجا کد رو اضافه کن.
اسمش اینه void SysTick_Handler(void)
فقط مال من بار اول نشون میده و دیگه تغییر نمیکنه.تایمر هم اینتراپت دارم و از این بابت مشکلی نیست.فقط مثل اینکه روی lcd تغییری نمیده و رفرش انجام نمیده.
حلقه while رو هم که گفتن برداشتم بازم نشد.

D.S
10-02-2014, 15:04
توی فایل HWConf.c نگاه کن خودش یه تایمر برای تاچ راه انداخته همونجا کد رو اضافه کن.
اسمش اینه void SysTick_Handler(void)
فقط مال من بار اول نشون میده و دیگه تغییر نمیکنه.تایمر هم اینتراپت دارم و از این بابت مشکلی نیست.فقط مثل اینکه روی lcd تغییری نمیده و رفرش انجام نمیده.
حلقه while رو هم که گفتن برداشتم بازم نشد.
اقا میشه این تابع void TouchTask(void) {رو بزاری ببینم چطوری نوشتی.من تایمر درست کرد مشکلم اینجاست.شما هم از برد اموزشی همسایه استفاده میکنی؟پس بهتر با هم به نتیجه برسیم.اقای منصوری که در مورد پیدا کردن فایلهای RTX کمکی نکرد.ده تا فایل گداشته وقتی اد میکنی 50 تا فایل دیگه میخواد بعد میگه خیلی ساده فایل ها رو اضافه کنید وکار تمام.من دو شب الاف همون پروژه اقای منصوری هستم.هرچی فایل میزارم باز اون فایل چند تا دیگه میخواد

mansoory
10-02-2014, 15:26
اقا میشه این تابع void TouchTask(void) {رو بزاری ببینم چطوری نوشتی.من تایمر درست کرد مشکلم اینجاست.شما هم از برد اموزشی همسایه استفاده میکنی؟پس بهتر با هم به نتیجه برسیم.اقای منصوری که در مورد پیدا کردن فایلهای RTX کمکی نکرد.ده تا فایل گداشته وقتی اد میکنی 50 تا فایل دیگه میخواد بعد میگه خیلی ساده فایل ها رو اضافه کنید وکار تمام.من دو شب الاف همون پروژه اقای منصوری هستم.هرچی فایل میزارم باز اون فایل چند تا دیگه میخواد
این که 4تافایل رو بهت بگم کجاست مشکلت رو حل نمیکنه. شما بهتره وقت بگذاری و rtx رو کار کنی. شما گفتید که با rtx تونستی یه پروژه ساده بنویسی. پس باید بدونی چه فایلهایی مورد نیازته و از کجا باید پیداشون کنی. من دوست دارم شما rtx رو کار کنی و emwin رو باهاش راه اندازی کنی. توی انجمن هم به اندازه کافی درباره rtx صحبت شده ونیازی نیست که من اینجا دوباره توضیح بدم.
پیشنهاد می کنم بعد از اینکه rtx کار کردی پروژه multitask رو مجددا بررسی کنی. با توضیحاتی که قبلا در همین تایپک دادم نباید مشکلی داشته باشی

ghorban_piriz
10-02-2014, 16:54
سلام خدمت همه دوستان .طبق قولی که به بعضی از عزیزان داده بودم فایل مربوط به راه اندازی ال سی دی ssd1289 رو که با دو روش flex تو ورژن 5.22 compact تو ورژن 5.14 برا همه می ذارم . امیدوارم دیگه کسی مشکلی تو راه اندازی این ال سی دی نداشته باشه و زودتر بریم سراغ کارای دیگه من جمله استفاده از نرم افزار GUIBUIDER. فایلا رو با یه برنامه ساده تست کردم.
You can see links before reply

You can see links before reply

ghorban_piriz
10-02-2014, 17:06
سلام خدمت همخ دوستان.
یه سوال ساده داشتم. من از روتاری اینکودر برا تغییر مقدار یک عدد استفاده کردم. الان مبیخوام موقع تغییر دادن عدد مقدار اون تو یه ویجت text یا edit نشون بدم. من الان یه برنامه نوشتم که برا آپدین اون عدد رو ویجت edit بایدرو اون ویجت کلیک کنم ولی من می خوام خودش وقتی عدد تغییر کرد اتوماتیک تغییر رو نسون بده. یه راهنمایی کوچیک می تونین بکنین تو مورد. ممنونم.

mansoory
10-02-2014, 17:42
سلام خدمت همخ دوستان.
یه سوال ساده داشتم. من از روتاری اینکودر برا تغییر مقدار یک عدد استفاده کردم. الان مبیخوام موقع تغییر دادن عدد مقدار اون تو یه ویجت text یا edit نشون بدم. من الان یه برنامه نوشتم که برا آپدین اون عدد رو ویجت edit بایدرو اون ویجت کلیک کنم ولی من می خوام خودش وقتی عدد تغییر کرد اتوماتیک تغییر رو نسون بده. یه راهنمایی کوچیک می تونین بکنین تو مورد. ممنونم.

باید ID اون ادیت باکس رو داشته باشی. هرجا که خواستی بهش مقداری بدی از دستور EDIT_SetValue یا EDIT_SetText باید استفاده کنی. اگه مشکل چیز دیگه ایست بیشتر توضیح بدین.

mostafazaker
10-02-2014, 19:00
سلام
من می خوام روی یک دکمه که کلیک میکنم یک text نمایش داده بشه از این دستور در قسمت ریلیس دکمه استفاده کردم TEXT_SetText (ID_TEXT_0,"salam"); ولی روی دکمه که کلیک میکنم قفل میکنه.
چکار کنم.؟؟

D.S
10-02-2014, 20:17
این که 4تافایل رو بهت بگم کجاست مشکلت رو حل نمیکنه. شما بهتره وقت بگذاری و rtx رو کار کنی. شما گفتید که با rtx تونستی یه پروژه ساده بنویسی. پس باید بدونی چه فایلهایی مورد نیازته و از کجا باید پیداشون کنی. من دوست دارم شما rtx رو کار کنی و emwin رو باهاش راه اندازی کنی. توی انجمن هم به اندازه کافی درباره rtx صحبت شده ونیازی نیست که من اینجا دوباره توضیح بدم. پیشنهاد می کنم بعد از اینکه rtx کار کردی پروژه multitask رو مجددا بررسی کنی. با توضیحاتی که قبلا در همین تایپک دادم نباید مشکلی داشته باشیاقای عزیز من با rtx یک پروژه درست کردم وفقط یک فایل اینکلود کردم.چه ربطی به این همه فایل داره.rtx من هم تو خود کیل هست که با کیل نصب شده و هیچ کدام از این فایلها توش نیست.حالا دوست داشتی توضیح بدید ...

ghorban_piriz
10-02-2014, 20:23
من دقیقا این کارار رو انجامش دادم مهندس ولی خوب وقی مقدار اون عدد تو یه زیر برنامه تغییر می کنه چجوری به برنامه بفهمونیم که اون عدد تغییر کرده البته اتوماتیک وار. من همین کاری که فرمودین رو تو حالت کلیک تعریف کردم ولی برا آپدیت یه بار حتما باید روش کلیک کنم.

5112100080
10-02-2014, 22:07
سلام
دوستان این سوالم بزارین به حساب ناشی بودنم
من نرم افزار emwin می خوام لینکی که (اگه اشتباه نکنم ) صفحه شش هست خراب هست هر کاری می کنم دانلود نمیشه
کسی ادرسی برای دانلود داره یا کسی می تونه یه جا اپلود کنه من دانلود کنم بازم شرمنده
من تازه دارم برنامه نویسی ارم شروع می کنم

arvin2009
10-02-2014, 23:06
سلام
دوستان این سوالم بزارین به حساب ناشی بودنم
من نرم افزار emwin می خوام لینکی که (اگه اشتباه نکنم ) صفحه شش هست خراب هست هر کاری می کنم دانلود نمیشه
کسی ادرسی برای دانلود داره یا کسی می تونه یه جا اپلود کنه من دانلود کنم بازم شرمنده
من تازه دارم برنامه نویسی ارم شروع می کنم
از این لینک بگیر آماده هست
You can see links before reply (You can see links before reply)
-------------------------------------------------
khm: طبق قوانین سایت لطفا فارسی تایپ کنید

sjafarim
11-02-2014, 11:45
من دقیقا این کارار رو انجامش دادم مهندس ولی خوب وقی مقدار اون عدد تو یه زیر برنامه تغییر می کنه چجوری به برنامه بفهمونیم که اون عدد تغییر کرده البته اتوماتیک وار. من همین کاری که فرمودین رو تو حالت کلیک تعریف کردم ولی برا آپدیت یه بار حتما باید روش کلیک کنم.
شما خطی که با استفاده از id اون edit، مقدار روتاری رو میخوای ست کنی باید تو مسیج WM_NOTIFICATION_RELEASED یا WM_NOTIFICATION_VALUE_CHANGED اون روتاری بنویسی. id اون edit box هم حواست باشه متغیر global تعریف کنی که از همه جا بهش دسترسی داشته باشی.

sjafarim
11-02-2014, 11:55
سلام
من می خوام روی یک دکمه که کلیک میکنم یک text نمایش داده بشه از این دستور در قسمت ریلیس دکمه استفاده کردم TEXT_SetText (ID_TEXT_0,"salam"); ولی روی دکمه که کلیک میکنم قفل میکنه.
چکار کنم.؟؟
دکمه و text توی یک ویندوز هستن؟ شما هم id اون text box (که باید موجود باشه در صفحه) رو تو یه متغیر gobal بریز بعد تو مسیج WM_NOTIFICATION_RELEASED دکمت با همون دستور که نوشتی نوشترو تو text box لود کن.

text70_id= WM_GetDialogItem(pMsg->hWin, ID_TEXT_70);
که text70_id یه متغیر از نوع WM_HWIN هست که بصورت گلوبال خارج از تمام توابع اول فایل c. اپلیکیسن emwin ام تعریف کردم. pMsg->hWin در خط بالا باید به ویندوزی که اون المان ها داخلش هستن متعلق باشه پس یا ب جای کلش یک متغیر حاوی id ویندوزت بذار اونجا یا خط بالا رو تو تابع callback ویندوزی که المان ها داخلش هستن بنویس.
بعد در مسیج مربوط به رها شدن دکمه مورد نظر:

case ID_BUTTON_39: switch(NCode) {
case WM_NOTIFICATION_RELEASED:
TEXT_SetText(text70_id,"salam");
break;

mostafazaker
11-02-2014, 13:58
ممنون درست شد.
فقط یه مورد دیگه با guibuilder که عکس اضافه میکنم.فقط کلید ها رو نشون میده. و حتی دیگه موس هم حرکت نمیکنه.قفل میکنه.
میدونید مشکل از کجاست.؟؟

5112100080
11-02-2014, 14:08
سلام
دوستان
واقعا شرمنده معذرت می خوام
من تازه کار با emwin شروع کردم
اون pdf راهنما AN11244 خوندم
اما مراحلی که تو این فایل نوشته
با emwin من فرق می کنه ؟؟؟؟؟؟/
من نرم افزار از سایت segger.com
گرفتم حجمش 12 مگ هست
اصلا شبیه این چیزی که تو پی دی اف گفته نیست مال من فقط چند تا فایل با پسوند .c .h ........ داره
از سایت lpcware.com هر کاری میکنم دانلود نمیشه
گیج شدم خواهش یک نفر راهنماییم کنه باید چیکار کنم
در ضمن نرم افزار کیل و ویژوال استادیو 2010 نصب کردم
دارم کم کم دیونه میشم
با تشکر

sjafarim
11-02-2014, 14:15
ممنون درست شد.
فقط یه مورد دیگه با guibuilder که عکس اضافه میکنم.فقط کلید ها رو نشون میده. و حتی دیگه موس هم حرکت نمیکنه.قفل میکنه.
میدونید مشکل از کجاست.؟؟
احتمالا مشکل از کمبود رام هست،مقدار رامی که به emwin اختصاص دادیو ببر بالای 50 کیلوبایت امتحان کن. برا تست عکس کوچیک بذار که رام کمتری بخواد.


سلام
دوستان
واقعا شرمنده معذرت می خوام
من تازه کار با emwin شروع کردم
اون pdf راهنما AN11244 خوندم
اما مراحلی که تو این فایل نوشته
با emwin من فرق می کنه ؟؟؟؟؟؟/
من نرم افزار از سایت segger.com
گرفتم حجمش 12 مگ هست
اصلا شبیه این چیزی که تو پی دی اف گفته نیست مال من فقط چند تا فایل با پسوند .c .h ........ داره
از سایت lpcware.com هر کاری میکنم دانلود نمیشه
گیج شدم خواهش یک نفر راهنماییم کنه باید چیکار کنم
در ضمن نرم افزار کیل و ویژوال استادیو 2010 نصب کردم
دارم کم کم دیونه میشم
با تشکر
بهترین کار اینه که آموزشارو از اول همین تاپیک بخونید و خودتون با فایل های موجود در کیل راه اندازی کنید از صفر...

arvin2009
11-02-2014, 14:21
سلام
دوستان
واقعا شرمنده معذرت می خوام
من تازه کار با emwin شروع کردم
اون pdf راهنما AN11244 خوندم
اما مراحلی که تو این فایل نوشته
با emwin من فرق می کنه ؟؟؟؟؟؟/
من نرم افزار از سایت segger.com
گرفتم حجمش 12 مگ هست
اصلا شبیه این چیزی که تو پی دی اف گفته نیست مال من فقط چند تا فایل با پسوند .c .h ........ داره
از سایت lpcware.com هر کاری میکنم دانلود نمیشه
گیج شدم خواهش یک نفر راهنماییم کنه باید چیکار کنم
در ضمن نرم افزار کیل و ویژوال استادیو 2010 نصب کردم
دارم کم کم دیونه میشم
با تشکر
اقا اون لینکی که من بهت دادم کامل نبود و خودم درست کرده بودم.حالا اگه کاملش رو میخوای از این لینک بگیر
You can see links before reply

spider
11-02-2014, 14:26
سلام آقای منصوری و بقیه . این لینک مربوط میشه به نمونه و مثال برد LANDTIGER WB با ال سی دی "4.3 و SSD1963
You can see links before reply

mostafazaker
11-02-2014, 17:02
مشکل اینجاست که با برنامه های نمونه خودشون اجرا میشه و عکس ها رو نشون میده.
ولی با guibuilder عکس رو نشون نمیده.
این فایل خروجی guibuilder منه یه نگاهی بکنید ببینید چیزی کم نداره.
ممنون

sjafarim
12-02-2014, 00:59
مشکل اینجاست که با برنامه های نمونه خودشون اجرا میشه و عکس ها رو نشون میده.
ولی با guibuilder عکس رو نشون نمیده.
این فایل خروجی guibuilder منه یه نگاهی بکنید ببینید چیزی کم نداره.
ممنون
درستیش درسته فقط چرا main task نداره؟!
رامی که به emwin اختصاص دادی چقدره؟

sjafarim
12-02-2014, 01:22
یک علت درجا زدن ما ایرانی ها همینه.چون شما یکماه سروکله زدید و یاد گرفتید دوست دارید هر کس همین مقدار وقت بزاره و سرکله بزنه تا بشه مثل شما.نمی یایم اطلاعاتمون رو در اختیار دیگران بزاریم تا طرف مقابل به جای وقت گذاشتن رو چیزی که ما بلدی وقتش رو برای چیزه دیگه بزاره و با اطلاعات همدیگه پشرفت کنیم.همه میخوان تک رو باشن.شما حاضر نیستید بگید این فایلها کجا هست وباید برنامه خاصی نصب کرد یا همان rtx خود کیل هست.انگار من رفتم گشتم و کلی وقت گداشم و پی به این نتیجه بردم که باید کتابخانه دیگری بگیرم و نصب کنم .با این کار شما دلتون خنک میشه.rtx چیز سختی نیست من با یک بار خواندن اون تاپیک خودم چند تا برنامه نوشتم ولی هیچ وقت از این فایلها استفاده نکردم.مثل ip.h یا uEZRTOS.h , وخیلی فایلهای دیگه.اینچین ربطی بهیادگیری نداره و با یک گفتن حل مشه ولی شما مشکل دیگه دارید.خوشبختانه بازم بچه هایی هستن که از یاد دادن به دیگران حراص ندارن.
برادر من شما واقعا بی انصافی، آقای منصوری حتی اگه از سر بی حوصلی باشه که نمیاد از اول rtx رو یاد بده بعد هم استفاده کردنشو در کنار emwin برای شما(که البته اینطور نیست) باز باید ممنونش بود، بنده خدا اینهمه پست گذاشته emiwn رو از صفر آموزش داده بی منت، همون استفاده از rtx هم بارها در همین تاپیک بحث شده، شما توقع داری بیاد همرو خلاصه کنه برات، این که نمیشه رفیق هیچکدوممون بیکار که نشستیم فقط پای نت بنده خدا زندگی داره. اصلا الان هم این کارو بکنه دوباره، 10 تا صفحه بعد یکی دیگه میاد باز برا اونم بگه؟ وقتی یه چیزی کامل آموزش داده شد بعدش فقط جای رفع اشکاله نه دوباره آموزش از صفر. emwin کتابخونه سطح بالایی هست و کمتر کسی در ایران با اون میتونه حرفه ای کار کنه، حالا یکی میاد وقت میذاره چیزیو که خودش از manual انگلیسی با زحمت خونده و راه انداخته بی منت آموزش میده اینه جوابش؟ یکم انصاف داشته باش، هیچکدوم از ما تعهد نداریم بیایم اینجا جوابگو همه باشیم، هرکی 1 ثانیه هم که برا کس دیگه وقت میذاره داره لطف میکنه. خیلیا میان تو این انجمن و همون انجمن همسایه نیازشونو رفع میکنن و میرن، ولی کسی که میادو هرچی بلده در اختیار بقیه میذاره داره زکات علمشو میده والا ساعتی حقوق نمیگیره از انجمن!
شما سازنده بوردت رو هم تخریب کردی، حالا که emwin ات راه افتاده به نظرت هنوز مشکل از برده؟!
اگر تو آموزش ها مشکلی بود یا کسی قسمتی از دانششو نمیخواست در اختیار بقیه بذاره این همه آدمی که اومدن از صفر تاپیکو خوندنو راه انداختن اینا هم نمیتونستن.
در صورتی که rtx رو بلد باشی و emwin رو هم که یاد گرفتی، راه اندازی جفتش با هم هیچ آموزشی نیاز نداره، اگر اینکارو نمیتونید بکنید مطمئنا یکی ازین دو رو مسلط نیستی.
اینکه شما میگی چیزیرو در اختیار شما بذاره که یک ماه وقت برده هم نشدنیه، تا باهاش سرو کله نزنی مسلط نمیشی، اونی که یک ماه سرو کله زده اومده آموزش داده که به جای یک ماه شما 2 هفته سروکله بزنی، در غیر این صورت نتیجش میشه 2 تا چیزی که بلدی ولی کوچکترین تغییری بخوای بدی نمیتونی.
لطفا این بحثو ادامه ندید و اگر مشکلی با rtx دارید به تاپیک خودش مراجعه کنید.

ghorban_piriz
12-02-2014, 01:51
باید ID اون ادیت باکس رو داشته باشی. هرجا که خواستی بهش مقداری بدی از دستور EDIT_SetValue یا EDIT_SetText باید استفاده کنی. اگه مشکل چیز دیگه ایست بیشتر توضیح بدین.
من کدهای زیر رو هر وقت تو روال اینتراپت یا جا های دیگه برا تغییر مقدار edit قرار می دم برنامه هنگ میکنه!! البتهid رو قبلش براش تعریف کردم.

WM_MESSAGE * pMsg;
WM_HWIN hItem;
hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0);
EDIT_SetValue( hItem,count);
برا همین هر بار که مقدار اون عدد رو تغییر می دم با دستور CreateWindow(); کل ویندو رو دوباره رسم می کنم ولی این کار به نظرم درست نیست و باید راه اصولی تری هم باشه.

mahanjoon
12-02-2014, 02:13
کلی با خودم کلنجار رفتم تا وسط بحث نپرم ولی دیدم چیزی نگم نامردیه,نمیخوام جمع ببندمو بگم ما ولی من به شخصه خیلی از اطلاعاتمو مدیون پست ها و راهنمایی های آقای منصوری ام.خیلی مردونگی میخواد کسی با مشقت چیزی رو یاد گرفته باشه ولی بی منت بهت یاد بده.امیدوارم همیشه خدا سلامت باشن و بدونن که حداقل من یکی دعا گوشون هستم

sjafarim
12-02-2014, 02:28
من کدهای زیر رو هر وقت تو روال اینتراپت یا جا های دیگه برا تغییر مقدار edit قرار می دم برنامه هنگ میکنه!! البتهid رو قبلش براش تعریف کردم.

WM_MESSAGE * pMsg;
WM_HWIN hItem;
hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0);
EDIT_SetValue( hItem,count);
برا همین هر بار که مقدار اون عدد رو تغییر می دم با دستور CreateWindow(); کل ویندو رو دوباره رسم می کنم ولی این کار به نظرم درست نیست و باید راه اصولی تری هم باشه.
چرا اینتراپت؟؟؟
خارج از فایل اپلیکیشنی که برا emwin نوشتی اصلا دستوری از emwin رو اجرا نکن، مخصوصا تو اینتراپتا، دلیلش همینه.
شما تو اینتراپتت یه متغیریو تغییر بده بعد که اومدی تو برنامه emwin یه تابعیو اجرا کن یا همچین چیزی، وقتی emwin در حال اجراست چه خارج از اون توابعش استفاه بشه، چه زمان پردازش به مدت زیاد ازش گرفته بشه خارج از اون(مخصوصا وقتی از rtx استفاده نکنی) هنگ میکنه.
جای اینجور توابع یا داخل حلقه بینهایت main task هست که دائم داره اجرا میشه، یا داخل callback ها.

D.S
12-02-2014, 02:39
اقا یون من یک سوال کردم این فایلهایی که پروژه شما میخواد رو باید ازکجا پیدا کنم.این همه حرف زدن ندار.ای بروی rtxیاد بگیر و ....مگه من میگم بیاد هرچی یاد گرفته رو بهم یاد بده.من فقط میخواستم بدونم علت اینکه من پیدا نمکنم چیه.ایا احتیاج به نصب کتابخانه ای هست یانه.جدا شاهکارید.برای تنظیم یک السیدی بعلت گفتار غلط که اول ال سی دی رو راه اندازی کنید بعد این همه پست زیاد کردید.نمیگید کسی که السیدی داره یک فایل راه اندازم دار که اصلا ربطی به emwin نداره.من خودم یک هفته سر این موضوع الاف شدم.

mostafazaker
12-02-2014, 08:54
درستیش درسته فقط چرا main task نداره؟!
رامی که به emwin اختصاص دادی چقدره؟
رام رو منظورتون این خط هست.

#define GUI_NUMBYTES ( 1024) * 16 // x MByte//
// Define the average block size
//
#define GUI_BLOCKSIZE 0x80

اگه غیر از این هست بلد نیستم.

sjafarim
12-02-2014, 09:59
اره اون 16 رو بکن 50 تست کن.

mansoory
12-02-2014, 10:16
من کدهای زیر رو هر وقت تو روال اینتراپت یا جا های دیگه برا تغییر مقدار edit قرار می دم برنامه هنگ میکنه!! البتهid رو قبلش براش تعریف کردم.

WM_MESSAGE * pMsg;
WM_HWIN hItem;
hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0);
EDIT_SetValue( hItem,count);
برا همین هر بار که مقدار اون عدد رو تغییر می دم با دستور CreateWindow(); کل ویندو رو دوباره رسم می کنم ولی این کار به نظرم درست نیست و باید راه اصولی تری هم باشه.

الان فهمیدم!!
شما محتوای edit رو تغییر میدید ولی در ظاهر تا وقتی که پنجره دوباره ترسیم نشه محتویاتش عوض نمیشه. اون edit رو باید invalidate کنید. دستور WM_Invalidate_Window رو امتحان کنید. در صفحه 362 راهنمای ورژن 5.22 میتونید دستورات مشابه رو برای ترسیم مجدد کل پنجره یا قسمتی از اون رو ببینید. با این دستور، پنجره یا قسمتی از اون در لیست اولویت برای ترسیم قرار میگیره و emwin در تیک بعدی سیستم، ناحیه هایی که invalidate شده رو ترسیم مجدد میکنه
موفق باشید

mostafazaker
12-02-2014, 15:23
من بورد coreboard آیسی lpc1788 رو گرفتم با ال سی دی 7 اینچ -emwin داخل cd ورژن 5.16 هست .چطوری باید ورژن اون رو ببرم بالا که تنظیمات lcd به هم نخوره.
اگه میشه یه نفر پروژه helloworld رو برای ورژن 5.22 با coreboard بزاره تا استفاده کنم.
ممنون

arvin2009
12-02-2014, 17:56
اقا یون من یک سوال کردم این فایلهایی که پروژه شما میخواد رو باید ازکجا پیدا کنم.این همه حرف زدن ندار.ای بروی rtxیاد بگیر و ....مگه من میگم بیاد هرچی یاد گرفته رو بهم یاد بده.من فقط میخواستم بدونم علت اینکه من پیدا نمکنم چیه.ایا احتیاج به نصب کتابخانه ای هست یانه.جدا شاهکارید.برای تنظیم یک السیدی بعلت گفتار غلط که اول ال سی دی رو راه اندازی کنید بعد این همه پست زیاد کردید.نمیگید کسی که السیدی داره یک فایل راه اندازم دار که اصلا ربطی به emwin نداره.من خودم یک هفته سر این موضوع الاف شدم.
دوست عزیز فکر میکنم مشکل کار شما اینجاست که تمام فایلهای که تو پوشه کانفیگ فایل اقای منصوری هست رو داری اد میکلی که فکر نمیکنم بخواد اونا رو اد کنی.اینکه دوستان جواب نمیدن هم همینه چون نمیدونن و برخورد نکردن.اقای منصوری شما هم که کوچکترین و پیش پا افتاده ترین سوال ها رو جواب میدید این بنده خدا رو هم راه مینداختید.سوالی که این اقا میکنه اصلا ربطی به rtx نداره.ایشون اشتباهی همه فایلهای که تو کانفیگ گذاشتید رو اد کرده.که فکر نمیکنم لازم به این کار باشه.درسته؟

hmrasa
12-02-2014, 19:24
من تونستم lcd 7 با ssd1963 , lpc1768 راه اندازی کنم اما نتونستم با emwin راش بندازم. وقتی برنامه را با کیل پروگرام می کنم فقط ی صفحه زرد رنگ نشون می دهد. تمام تنظیمات را مثل آموزس داده شده دنبال کردم. مشکل برنامه ام چی می تونه باشه؟

D.S
12-02-2014, 19:28
خدا خیرت بده.بله دقیقا همین کار رو کردم.الان درست شد و فایلی زیادی از من نخواست.مرسی اقا اروین.اقایون دیگه هم وقتی بلد نیستن بگن بلد نیستم نه اینکه بد راهی بدن.اقای منصوری یک پروژه با چهارتا ال ای دی با سیستم عامل rtx این همه قیافه و یک ماه وقت گذاشتن نداره.فایل ها رو اشتباه گداشتی مردم رو الاف کردی.اینم مثل یاد دادن ال سی دیت میمونه که به هرکی میاد میگی برو اول ال سی دیت رو توی یک پروزه راه بنداز بعد به emwin اضافه کن.قافل از اینکه اصل توابع خاصی هست که باید در هدر ال سی دی وجود داشته باشه.سر همین موضوع که دیدی چقدر الاف شدم.بخدا اموزش ندادن بهتر است اموزش غلط و بد راهی دادن است.

D.S
12-02-2014, 19:32
من تونستم lcd 7 با ssd1963 , lpc1768 راه اندازی کنم اما نتونستم با emwin راش بندازم. وقتی برنامه را با کیل پروگرام می کنم فقط ی صفحه زرد رنگ نشون می دهد. تمام تنظیمات را مثل آموزس داده شده دنبال کردم. مشکل برنامه ام چی می تونه باشه؟ببین فکر میکنم مشکل منو داشته باشی.امکان داره توی هدر السیدیت توابع مورد نیاز emwin وجود نداشته باشه یا متفاوت باشه.

arvin2009
12-02-2014, 23:01
اگه هرکاری میگم رو انجام بدی سه سوته درست میشه.اول بگو پروژه اماده رو ادیت کردی یا خودت پروژه ساختی؟دوم فایل glcd که درست کردی رو بفرست ببینم
فقط سریع چون زیاد وقت ندارم.فایل lcdconf رو هم بفرست

hmrasa
12-02-2014, 23:41
کلش آپ نشد.

hmrasa
13-02-2014, 00:45
اول اینکه چرا glcd.h رو فرستادی .c رو بفرست دوم اینکه چرا ssd1289 رو انکلود کردی.میخوای به جواب برسی سریع جواب بده.درایور السی دیت کجاست.بفرست


دیر جواب میدی منم کار دارم.دوتا فایل میزارم برات این دوتا رو ویرایش کن که بیرون از emwin بتونی با این دوتا فایل کار کنی وقتی شد این رو جای درایور به emwin اضافه کن.فقط glcd رو ویرایش کن و فایلهای سی را به پروژه اضافه کن

ممنون از راهنمایی تون.
اگر اشتباه نکنم glcd که ارسال کردین برای 320 در 240 هست. ال سی دی من 7 اینچ (800 در 480) با درایور ssd1963 هست که تو glcd ای که فرستادین وجود نداره. درایوری که من دارم ssd1963 است که تو پست بعدی آپ لودش می کنم.

hmrasa
13-02-2014, 00:52
درایور هم آپ کردم.

sjafarim
13-02-2014, 02:40
همان جور که فکر کردم شما توابع رو ندارید.این توابع ای که در glcd.h علام شده رو باید تک تک در درایور خودت تعریف کنی یا کلا درایور خودت رو بیخیال بشی و glcd رو ویرایش کنی تا با lcd مچ بشه.توابع زیر باید همه اضافه بشه
void LCD_Initializtion(void);
void LCD_Clear(uint16_t Color);
uint16_t LCD_GetPoint(uint16_t Xpos,uint16_t Ypos);
void LCD_SetPoint(uint16_t Xpos,uint16_t Ypos,uint16_t point);
void LCD_DrawLine( uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1 , uint16_t color );
void PutChar( uint16_t Xpos, uint16_t Ypos, uint8_t ASCI, uint16_t charColor, uint16_t bkColor );
void GUI_Text(uint16_t Xpos, uint16_t Ypos, uint8_t *str,uint16_t Color, uint16_t bkColor);
void PutChinese(uint16_t Xpos,uint16_t Ypos,uint8_t *str,uint16_t Color,uint16_t bkColor);
void GUI_Chinese(uint16_t Xpos, uint16_t Ypos, uint8_t *str,uint16_t Color, uint16_t bkColor);

بهتره فایل glcd رو ادیت کنی و پایه هاش رو تنظیم کنی.وقتی درست شد توی فایل کنفیگ ال سیدی توابع رو باید مثل glcd بزاری.نگاه کنی متوجه میشی.
یک نکته اعلام تابع در فایل .h نباید به صورت اکسترنال تعریف بشه
سلام دوست عزیزم
جسارتا توابعی که بالا فرمودید به جز
LCD_Initializtion که قطعا در هر درایوری هست، هیچکدوم برای emwin لازم نیست، کار رسم اشکال هندسی و دیکود فونت ها و رسم حروف رو emwin انجام میده و نیازی ندارید که خودتون تابع بنویسید براش، اصلا عمده هنر emwin همینه...
شما در درایورتون کافیه توابع زیر رو داشته باشید:
-مقدار دهی اولیه lcd
-ارسال یک داده
-ارسال یک دستور
-خواندن یک داده
-ارسال یک ریجستر کامل(دستور+داده)
-ارسال بلوکی داده(که این هم نداشتین زیاد تاثیری نداره میتونی همون ارسال یک داده رو به تعداد مورد نیاز تکرار کنی برای emwin در فایل lcdconf.c که تنها باعث کمی افت سرعت در بعضی حالات میشه)
همین.

mansoory
13-02-2014, 09:05
من تونستم lcd 7 با ssd1963 , lpc1768 راه اندازی کنم اما نتونستم با emwin راش بندازم. وقتی برنامه را با کیل پروگرام می کنم فقط ی صفحه زرد رنگ نشون می دهد. تمام تنظیمات را مثل آموزس داده شده دنبال کردم. مشکل برنامه ام چی می تونه باشه؟
در تابع LCD_X_Init آخراش یه LCD_Clear هست. اون رو بردارید.
فایل LCDConf.C رو هم بفرستید ببینم. موفق باشید

mansoory
13-02-2014, 09:19
خدا خیرت بده.بله دقیقا همین کار رو کردم.الان درست شد و فایلی زیادی از من نخواست.مرسی اقا اروین.اقایون دیگه هم وقتی بلد نیستن بگن بلد نیستم نه اینکه بد راهی بدن.اقای منصوری یک پروژه با چهارتا ال ای دی با سیستم عامل rtx این همه قیافه و یک ماه وقت گذاشتن نداره.فایل ها رو اشتباه گداشتی مردم رو الاف کردی.اینم مثل یاد دادن ال سی دیت میمونه که به هرکی میاد میگی برو اول ال سی دیت رو توی یک پروزه راه بنداز بعد به emwin اضافه کن.قافل از اینکه اصل توابع خاصی هست که باید در هدر ال سی دی وجود داشته باشه.سر همین موضوع که دیدی چقدر الاف شدم.بخدا اموزش ندادن بهتر است اموزش غلط و بد راهی دادن است.
آقا من از شما عذر میخوام.
بله، باید اول السیدی خارج از emwin راه اندازی شده باشه. این که چیز واضحیه. وقتی خودت نتونی با السیدی کار کنی چه انتظاریه که بتونی emwin رو درست پیکربندی کنی؟ برای اینکه السیدی رو با emwin کنترل کنیم به توابع LCD_Init، دستور ارسال یک فرمان، یک داده و ارسال بلوکی داده نیاز خواهیم داشت. این توابع هم در فایلهای درایور السیدی وجود داره. بنابراین باید اول بتونیم از کارکرد صحیح این توابع مطمئن بشیم. راهش هم اینه که السیدی رو یکبار با فایلهای درایورش راه اندازی کنیم. اگه اشتباه گفتم بفرمایید!
درباره rtx هم باید بگم که بله یکماه وقت من رو گرفت. شاید برای شما یکساعت باشه. من نمیدونم.
درباره آموزش غلط : من فقط مطالبی رو که خودم تست کردم رو اینجا نوشتم ضمن اینکه اگه به پستهای اولم هم نگاه کنید گفتم که من ادعای صحت 100 درصدی مطالبم رو ندارم و خوشحال میشم که دیگران اشتباهاتم رو تصحیح کنند.
موفق باشید

mansoory
13-02-2014, 09:27
من بورد coreboard آیسی lpc1788 رو گرفتم با ال سی دی 7 اینچ -emwin داخل cd ورژن 5.16 هست .چطوری باید ورژن اون رو ببرم بالا که تنظیمات lcd به هم نخوره.
اگه میشه یه نفر پروژه helloworld رو برای ورژن 5.22 با coreboard بزاره تا استفاده کنم.
ممنون
ارسالهای titery رو مطالعه کنید. برای اینکه ورژن emwin رو ارتقا بدین باید فایل GUIxxx.LIB رو با ورژن جدید تر جایگزین کنید و مسیر فایلهای include شده از emwin رو هم درصورت نیاز اصلاح کنید (مثلا gui.h)

mansoory
13-02-2014, 09:34
کلش آپ نشد.
در تابع _Init این خط چیه؟
while(0){_WriteReg(4,4);} //make compiler happy

hmrasa
13-02-2014, 12:00
نمی دونم. فقط دانلودش کردم.
راستی LCD_X_Init چی؟ اسم LCD_Init درایور را با LCD_X_Init تغییر دادم.
وقتی دارم باکیل پروگرام می کنم ی لحظه کیل هنگ می کنه، مشکلی داره؟

arvin2009
13-02-2014, 12:19
ببین اون اسم تابع مهم نیست باید دید توی تابع lcdconf با چه اسمی این تابع رو فراخانی کردی ایت تابع

static void _InitLcdController(void) {
LCD_Initializtion();
while(0){_WriteReg(4,4);} //make compiler happy
}

اسم تایع من LCD_Initializtion(); بوده
من و چند تا از دوستان همین مشکل رو داشتیم چون از درایور السی دی خودمان استفاده میکردیم.حالا نمیدونم چه فرقی داره یا بعضی از تابع ها کار نمیکنند یا چیزه دیگه ای باید تعرف میشده.برای همین از شما میخوام glcd رو برای ال سی دی خودت ادیت کنی

hmrasa
13-02-2014, 12:28
برداشتم بازم اتفاقی نیفتاد.فایل LCDConf.C فرستادم.

پس این هم درست. دیگه گیج شدم. می شه کل پروژه بفرستم براتون؟ ی نگاه میندازین؟

sjafarim
13-02-2014, 12:58
در تابع _Init این خط چیه؟
while(0){_WriteReg(4,4);} //make compiler happy
سلام رفیق
اینو من تو فایل conf خودم نوشتم.اینجور جملات فقط برای حذف warning ها نوشته میشه.warning ی بوده که اشتباها با مضمون اینکه تابع _WriteReg تعریف شده ولی هیچجا استفاده نشده کیل میداده، منم واسه اینکه کامپایلرو خوشحال کنم که دیگه warning نده این تابعو تو یه شرط محال استفاده کردم.:0013:

arvin2009
13-02-2014, 13:16
این فایلها رو جایگدین فایهای خودت کن اگر ارور داد و نتونستی ارورش رو برطرف کنی بگو.من بدون هیچی ادیت کردم شاید یجاش از دستم در رفته باشه.ببین جواب میده

sjafarim
13-02-2014, 13:38
سلام داداش jafarim (You can see links before reply)مرسی. شما اینو برای 7 اینچ جواب گرفتین؟
نه داداش من با 7 اینچ کار نکردم.
درایورت که همون 1963 هست دیگه فرقی نداره نهایتا تعداد پیکسلا فرق داره فقط. یک درایور برای 1963 گیر بیار که بدون emwin کار بکنه بعد طبق آموزش ها emwin رو باهاش راه اندازی کن، هرجاش هم مشکلی داشتی همه هستن کمک میکنن. خواهش دارم ازتون دنبال پروژه خالی emiwn با مشخصاتی که میخواید نباشید، اولا احتمالش کمه کسی دقیقا با همون میکرو و همون lcd و همون سخت افزار شما کار کرده باشه، بعد هم اگه کسی بیاد براتون آماده کنه هم باعث میشه تسلط پیدا نکنین به emwin و10 جای دیگه گیر کنید. پس با صبر و حوصله از اول تاپیک بخونید و قدم به قدم راه اندازی کنید.
پس قدم اول اینه:
راه اندازی lcd بدون emwin. (این کارو انجام دادی؟)

hmrasa
13-02-2014, 13:59
نه داداش من با 7 اینچ کار نکردم.
درایورت که همون 1963 هست دیگه فرقی نداره نهایتا تعداد پیکسلا فرق داره فقط. یک درایور برای 1963 گیر بیار که بدون emwin کار بکنه بعد طبق آموزش ها emwin رو باهاش راه اندازی کن، هرجاش هم مشکلی داشتی همه هستن کمک میکنن. خواهش دارم ازتون دنبال پروژه خالی emiwn با مشخصاتی که میخواید نباشید، اولا احتمالش کمه کسی دقیقا با همون میکرو و همون lcd و همون سخت افزار شما کار کرده باشه، بعد هم اگه کسی بیاد براتون آماده کنه هم باعث میشه تسلط پیدا نکنین به emwin و10 جای دیگه گیر کنید. پس با صبر و حوصله از اول تاپیک بخونید و قدم به قدم راه اندازی کنید.
پس قدم اول اینه:
راه اندازی lcd بدون emwin. (این کارو انجام دادی؟)
آره. هم LCD و هم touch

arvin2009
13-02-2014, 14:11
آره. هم LCD و هم touch
دوتا فایل بالا امتحان کردی؟جواب نداد؟

sjafarim
13-02-2014, 14:18
بسیار خوب
توابعی که برای راه اندازی emwin نیاز هستو میتونی از تو درایور lcd ایت شناسایی کنی؟
میدونی هر کدوم باید داخل چه تابعی تو lcdconf.c وارد کرد؟

hmrasa
13-02-2014, 14:20
دوتا فایل بالا امتحان کردی؟جواب نداد؟
تغییراتی توش انجام دادم. درایورش درست چون بدون emwin جواب داد. همیشه بک گراند رنگی است که آ خرین بار بدون emwin استفاده شده. و emwin تاثیری رو LCD نیمزاره.

hmrasa
13-02-2014, 14:23
بسیار خوب
توابعی که برای راه اندازی emwin نیاز هستو میتونی از تو درایور lcd ایت شناسایی کنی؟
میدونی هر کدوم باید داخل چه تابعی تو lcdconf.c وارد کرد؟
فکر کنم بدونم. به غیر از قسمت هایی از LCD_X_Config

sjafarim
13-02-2014, 14:44
چیه lcd_x_config رو مشکل داری؟
درایور lcd که جواب گرفتی ازش رو آپ کن+فایل lcdconf.c که براش تنظیم کردی ببینم درسته همه چی.

hmrasa
13-02-2014, 15:03
چیه lcd_x_config رو مشکل داری؟
درایور lcd که جواب گرفتی ازش رو آپ کن+فایل lcdconf.c که براش تنظیم کردی ببینم درسته همه چی.
مقدار پارامتر های GUIDRV_FlexColor_SetFunc باید از کجا پیدا کنم. دیتا شیت درایور یا ال سی دی؟

arvin2009
13-02-2014, 15:04
اقا مشکل شما اینه از 66702 استفاده کردید.برای السی دی شما 66720 هست تغیرش بدید.این خط در lcdconf
GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66702, GUIDRV_FLEXCOLOR_M16C0B16);
طبق این سند
GUIDRV_FLEXCOLOR_F66720 Set up the driver to use one of the following controllers:
- Solomon SSD1961, SSD1963

hmrasa
13-02-2014, 15:12
اقا مشکل شما اینه از 66702 استفاده کردید.برای السی دی شما 66720 هست تغیرش بدید.این خط در lcdconf
GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66702, GUIDRV_FLEXCOLOR_M16C0B16);
طبق این سند
GUIDRV_FLEXCOLOR_F66720 Set up the driver to use one of the following controllers:
- Solomon SSD1961, SSD1963
مرسی عزیز
الان ی جواب هایی گرفتم. تو تصویرم یک ویندو با ی باتن با تکست "Button" بود که فقط B نشان می ده که نشونه خوبی هست

sjafarim
13-02-2014, 15:18
دقیقا درسته، شما اون فایل lcdconf.c رو که من برای ssd1289 آماده کرده بودم گذاشتی تو پروژت، فعلا 66720 رو تغییر بده تست کن تا بقیه چیزا رو چک کنیم.
در کل؛ اون قسمتو باید طبق اینکه ic درایور lcd ایت مدلش چیه (که اینجا ssd1963 هست) از تو منوال emwin پیدا کنی. (ssd1963 رو سرچ کن تو pdf ات پیداش میکنی)

hmrasa
14-02-2014, 02:42
سلام به همه
یک ویندو طراحی کردم که توش چن تا کامپوننت وجود داره.
مشکلات:
1- فقط آخرین کامپوننت نمایش می ده.
2- وقتی تکستی می نویسم فقط اولین کاراکتر نمایش می ده.
3- رنگ ها کلا با اونی که بهش دادم متفاوت.
می دونین مشکل از کجاست؟

کسی GUIDRV_CompactColor_16.h برای LPC داره؟

sjafarim
14-02-2014, 03:38
اقایون کسی فونت فارسی برای emwin درست نکرده اپ کنه ما هم استفاده کنیم
با نرم افزار font convertor خودش به راحتی این کارو میتونی انجام بدی.
اینم چند تا نمونه:
b mitra سایز 20
b nazanin 20
b nazanin 24
b nazanin 27
b mitra 24
b nazanin 30

sjafarim
14-02-2014, 03:41
سلام به همه
یک ویندو طراحی کردم که توش چن تا کامپوننت وجود داره.
مشکلات:
1- فقط آخرین کامپوننت نمایش می ده.
2- وقتی تکستی می نویسم فقط اولین کاراکتر نمایش می ده.
3- رنگ ها کلا با اونی که بهش دادم متفاوت.
می دونین مشکل از کجاست؟

کسی GUIDRV_CompactColor_16.h برای LPC داره؟
1-2- مقدار رامی که به emwin دادیو بیشتر کن.
3- تو فایل lcdconf.c خط زیرو اشتباه تنظیم کردی:

#define COLOR_CONVERSION GUICC_M565

compact color ها هم قبلا گفتم، پولی هستن.

hmrasa
14-02-2014, 12:09
1-2- مقدار رامی که به emwin دادیو بیشتر کن.
3- تو فایل lcdconf.c خط زیرو اشتباه تنظیم کردی:

#define COLOR_CONVERSION GUICC_M565

compact color ها هم قبلا گفتم، پولی هستن.
طبق LCD_XSIZE * LCD_YSIZE * BytesPerPixel
برا 800 در 480 داریم 480*800*2=768000
768000 تقسیم بر 1024 می شه 750k.
#define GUI_NUMBYTES (1024) * 32 اگه ببیشتر از (1024) * 32 کنم ارر می ده.
.\otherfiles\template.axf: Error: L6406E: No space in execution regions with .ANY selector matching guiconf.o(GUI_RAM).

تو یوزر منوال [1012] اومده 565 یا 666_9 ؟

sjafarim
14-02-2014, 13:21
در اصل محاسبه میزان رام مورد نیاز صرفا به روزلوشن ربط نداره و در قسمت display drivers در منوال برای هر درایور نحوه محاسبه اونو نوشته.
اینا به کنار 800*480 باید ضربدر 3 بشه.
فکر کنم شما در تنظیمات target options کل 96 کیلو رام رو در دسترس قرار ندادی، در target option پایین سمت راست تیک IRAM2 رو بزن.
برای استفاده از رام های خارجی موجود در بردت هم باید بخش emc میکروت رو راه بندازی تا حافظه خارجیو با آدرس دهی مستقیم در دست بگیره.

hmrasa
14-02-2014, 13:37
در اصل محاسبه میزان رام مورد نیاز صرفا به روزلوشن ربط نداره و در قسمت display drivers در منوال برای هر درایور نحوه محاسبه اونو نوشته.
اینا به کنار 800*480 باید ضربدر 3 بشه.
فکر کنم شما در تنظیمات target options کل 96 کیلو رام رو در دسترس قرار ندادی، در target option پایین سمت راست تیک IRAM2 رو بزن.
برای استفاده از رام های خارجی موجود در بردت هم باید بخش emc میکروت رو راه بندازی تا حافظه خارجیو با آدرس دهی مستقیم در دست بگیره.

مگه منظور از LCD_XSIZE * LCD_YSIZE روزلوشن نیست؟

چرا ضرب در 3؟ برای GUIDRV_FLEXCOLOR و GUICC_565 نوشته ضرب در 2.
تیک
IRAM2 زدم. میکرو ام 1768 فک نکم

emc داشته باشه!. داره؟

با این اوصاف، به نظرتون می شه TFT7' با
1768 و emwin راه اندازی کرد؟

sjafarim
14-02-2014, 14:19
اوه درسته ضربدر 2 میشه برای 565، من دیتارو خام حساب کردم. ولی بازم نباید فیکس همین قدر به رام بدی، میدونی قضیه چیه، یه فایل lcdconf که emc استفاده شده باشه بخونی متوجه میشی، این عددی که شما بدست آوردی زمانی مستیقا باید در رام مورد نیاز در نظر گرفته بشه که کل lcd بتونه از کچ مموری برای افزایش سرعت استفاده کنه که این کاردر اصل با 1768 نشدنیه (من فکر کردم شما 1788 داری).
یه مثال :
در یک جایی از برنامه شما قراره مثلا ربع بالا راست lcd یک چیز جدید به نمایش در بیاد. اگر رام به اندازه اون مقدار از پیکسل ها و بقیه محاسبات و کارهای emwin برای اون منطقه در اختیارش باشه، emwin میاد کل اون تصویر جدید رو میسازه و داخل رام میریزه، حالا یکدفعه همرو از رام با سرعت بالاتر و بدون نیاز پردازش به lcd منتقل میکنه.
اگر این مقدار رام در اختیار نباشه، به مقداری که رام داره میاد پردازشو انجام میده و ذخیره میکنه، بعد منتقل میکنه به lcd بعد بقیشو انجام میده، انقدر اینکارو انجام میده که کل فضای مورد نیازو refresh کرده باشه.

- حالا فرض کن برای کل lcd شما اگر بخواد از رام استفاده کنه عددشو خودت حساب کردی دیگه :mrgreen:
- میمونه یه نکته، شما نمیتونی بگی خوب اصلا به من چه،سرعت بالاتر نخواستم رام 5 کیلو، اصن صفر...
هرچی تعداد المان تو صفحه بیشتر بشه emwin برای نمایششون به رام بیشتری نیاز داره، هر المان یک مفدار از فضای رام رو به عنوان پشته خودش استفاده میکنه، هرچی المان گرافیکی تر و پیچیده تر باشه (مثلا graph یا listwheel) پشته بیشتری نیاز داره.

arvin2009
14-02-2014, 15:00
سلام به همگی.
بچه ها هرچی این متن رو میخونم نمیتونم چیزی ازش بفهمم کسی میتونه یکم توضیح بده این شکل کتابخانه چیه وبرای چه مصارفی هست
Creating a library
Building a library from the sources is a simple procedure. The
first step is to copy the batch files (located under Sample\Makelib) into your projectís root directory. That means the
parent directory containing the íConfigí and the íGUIí folder
explained in chapter 2.1. Then, make any necessary changes.
There are a total of four batch files which need to be copied,
described in the table below. The main file, Makelib.bat, will
be the same for all systems and requires no changes. To build a
library for your target system, you will normally need to make
slight modifications to the other three smaller files. Finally,
start the file Makelib.batto create the library. The batch files
assume that your GUIand Configsubdirectories are set up as
recommended.
The procedure for creating a library is illustrated in the flow
chart to the right. The Makelib.batfile first calls Prep.batto
prepare the environment for the tool chain. Then it calls CC.bat
for every file to be included in the library. It does this as many
times as necessary. CC.batadds each object file to a list that
will be used by lib.bat. When all files to be added to the
library have been listed, Makelib.batthen calls lib.bat,
which uses a librarian to put the listed objectfiles into the actual library. Of course
you are free to create libraries in another way.
It is not recommended to create an emWin library including a compile-time configurable display driver. For further information about the configurability of display drivers, please refer to ìAvailable display driversî on page 974.

hmrasa
14-02-2014, 15:09
اوه درسته ضربدر 2 میشه برای 565، من دیتارو خام حساب کردم. ولی بازم نباید فیکس همین قدر به رام بدی، میدونی قضیه چیه، یه فایل lcdconf که emc استفاده شده باشه بخونی متوجه میشی، این عددی که شما بدست آوردی زمانی مستیقا باید در رام مورد نیاز در نظر گرفته بشه که کل lcd بتونه از کچ مموری برای افزایش سرعت استفاده کنه که این کاردر اصل با 1768 نشدنیه (من فکر کردم شما 1788 داری).
یه مثال :
در یک جایی از برنامه شما قراره مثلا ربع بالا راست lcd یک چیز جدید به نمایش در بیاد. اگر رام به اندازه اون مقدار از پیکسل ها و بقیه محاسبات و کارهای emwin برای اون منطقه در اختیارش باشه، emwin میاد کل اون تصویر جدید رو میسازه و داخل رام میریزه، حالا یکدفعه همرو از رام با سرعت بالاتر و بدون نیاز پردازش به lcd منتقل میکنه.
اگر این مقدار رام در اختیار نباشه، به مقداری که رام داره میاد پردازشو انجام میده و ذخیره میکنه، بعد منتقل میکنه به lcd بعد بقیشو انجام میده، انقدر اینکارو انجام میده که کل فضای مورد نیازو refresh کرده باشه.

- حالا فرض کن برای کل lcd شما اگر بخواد از رام استفاده کنه عددشو خودت حساب کردی دیگه :mrgreen:
- میمونه یه نکته، شما نمیتونی بگی خوب اصلا به من چه،سرعت بالاتر نخواستم رام 5 کیلو، اصن صفر...
هرچی تعداد المان تو صفحه بیشتر بشه emwin برای نمایششون به رام بیشتری نیاز داره، هر المان یک مفدار از فضای رام رو به عنوان پشته خودش استفاده میکنه، هرچی المان گرافیکی تر و پیچیده تر باشه (مثلا graph یا listwheel) پشته بیشتری نیاز داره.
توضیحات شما کاملا درست اما نمی تونه باعث این بشه که فقط یک کامپوننت نمایش بده، مگر اینکه اونقدر المان زیادشه که ارر استک اورفلو می ده و چون این ارر نداریم پس اندازه استک به اندازه کافی است.
ضمنا باید تصویر نمایش بده اما در زمان بیشتر حتی با رام 5 کیلو.
تو emwin تابعی است که فقط بشه یک قست از تصویر را به یک قست السیدی یا رام نگاشت کنه؟

sjafarim
14-02-2014, 15:22
مقدار رامو زیاد کردی؟درست نشد؟
ربطی به stack overflow نداره، emwin اصلا همچین اروری هیچوقت نمیده، چون رامش موقع کامپایل اختصاص داده میشه ولی استفاده نمیشه که بخواد همچین اروری بده.
برای اینکه بتونی رو تصویر همچین تغییراتی داشته باشی هم از مموری دیوایس باید استفاده کنید که قبلا بحث شده تا حدودی.

** چرا میتونه باعث بشه که المان ها نصفه یا کم نمایش داده بشن. مثلا فرض کن 5 تا listwheel با همون افکت ترنسپرنت که تو منوال عکسش هست، تو صفحه داشتی باشی. اگر رام رو از یه حدی کمتر کنی افکت ترنسپرنت به سیاه معمولی تبدیل میشه؛ کمتر که کنی اعداد محو میشن؛ بازم که کمتر کنی خود list wheel ها محو میشن!

hmrasa
14-02-2014, 15:42
مقدار رامو زیاد کردی؟درست نشد؟
ربطی به stack overflow نداره، emwin اصلا همچین اروری هیچوقت نمیده، چون رامش موقع کامپایل اختصاص داده میشه ولی استفاده نمیشه که بخواد همچین اروری بده.
برای اینکه بتونی رو تصویر همچین تغییراتی داشته باشی هم از مموری دیوایس باید استفاده کنید که قبلا بحث شده تا حدودی.

** چرا میتونه باعث بشه که المان ها نصفه یا کم نمایش داده بشن. مثلا فرض کن 5 تا listwheel با همون افکت ترنسپرنت که تو منوال عکسش هست، تو صفحه داشتی باشی. اگر رام رو از یه حدی کمتر کنی افکت ترنسپرنت به سیاه معمولی تبدیل میشه؛ کمتر که کنی اعداد محو میشن؛ بازم که کمتر کنی خود list wheel ها محو میشن!
با زیاد شدن رام هم درست نشد.
الان باید برم مسافرت، تا فردا به اینترنت دسترسی ندارم. اما از فردا پیگری می کنم و نتیجه به شما اعلام می کنم.
ممنون که با حوصله و تامل در بحث شرکت می کنید.

mostafazaker
15-02-2014, 10:43
سلام
من میخوام توی پروژم چند تا صفحه داشته باشم.صفحات رو طراحی کردم و در پروژه قرار دادم برای نمایش از دستور WM_SetFocus(_hDlg); استفاده کردم به صفحه دوم منتقل میشه در صفحه دوم با این دستور صفحه قبل رو یاد داشت میکنم_hPrevWin = WM_GetFocussedWindow(); و برای بازگشت از این دستور استفاده میکنمWM_SetFocus(_hPrevWin); ولی به صفحه اول برنمیگرده.
لطفا راهنمایی نمایید.
ممنون

sjafarim
15-02-2014, 11:24
دستور های WM_SelectWindow و WM_BringToTop و در نهایت
WM_SetFocus رو به ترتیب وارد کنید.

mostafazaker
15-02-2014, 12:08
دستور های WM_SelectWindow و WM_BringToTop و در نهایت
WM_SetFocus رو به ترتیب وارد کنید.

جواب نداد.طبق مثال خودش هم رفتم بازم نشد.

mostafazaker
15-02-2014, 12:13
از این دستور استفاده کردم جواب داد.WM_HideWindow (_hDlg);
به نظرتون مشکلی به وجود نمیاره.مثلا باعث کند شدن برنامه بشه.

mansoory
15-02-2014, 12:58
از این دستور استفاده کردم جواب داد.WM_HideWindow (_hDlg);
به نظرتون مشکلی به وجود نمیاره.مثلا باعث کند شدن برنامه بشه.
اون پنجره همچنان در حافظه باقی می مونه و در 1768 موجب کاهش سرعت emwin و هنگ شدنش میشه.
بهتره اگه لازمش ندارید delete کنید و بعدن دوباره که لازم شد create کنید.

sjafarim
15-02-2014, 12:59
مشکل که نداره، ولی اینجوری تمام ویندوز هات باز میمونن تو مموری و کند میکنن سیستمو، در اصل بهتره هر پیجیو میخوای نمایش بدی پیج قبلیو ببندی و بری به ویندوز جدید، وقتی هم که خواستی برگردی به قبلی دوباره اونو بسازی و اونی که توشیو پاک کنی. من همیشه اینجوری ویندوز عوض میکنم.

mansoory
15-02-2014, 13:16
اقایون کسی فونت فارسی برای emwin درست نکرده اپ کنه ما هم استفاده کنیم
تو پستهای قبلی فکر کنم باشه
آقای رییسی درست کرده

mostafazaker
15-02-2014, 18:11
یه سوال در مورد شبیه ساز دارم.
یه فایل راهنما دیدم ولی نمیدونم چرا با ویژوال استودیو 2008 باز نمیشه.روی ویژوال استودیو c++ هم نصب کردم.
ولی فایل Simulation.sln رو که باهاش باز میکنم خطا میده.
چجوری بازش کنم؟؟
ممنون

sjafarim
15-02-2014, 18:46
چه خطایی میده؟
تو حالت debug ران کنید تو ویژوال استودیو.

mostafazaker
15-02-2014, 20:40
چه خطایی میده؟
تو حالت debug ران کنید تو ویژوال استودیو.
فایل Simulation.sln رو که توی ویژوال استودیو 2008 باز میکنم این خطا رو میده.
7248

sjafarim
15-02-2014, 20:57
برای اینکه بتونی با visual stdio 2008 کارکنی از فایل SimulationTrial.dsp استفاده کن، بعد کا بازش کردی از تو solution expelorer قسمت application هرچی فایل توشه پاک کن بعد فایل پروژه خودت و هر فایلی که نیاز داره (اعم از فونت و ...) رو درگ کن و بریز تو شاخه application.
بعد در حالت debug ازقسمت build گزینه rebuild solution رو بزن.
کارش که تموم شد برو تو فولدر exe و فایل GUISimulationDebug.exe رو اجرا کن.

spider
16-02-2014, 17:26
سلام آقای منصوری این پروزه ای که با ssd1963 ال سی دی راه اندازی شد لطفا یه نگاه بندازید مرسی
You can see links before reply

mansoory
17-02-2014, 09:24
سلام آقای منصوری این پروزه ای که با ssd1963 ال سی دی راه اندازی شد لطفا یه نگاه بندازید مرسی
You can see links before reply

فایل ضمیمه رو چک بفرمایین.
SSD1963 درایورش GUI_FLEX_COLOR و پارامتر SetFunc هم GUIDRV_FLEXCOLOR_F66720, GUIDRV_FLEXCOLOR_M16C0B16 است. این رو یکی از دوستان تست کرده و جواب داده.

مسیر اینکلودها درصورتیکه کیل در C:\Keil نصب شده باشه درسته.

arvin2009
18-02-2014, 02:41
من با کالیبراسیون تاچ مشکل دارم.ماکرو های GUI_TOUCH_AD_TOP و.... چطور باید تنظیم بشه.من از adc داخلی استفاده میکنم تاچ و موس خیلی بد کار میکنه.برنامه تست تاچ رو که میریزم + حرکت میکنه ولی نه اونجایی که من دست میزارم.خیلی بد کار میکنه.خود adc هم نیز داره موس پرش داره.ماکروهای بالا و پاین منظور وسط ال سی دی هست یا گوشه.من قیل از کالیبره شدن مقدار این ماکرو ها رو دستی با همون برنامه تست در میارم بعد میزارم جلوی این ماکروها و تابع کالیبراسیون رو اجرا میکنم.+به حرکت در میاد ولی تاچ تنظیم نیست.کسی میتونه کمک کنه

mansoory
18-02-2014, 09:30
من با کالیبراسیون تاچ مشکل دارم.ماکرو های GUI_TOUCH_AD_TOP و.... چطور باید تنظیم بشه.من از adc داخلی استفاده میکنم تاچ و موس خیلی بد کار میکنه.برنامه تست تاچ رو که میریزم + حرکت میکنه ولی نه اونجایی که من دست میزارم.خیلی بد کار میکنه.خود adc هم نیز داره موس پرش داره.ماکروهای بالا و پاین منظور وسط ال سی دی هست یا گوشه.من قیل از کالیبره شدن مقدار این ماکرو ها رو دستی با همون برنامه تست در میارم بعد میزارم جلوی این ماکروها و تابع کالیبراسیون رو اجرا میکنم.+به حرکت در میاد ولی تاچ تنظیم نیست.کسی میتونه کمک کنه
تعداد نمونه گیری رو افزایش بدین و میانگین بگیرید.
توجه داشته باشید که عملکرد تاچ خطی نیست. خصوصا در السیدیهای بزرگ. اون مقاله رو خوندید؟

arvin2009
18-02-2014, 11:00
نه نخوندم .حالا لرزش رو یکاریش میکنم اینکه تاچ هماهتگ نیست و + روی یک قسمت حرکت میکنه چیه.عدد درست برای اون ماکرو های top و bottom و.. رو از کجا بیارم.

mansoory
18-02-2014, 11:58
توضیحاتی که درباره تاچ دادم رو مطالعه بفرمایید. نیازی به اون ماکروها نیست اصلا.
اون ماکروها در تابع GUI_Touch_Calibrate استفاده میشه. همونطور که قبلا توضیح دادم استفاده از این تابع موجب اینجور مشکلات میشه.

arvin2009
18-02-2014, 13:31
میشه بگید کدام یکی توضیح.نوشته خودتون هست که گفتید با این روش احتیاج به کلیبراسیون دستی نیست.فقط یک روش اول داره که از اون استفاده نکردم.تا این تابع نیاد موس حرکت نمیکنه.اگه امکان داره بگیذ کدوم صفحه.یجا نوشتید این کار رو کنید یجا دیگه اون گفته رو نقض کردید و راهکار دیگه دادید

mansoory
18-02-2014, 17:51
پست 200 و 201 رو ببینید.
دو روش توضیح دادم. پست 200 روشی است که در اون مقادیر کالیبره شده تاچ به emwin ارسال میشه و مسوولیت کالیبره کردنش باشماست.
روش دوم از تابع ساده کالیبراسیون emwin استفاده می کنه که در اینصورت باید مقادیر ماکرو ها رو به همون ترتیبی که درپست اخیرتون اشاره کردید بهش معرفی کنید. این روش خیلی دقیق نخواهد بود. در این روش دقت کنید که به تابع touch_task با اوش شرحی که در پست 200 داده شد نیاز نیست. فقط یه تسک باید باشه که GUI_Touch_Exec رو مدام اجرا کنه. در این روش که درپست 201 گفتم شما باید مقادیر خوانده شده از a/d برای هر محور در توابع Measure_X و Measure_Y بدین
موفق باشید

arvin2009
18-02-2014, 22:36
با روش اول OK شد ولی محور X بصورت معکوس کار میکنه.البته Y هم همین شکل بود تو ی تابع جای X,Y رو عوض کردم.Y درست شد ولی X عکس عمل میکنه.جالب تابع
GUI_TOUCH_SetOrientation(GUI_MIRROR_X|GUI_MIRROR_Y ); هیچ کاری انجام نمیده.من این تابع رو در در تابع LCD_X_Config(void) دارم ولی انگار اجرا نمیشه.چهای متفاوت دیگه هم گذاشتم ولی هیچ تغییری حاصل نشد.مشکل چیه؟قبلا که از روش دوم استفاده میکردم این تابع کار میکرد.جای بخصوصی باید نوشته شود؟
یک مشکل دیگه هم هست به علت دو عدد تاخیر در هدر تاچ سرعت ال سی دی میاد پایین.اگه اون تاخیر ها رو بردارم ADC خوب عمل نمیکنه با این چه کنم

mansoory
19-02-2014, 09:08
با روش اول OK شد ولی محور X بصورت معکوس کار میکنه.البته Y هم همین شکل بود تو ی تابع جای X,Y رو عوض کردم.Y درست شد ولی X عکس عمل میکنه.جالب تابع
GUI_TOUCH_SetOrientation(GUI_MIRROR_X|GUI_MIRROR_Y ); هیچ کاری انجام نمیده.من این تابع رو در در تابع LCD_X_Config(void) دارم ولی انگار اجرا نمیشه.چهای متفاوت دیگه هم گذاشتم ولی هیچ تغییری حاصل نشد.مشکل چیه؟قبلا که از روش دوم استفاده میکردم این تابع کار میکرد.جای بخصوصی باید نوشته شود؟
یک مشکل دیگه هم هست به علت دو عدد تاخیر در هدر تاچ سرعت ال سی دی میاد پایین.اگه اون تاخیر ها رو بردارم ADC خوب عمل نمیکنه با این چه کنم
تابعی که جهت محورهای تاچ رو برمیگردونه در روش دوم کارمیکنه.
شما از روش اول استفاده کردید که من هم پیشنهادم همینه. در این روش باید مقادیرa/d تاچ رو باتوجه به ابعاد تاچ کالیبره کنیم . احتمالا در اینجا یه مشکلی هست که x رو برعکس میفرسته. GUI_Set_TouchState فقط مقادیر x, y رو به قسمت PID میفرسته. کاری با جهتش نداره و چون مستقیما این کار رو میکنه یحتمل، توابع SetOrientation هم روش تاثیر نداره. البته این رو من تست نکردم.
یکبار دیگه کالیبراسیون رو چک کنید اگه نشد این کار رو انجام بدین:
x= GUI_TOUCH_RIGH-x;
که در اون GUI_TOUCH_RIGHT مقدار ماکزیمم مختصات x سمت راست تاچ است

sjafarim
19-02-2014, 11:33
یک مشکل دیگه هم هست به علت دو عدد تاخیر در هدر تاچ سرعت ال سی دی میاد پایین.اگه اون تاخیر ها رو بردارم ADC خوب عمل نمیکنه با این چه کنم
دقیقا یکی از مشکلات استفاده از adc خود میکرو برای تاچ همینه، بهتره از xpt استفاده کنید...

arvin2009
19-02-2014, 12:49
مشکل با اضافه کردن x= 319-x; حل شد.تاخیر نمونه برداری هم تا حد زیادی کم کردم سرعت رفرش هم بالاتر رفت ولی نه به اون حدی که اول بود.با استفاده از روش اول لرزش موس نیز از بین رفت.مرسی از همکی .حالا اگه بخوام باتون ها رو ربط بدم به سخت افزار باید کدوم بخش رو مطالعه کنم.مثلا با زدن یک باتون یک led بشه یا پیشرفته تر مقدار adc رو با نمودار روی یک ویندوز نشون بدم

elahe11556
19-02-2014, 12:53
خواهش میکنم.
ولتاژ lcd باید 2.8 باشه، اینو که رعایت میکنی؟
من فکر کنم مشکل از delay های زیاد استفاده شده در کتابخانه lcd ایتون باشه (delay زیاد باعث هنگ کردن emwin میشه). delay هارو کم کنید. اون تابع wait که اسمبلی نوشته شده رو asm اولشو بردارید، داخلشم به جای اونایی که توشه یه for شمارش 0 تا10 بذارید.
در کل delay هارو کم کنید امتحان کنید رو همون پروژه که فرستادم.

شما امتحان کنید...
تو همون پروژه لایبرری های lcd سالم که دارید جایگزین اون لایبرری کنید درست میشه. مشکل از همونه...



آقای جعفری من کاری که گفتید رو انجام دادم. نشد. این فایل های ال سیدیم هست که نتونستم با emwin راهش بندازم هر کاری می کنم. بردم هم مال شرکت کویر هست..

elahe11556
19-02-2014, 13:54
اخیرا ghorban-piriz یه پست گذاشته و پروژه اش رو آپ کرده. فکر کنم از برد شما داشت

بله دیدم و امتحان کردم اما متاسفانه جواب نداد...


سلام
من اصلا از جزئیات مشکل شما چیزی یادم نمیاد، تا 10 صفحه قبل هم عقب رفتم ولی چیزی پیدا نکردم...

آخرین فعالیتم تو صفحه ی 61 بوده چون
من برد کویر رو دارم و متاسفانه با وجود اینکه چند بار از اول این تاپیکو خوندم نتونستم emwin رو روش راه بندازم. lpc1768 و ssd1289 هست میکرو و السیدیم

mzelecom
19-02-2014, 16:52
سلام
من طبق گفته های شما برای تغییر ویندوز از WM_DeleteWindow استفاده میکنم..لی اگر 3 تا 4 بین پنجره ها سوئیچ کنم قفل میکنه.
به نظرتون مشکل از کجاست.حلقه while رو کجا باید بزارم.

sjafarim
19-02-2014, 18:43
اقای ds عزیز عجب پشتکاری داری.منم مثل شما برد اموزشی همسایه رو دارم و فایل اقای جعفری رو تست کردم ولی برفک بود.حالا دوتا فایل براتن میفرستم جایگذین فایلهای ssd1289 کن کارت حل میشه.موفق باشی
lcd conf رو دوباره تنظیم کردم جای فایل هم نام در پروژه اقای جعفری قرار بدید و باقی رو بریزید توی پوشه دایور و اونا رو پاک کنید و سه فایل دید رو به پروژه اد کنید
تو این پست این قضیه به نتیجه رسیده، فایل درایوری که من تو اون پروژه برای آقای d.s آپ کردم استفاده کرده بودم از فایل های خودشون بود و ظاهرا مشکل داشته و با جایگزین کردن درایور آقای عربعامری تو همون پروژه درست میشه.تست کنید.

* پست شماره 633 صفحه 64 .

sjafarim
19-02-2014, 18:47
سلام
من طبق گفته های شما برای تغییر ویندوز از WM_DeleteWindow استفاده میکنم..لی اگر 3 تا 4 بین پنجره ها سوئیچ کنم قفل میکنه.
به نظرتون مشکل از کجاست.حلقه while رو کجا باید بزارم.
اگر از deletewindows داری برا سوییچ استفاده میکنی وقتی اون ویندوزی که بستیو می خوای مجدد باز کنی باید دوباره create اش کنی چون از بین رفته و هندل نداره.

mzelecom
19-02-2014, 21:59
اگر از deletewindows داری برا سوییچ استفاده میکنی وقتی اون ویندوزی که بستیو می خوای مجدد باز کنی باید دوباره create اش کنی چون از بین رفته و هندل نداره.
من همین کار رو میکنم ولی برای بار سوم که میخوام وارد همون ویندوز بشم قفل میکنه و دیگه کار نمیکنه.

آقا مثل اینکه مشکلش از حلقه while هست .این حلقه رو من کجا بزارم؟؟
من در حلقه while میخوام ساعت رو هم بروز کنم.روش دیگه ای وجود نداره که این کار رو بکنم.

mansoory
20-02-2014, 08:59
آقا مثل اینکه مشکلش از حلقه while هست .این حلقه رو من کجا بزارم؟؟
من در حلقه while میخوام ساعت رو هم بروز کنم.روش دیگه ای وجود نداره که این کار رو بکنم.

چجوری ساعت رو به روز می کنی؟ آیا یه editbox رو آپدیت می کنی؟

mzelecom
20-02-2014, 09:46
چجوری ساعت رو به روز می کنی؟ آیا یه editbox رو آپدیت می کنی؟
توی پیج اصلیم یه حلقه while گذاشتم اونجا ساعت رو میخونم و بعد میریزمش توی textbox .اولش مشکلی نداره ولی وقتی 2 یا 3 بار به یه صفحه دیگه میرم و برمیگردم قفل میکنه.حلقه while رو که بردم به صفحه ای که درونش MainTask(); صدا زده میشه بردم و ساعت رو حذف کردم قفل نکرد.اینم بگم توی حالت قبل اگه ساعت هم نشون نمیدادم باز قفل میشد.برای همین میگم مشکل از حلقه while هست.

مشکلم حل شد.
فقط یه سوال دیگه بورد من coreboard هست با lcd 7 اینچ .نور صفحه کم هست تاریک هست.نور صفحه رو میشه زیاد کرد یا نه؟؟
امکان داره مشکل از lcd باشه.؟؟

ParvizB
20-02-2014, 15:56
سلام به همه دوستان
خانوم elahe11556
این فایلی رو که ضمیمه کردم امتحان کنید اگه کار کرد اطلاع بدید


NXP_emWin514_MCB1700 FOR MDK.rar - 3.0 MB (You can see links before reply)

arvin2009
20-02-2014, 17:48
دوستان بد نیست وقتی ده تا پست برای مشکلشون میزنن وقتی به نتیجه میرسند علت مشکل رو بنویسند.زشته بخدا با دوتا یوزر وارد بشی با هر یوزر یک سوال بپرسی اطلاعات بگیری ولی اطلاعات ندی.اگه هم نمیخوان بگن لطف کنن پستای قبلیشون رو پاک کنند تا انقدر حجم تاپیک بیخودی زیاد نشه

sjafarim
20-02-2014, 19:59
مشکلم حل شد.
فقط یه سوال دیگه بورد من coreboard هست با lcd 7 اینچ .نور صفحه کم هست تاریک هست.نور صفحه رو میشه زیاد کرد یا نه؟؟
امکان داره مشکل از lcd باشه.؟؟
با چی بک لایتو درایو کردی؟ حتما واسه این lcd از ic درایور های بک لایت استفاده کن و طبق تعداد led ها و چینش موازی یا سریشون مدار فیدبک درایور بک لایتو مقدار دهی کن...

mzelecom
20-02-2014, 22:12
با چی بک لایتو درایو کردی؟ حتما واسه این lcd از ic درایور های بک لایت استفاده کن و طبق تعداد led ها و چینش موازی یا سریشون مدار فیدبک درایور بک لایتو مقدار دهی کن...
نه من خود lcd رو مستقیم زدم به پین های coreboard چون خودش پین lcd بهش وصل میشه.حالا چجوری باید درایور براش بزارم.

mzelecom
20-02-2014, 22:21
دوستان بد نیست وقتی ده تا پست برای مشکلشون میزنن وقتی به نتیجه میرسند علت مشکل رو بنویسند.زشته بخدا با دوتا یوزر وارد بشی با هر یوزر یک سوال بپرسی اطلاعات بگیری ولی اطلاعات ندی.اگه هم نمیخوان بگن لطف کنن پستای قبلیشون رو پاک کنند تا انقدر حجم تاپیک بیخودی زیاد نشه
مشکلم این بود که چندتا حلقه while داشتم.و برنامه قفل میکرد برای همین فقط یک حلقه while گذاشتم که درست شد.

sjafarim
21-02-2014, 01:51
نه من خود lcd رو مستقیم زدم به پین های coreboard چون خودش پین lcd بهش وصل میشه.حالا چجوری باید درایور براش بزارم.
رو خودش درایور بک لایت داره coreboard، فقط میتونی از تو دیتاشیت lcd ایت نگاه کنی بگی بک لایتش چند تا led و با چه آرایشی هست؟

ParvizB
21-02-2014, 06:42
سلام به همگی
1-آقای منصوری من برای راه اندازی تاچ از روش دوم شما استفاده کردم و تغییراتی که گفته بودید رو در داخل فایل main.c انجام دادم.الان پروژه کامپایل میشه ولی صفحه سفید میمونه.با دیباگ خط به خط اجرای تابع در MainTask قفل میشه و اگه MainTask رو پایین قرار بدم و os_sys_init بالا باشه در os_sys_init قفل میشه.اگه شما یا دوستان دیگه راهنمایی کنید ممنون میشم که بتونیم تاچ این برد Land Tiger رو با emwin راه اندازی کنیم که دیگران هم استفاده کنن.

2-من کوچکتر از اونم که بخوام نظری بدم ولی به نظرم اگه یه جایی باشه برای اینکه دوستان حاصل کارشون رو اونجا قرار بدن خیلی خوب میشه.الان 80 صفحه از شروع تاپیک گذشته ولی هنوز تازه کارایی مثل من درگیر ال سی دی و تاچ هستن.دوست خوبم آقای ARVIN2009فایل راه اندازی ال سی دی و تاچ برد سایت همسایه رو درست کرده و قرار داده برای استفاده بچه ها که خیلی خوبه.آقای منصوری که با ترجمه ها,آموزش ها ,جواب دادن به سوالات و... باعث دلگرمی همه هستن و کارهای دوستان دیگه اگه یه جا جمع بشه باعث میشه بچه های تازه وارد گم نشن تو این تاپیکها.مثلا من نوعی اگه بخوام شروع کنم کار با 1788 رو باید باز هم چندین بار این 80صفحه رو بالا پایین کنم تا با هزار بدبختی بتونم تاچ و ال سی دی رو راه بندازم.این بخیل بودن بعضیا خیلی بده,تو خیلی جاهای این بخش دیده میشه,جالب هم اینجاست که وقتی به نتیجه ای میرسن انگار کشف بزرگی کردن که ارزشش خیلی زیاده.آخه emwin هم همچین چیز خاصی نیست که ارزش این کارارو داشته باشه.اونی که واقعا سوالی داشته باشه بالاخره به جوابش میرسه,اگه دوستان کمک کنن که اگه احیانا بخشی رو ترجمه کردن یا ال سی دی خاصی رو راه اندازی کردن یا پروژه ی خوبی دارن که کمک میکنه به بقیه با جزییات کامل یک جا جمع کنیم تا از اتلاف وقت دوستان خودمون جلوگیری کنیم وemwin رو به سرانجامی برسونیم و در آینده استارت بزنیم برای کارهای حرفه ای تر.بازم ببخشید ببخشید ببخشید اگه پر حرفی کردم

emWin FOR Land tiger.rar - 7.3 MB (You can see links before reply)

mzelecom
21-02-2014, 18:22
رو خودش درایور بک لایت داره coreboard، فقط میتونی از تو دیتاشیت lcd ایت نگاه کنی بگی بک لایتش چند تا led و با چه آرایشی هست؟
این عکس رو از دیتاشیت گرفتم.

sjafarim
21-02-2014, 19:35
خوب حالا یکی از دو تا ای سی که تو عکسا مشخص کردم باید درایور بک لایتت باشه، پارت نامبرشونو بگو...
شما هر شاخه از led هات باید 18 میلی آمپر برای یک نور نسبتا زیاد جریان بکشه، یعنی میشه 36 میلی آمپر در کل که باید مقاومت فیدبک مدار رو برای این مقدار اصلاح کنی...

arvin2009
21-02-2014, 20:44
اینم پروزه کامل emwin با سیستم عامل rtx که میتونید از لینک زیر دانلود کنید.البته این پروزه برای برد اموزشی همسایه هست.

You can see links before reply

mzelecom
21-02-2014, 23:12
اینم پروزه کامل emwin با سیستم عامل rtx که میتونید از لینک زیر دانلود کنید.البته این پروزه برای برد اموزشی همسایه هست.

You can see links before reply
ممنون .ولی از این خط ها ارور گرفت.

arvin2009
21-02-2014, 23:28
من که چیزی نمیبینم از عکسی که گداشتی.این rtx_config.c رو دوباره از سیستم خودت اد کن
توی قسمت تورگت اپشن در لبه target باید در قسمت اپریشن سیستم rtx انتخاب شده باشه.ببین درسته

sjafarim
22-02-2014, 00:27
ممنون .ولی از این خط ها ارور گرفت.
بیخیال بک لایت lcd ایت شدی؟!

ParvizB
22-02-2014, 04:08
سلام به همه
آقای منصوری مارو دریاب,تو پروژه قبلی که چند تا پست قبل گذاشته بودم اشتباهات وحشتناکی داشتم ولی الان روش اول و دوم و rtxو... همه رو تو فایل main قاطی کردم و با وجود اینکه بدون خطا کامپایل میشه و خود emwin راه میوفته ولی تاچ کار نمیکنه دیگه نمیدونم باید چیکار کنم , اگه ممکنه راهنماییم کنید که تاچش راه بیوفته تا پروژه رو برای استفاده دوستان آپ کنم.با تشکر

NXP_emWin514_MCB1700_BSP.rar - 3.2 MB (You can see links before reply)

mzelecom
22-02-2014, 10:57
بیخیال بک لایت lcd ایت شدی؟!
نه بیخیال نشدم .coreboard دستم نبود.
نگاه کردم همون آیسی عکس دوم هست.روش نوشته yl53. من گشتم اسم اصلی آیسی این هست.ln2118.طبق دیتاشیت مقاومت rled رو به نظرم باید عوض کنم.
این آیسی هم هست.RT9293
ولتاژ 2 سر مقاومت رو اندازه گرفتم 280 میلی ولت هست و خود مقاومت 10 اهم پس الان 28 میلی آمپر داره از مقاومت میگذره.طبق گفته شما باید این مقاومت رو کم کنم.چقدر بزارم بهتره؟

kamikazi
22-02-2014, 11:08
نه بیخیال نشدم .coreboard دستم نبود.
نگاه کردم همون آیسی عکس دوم هست.روش نوشته yl53. من گشتم اسم اصلی آیسی این هست.ln2118.طبق دیتاشیت مقاومت rled رو به نظرم باید عوض کنم.

سلام مهندس یه مقاومت فیدبک فکر کنم 10 اهم (r21) داره اونو دربیار و یه مقاومت 2.7 اهم بزار نورش چند برابر میشه کلا کار این مقامت کنترل جریان خروجی هستش و قانون اهم براش صادق هستش ولتاژ فیدبک که ثابته و با تغییر مقاومت و کم کردن اون جریان خروجی بیشتر میشه بهترین گزینه همون مقاومت 2.7 اهم و یا یک اهم هستش یه موقع نری صفر اهم بزاری بردت بره رو هوا؟؟

sjafarim
22-02-2014, 11:46
خودشه، میشه مقاومتی که به پایه شماره 3 آی سی وصله...
yl53 اون 5 اش نشون دهنده ولتاژ پایه فیدبک هست. که طبق جدول بین 0.25 تا 1.25 هست.
فرمولشم که که معلومه.
هرچی مقاومتو کمتر کنی جریان بیشتر میشه.
حالا نهایت شما 2 تا شاخه 20 میلی آمپر هم بگیری میشه 40 میل. (تو دیتا شیت ماکزیمم 20 میل نوشته)
اگر در بدترین حالت 0.25 رو برای ولتاژ فیدبک در نظر بگیری و جریان کل رو 0.04 آمپر، مقاومت فیدبکت نباید از 6.25 اهم کمتر باشه.
کمتر بذاری عمر بک لایتت کم میشه...

mansoory
22-02-2014, 16:29
سلام به همگی
1-آقای منصوری من برای راه اندازی تاچ از روش دوم شما استفاده کردم و تغییراتی که گفته بودید رو در داخل فایل main.c انجام دادم.الان پروژه کامپایل میشه ولی صفحه سفید میمونه.با دیباگ خط به خط اجرای تابع در MainTask قفل میشه و اگه MainTask رو پایین قرار بدم و os_sys_init بالا باشه در os_sys_init قفل میشه.اگه شما یا دوستان دیگه راهنمایی کنید ممنون میشم که بتونیم تاچ این برد Land Tiger رو با emwin راه اندازی کنیم که دیگران هم استفاده کنن.

2-من کوچکتر از اونم که بخوام نظری بدم ولی به نظرم اگه یه جایی باشه برای اینکه دوستان حاصل کارشون رو اونجا قرار بدن خیلی خوب میشه.الان 80 صفحه از شروع تاپیک گذشته ولی هنوز تازه کارایی مثل من درگیر ال سی دی و تاچ هستن.دوست خوبم آقای ARVIN2009فایل راه اندازی ال سی دی و تاچ برد سایت همسایه رو درست کرده و قرار داده برای استفاده بچه ها که خیلی خوبه.آقای منصوری که با ترجمه ها,آموزش ها ,جواب دادن به سوالات و... باعث دلگرمی همه هستن و کارهای دوستان دیگه اگه یه جا جمع بشه باعث میشه بچه های تازه وارد گم نشن تو این تاپیکها.مثلا من نوعی اگه بخوام شروع کنم کار با 1788 رو باید باز هم چندین بار این 80صفحه رو بالا پایین کنم تا با هزار بدبختی بتونم تاچ و ال سی دی رو راه بندازم.این بخیل بودن بعضیا خیلی بده,تو خیلی جاهای این بخش دیده میشه,جالب هم اینجاست که وقتی به نتیجه ای میرسن انگار کشف بزرگی کردن که ارزشش خیلی زیاده.آخه emwin هم همچین چیز خاصی نیست که ارزش این کارارو داشته باشه.اونی که واقعا سوالی داشته باشه بالاخره به جوابش میرسه,اگه دوستان کمک کنن که اگه احیانا بخشی رو ترجمه کردن یا ال سی دی خاصی رو راه اندازی کردن یا پروژه ی خوبی دارن که کمک میکنه به بقیه با جزییات کامل یک جا جمع کنیم تا از اتلاف وقت دوستان خودمون جلوگیری کنیم وemwin رو به سرانجامی برسونیم و در آینده استارت بزنیم برای کارهای حرفه ای تر.بازم ببخشید ببخشید ببخشید اگه پر حرفی کردم

emWin FOR Land tiger.rar - 7.3 MB (You can see links before reply)
حافظه stack تسک ها رو توی تنظیمات فایل RTX_Config.c زیاد کنید. ضمنا تعداد تسکها رو هم زیاد کنید. (فکر کنم حداقل6تا تسک با حافظه 2048 لازم باشه) یا اینکه task-user درست کنید و در اون حافظه stack تسکی که gui_exec رو اجرا میکنه بالا در نظر بگیرید...

صحبتی با دوستان:
من دیگه کم آوردم و نمیتونم ادامه بدم. متاسفانه دیگه تمرکز ندارم. امیدوارم من رو ببخشید. شب عید شد و دست ما تو حنا...
فعلا خداحافظ

arvin2009
23-02-2014, 15:05
اقایونی که با پروژه RTX که بالا گداشتم مشکل دارن .پروزه را دوباره اپ کردم و ارور ها رو برطرف کردم فقط یک ارور در خط 52 فایل RTX_lib وجود دارد که علت تعریف نشدن ان ماکرو هست به جای ان عدد 4 رو بگدارید مشکل حل میشود
You can see links before reply

D.S
24-02-2014, 12:09
اقا اروین متشکرم.بالاخره برای من هم راه افتاد.همه تو این مورد مشکل داشتن و نمتونستن بدون خطا درستش کنند

5112100080
25-02-2014, 11:41
سلام دوستان
من تو کیل یک پروژه درست کردم
حالا ارور زیرو میده کسی میدونه این مشکل چه جوری حل کنم
(پروژه از فایل های emwin استفاده می کنم )
error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.

elahe11556
25-02-2014, 12:10
سلام به همه دوستان
خانوم elahe11556
این فایلی رو که ضمیمه کردم امتحان کنید اگه کار کرد اطلاع بدید


NXP_emWin514_MCB1700 FOR MDK.rar - 3.0 MB (You can see links before reply)

سلام. خیلی لطف کردید
البته هنوز موفق به دانلودش نشدم. اما امتحان کردم نتیجه رو خبر می دم حتمن
متاسفانه من به صورت پیوسته نمی تونم رو این برنامه وقت بذارم. اما کارم گیرشه واقعن و باید حتمن راهش بندازم و تا این لحظه که نتونستم

elahe11556
26-02-2014, 14:58
سلام به همه
آقای منصوری مارو دریاب,تو پروژه قبلی که چند تا پست قبل گذاشته بودم اشتباهات وحشتناکی داشتم ولی الان روش اول و دوم و rtxو... همه رو تو فایل main قاطی کردم و با وجود اینکه بدون خطا کامپایل میشه و خود emwin راه میوفته ولی تاچ کار نمیکنه دیگه نمیدونم باید چیکار کنم , اگه ممکنه راهنماییم کنید که تاچش راه بیوفته تا پروژه رو برای استفاده دوستان آپ کنم.با تشکر

NXP_emWin514_MCB1700_BSP.rar - 3.2 MB (You can see links before reply)

دستتون درد نکنه. یک دنیا ممنون. السیدیم بالاخره راه افتاد با این فایلتون . خیلی لطف کردید.
دیگه میخواستم خود کشی کنم!:0013:

پ.ن. متوجه شدم که به جای کد:

PortAPI.pfWrite16_A0 =LCD_WriteIndex
و
PortAPI.pfWrite16_A1 =LCD_WriteData

برعکس می نوشتم:
PortAPI.pfWrite16_A0=LCD_WriteData
و
PortAPI.pfWrite16_A1 =LCD_WriteIndex

که در نمی اومد. تو برنامه ی خودم اینو درست کردم همه چی جواب داد
در هر صورت کلی متشکرم از دوستانی که راهنماییم کردن

D.S
26-02-2014, 19:09
سلام خوشحال شدم.چند روز رو تاچش کار کردم ولی نتیجه ای نداشت الانم فعلا دارم با pdfکلنجار میرم اگه تاچش هم راه افتاد فایل هاشو میذارم تا دوستان هم استفاده کنن
تاچ که کاری نداره.شما بردتون تاچ کنترلر داره؟و میخواید با تایمر اره اندازی کنید؟اگه اینجوریه فایل های تاچ کنترلر رو اد کن و یک تایمر اینتراپت درست کن و فقط در تابع تاچ به اولش این دستور را اضافه کن
res=(LPC_GPIO2->FIOPIN)&(1<<TP_IRQ_PIN_NUM);
if(res==0)
{
x = Read_X();// TBD: Insert function which reads current x value
y = Read_Y();// TBD: Insert function which reads current y value

D.S
26-02-2014, 21:50
کسی با سیستم عامل uC-os کار کرده.برای اجرای مثال های مولتی تسک emWin که با این سیستم عامل هست باید چکار کرد

ParvizB
27-02-2014, 05:37
تاچ که کاری نداره.شما بردتون تاچ کنترلر داره؟و میخواید با تایمر اره اندازی کنید؟اگه اینجوریه فایل های تاچ کنترلر رو اد کن و یک تایمر اینتراپت درست کن و فقط در تابع تاچ به اولش این دستور را اضافه کن
res=(LPC_GPIO2->FIOPIN)&(1<<TP_IRQ_PIN_NUM);
if(res==0)
{
x = Read_X();// TBD: Insert function which reads current x value
y = Read_Y();// TBD: Insert function which reads current y value

الان دارم با هدر برد کار میکنم و درایومم xpt هست,میخوام با rtx انجامش بدم تمام کارها برای راه اندازی تاچ رو تو تابع main انجام دادم.بدون خطا کامپایل میشه و اپلیکیشن های emwin رو نمایش میده ولی تاچ عمل نمیکنه .نمیدونم مشکلش چیه

You can see links before reply

engineer1
27-02-2014, 11:19
دوستان کسی نرم افزارهای مربوطه رو داره مثلا gui builder که یه نرم افزار مهمو کاربردیه برای کار با این کتابخونه؟
من اونو از خود سایت lpcware دان کردم اگر تو پستای قبلی گذاشته نشده و نداریدش بگید تا برا دانلود بزارمش اینجا

D.S
27-02-2014, 11:24
این برنامه ها داخل خود کیل هست.هرکی کیل رو داره تو پوشه مربوطه بسته به ورژن کیل این نرم افزارها رو داره.

abdi_sab
28-02-2014, 00:54
کسی با سیستم عامل uC-os کار کرده.برای اجرای مثال های مولتی تسک emWin که با این سیستم عامل هست باید چکار کرد

من تو ucosIII گرافیک رو آپ کردم اما تو تاچ فعلا مشکلاتی هست.

D.S
28-02-2014, 01:43
من تو ucosIII گرافیک رو آپ کردم اما تو تاچ فعلا مشکلاتی هست.
این سیستم عامل احتیاج به لایسنس داره؟چون میگن لایسنس نیاشه خوب کار نمیکنه و بعد از چند دقیقه قفل میکنه.لینک دانلودش رو میشه بزارید یا پروزه رو اپ کنی من با تاچ مشکلی ندارم میتونم سریع راش بندازم

engineer1
28-02-2014, 22:05
این برنامه ها داخل خود کیل هست.هرکی کیل رو داره تو پوشه مربوطه بسته به ورژن کیل این نرم افزارها رو داره.
مطمئنی؟
پ چرا تو کیل من اینا نبود؟
نمیدونم من که این نرم افزارارو تمامشونو از سایت lpcware دان کردم
خو پ اگه همراه با کیل هس دیگه نیازی نیس آپش کنم

D.S
28-02-2014, 22:24
شما هم دارید برو تو این ادرس
F:\Keil\ARM\Segger\emWin\Tool

dellfogostar
02-03-2014, 16:08
سلام دوستان
من emwin5.22 رو برد landtiger kavir اجرا میکنم بااجرای دستور giu_delay صفحه lcd سیاه میشه
این هم کدشه


GUI_TOUCH_SetDefaultCalibration();
/* _Calibrate upper left */ GUI_SetBkColor(GUI_RED);
GUI_Clear();
GUI_SetColor(GUI_WHITE); GUI_FillCircle(ax[0], ay[0], 10);
GUI_SetColor(GUI_RED); GUI_FillCircle(ax[0], ay[0], 5);
GUI_SetColor(GUI_WHITE);
GUI_DispStringAt("Press here", ax[0]+20, ay[0]);
do {
GUI_PID_STATE State;
GUI_TOUCH_GetState(&State);
if (State.Pressed) {
ax_Phys[0] = GUI_TOUCH_GetxPhys();
ay_Phys[0] = GUI_TOUCH_GetyPhys();
break;
}
GUI_Delay (10);
} while (1);



البته این کد برا uGUI بود که رو سی دی برد هست
و این هم کد MAIN TASK





#include <rtl.h>
#include "GUI.h"
#include "FRAMEWIN.h"
#include <stddef.h>
#include "lpc17xx.h"

#include "touchpanel.h"


#if GUI_OS == 0
#error Multitasking sample requires task awareness (#define GUI_OS 1)
#endif

/************************************************** *****************
*
* Define how to create a task and start multitasking
*
************************************************** ******************

If not using embOS you have to change the hardware
dependent macros to work with your OS

*/

#ifndef WIN32
#include <RTL.h> /* Definitions for embOS */
// #define OS_CREATETASK(pTCB, pName, pFunc, Priority, pStack)





// #define CREATE_TASK(pTCB, pName, pFunc, Priority, pStack) OS_CREATETASK(pTCB, pName, pFunc, Priority, pStack)
// #define START_MT() OS_Terminate(0)
#define Delay(t) os_dly_wait(t)
#else
#include "SIM.h" /* Definitions for the Win32 simulation */
#define CREATE_TASK(pTCB, pName, pFunc, Priority, pStack) SIM_CreateTask(pName, pFunc)
#define START_MT() SIM_Start()
#define Delay(t) SIM_Delay(t)
#endif

/************************************************** *****************
*
* Static data
*
************************************************** ******************
*/
#ifndef WIN32
/* Stacks */
// static OS_STACKPTR int Stack_0[600];
// static OS_STACKPTR int Stack_1[600];
// static OS_STACKPTR int Stack_2[600];
// static OS_TASK aTCB[3]; /* Task control blocks */
#endif

/************************************************** *****************
*
* Static code
*
************************************************** ******************
*/
/************************************************** *****************
*
* _cbCallbackT0
*/
__task void _Task_0(void);
__task void _Task_1(void);
__task void _GUI_Task(void);
__task void rt(void);




/************************************************** *****************
*
* _Task_0
*/
void _Task_0(void) {
/* Create frame window */
//CreateCalculator();
while(1) {
Delay(10);
}
}

/************************************************** *****************
*
* _Task_1
*/
void _Task_1(void) {

TP_Init();
while(1) {
Delay(10);
GUI_TOUCH_Exec ();

}
}


void _GUI_Task(void) {
_ExecCalibration();

while(1) {
GUI_Delay(10);

}
}

OS_TID t_id[7];

static U64 stk3[2000/8];
static U64 stk4[2000/8];
void main(void) {
/* Init GUI */



SystemInit();



os_sys_init(rt);


}

/*************************** End of file ****************************/
void rt(void)
{
WM_SetCreateFlags(WM_CF_MEMDEV);
GUI_Init();

/* Use memory devices on all windows to avoid flicker */
//WM_SetCallback(WM_HBKWIN, _cbBackgroundWin); /* Set callback for background window */




t_id[2]=os_tsk_create_user(_GUI_Task,1,&stk3,sizeof(stk3));
t_id[0]=os_tsk_create(_Task_1,5);
t_id[1]=os_tsk_create_user(_Task_0,5,&stk4,sizeof(stk4));

os_tsk_delete_self();
}

ParvizB
17-03-2014, 04:45
سلام به همه
من تاچ رو برای 1768با XPT راه اندازی کردم ولی موقع لمس تاچ فقط رنگ باتن تغییر میکنه و عمل خواسته شده رو انجام نمیده (در این مثال,بستن پنجره).
هر چقدر هم که با استک ها کلنجار رفتم درست نشد.مورد دوم حجم زیاده برنامه س ,چطوری میتونم از حجم برنامه کم کنم؟
ممنون میشم اگه راهنماییم کنید

emwin & touch with xpt2046.rar - 3.8 MB (You can see links before reply)

Dr.ROOSTA
17-03-2014, 10:39
سلام به همه
من تاچ رو برای 1768با XPT راه اندازی کردم ولی موقع لمس تاچ فقط رنگ باتن تغییر میکنه و عمل خواسته شده رو انجام نمیده (در این مثال,بستن پنجره).
هر چقدر هم که با استک ها کلنجار رفتم درست نشد.مورد دوم حجم زیاده برنامه س ,چطوری میتونم از حجم برنامه کم کنم؟
ممنون میشم اگه راهنماییم کنید

emwin & touch with xpt2046.rar - 3.8 MB (You can see links before reply)
شما از GUIBuilder استفاده میکنید !
شما باید با توجه به نیاز برنامتون هدرهای اضافی رو پاک کنید تا فضای کمتری اشغال بشه . و همچنین میتونید با استفاده از ابزارemWinView به راحتی قبل از ریختن رو برد از حجم برنامتون اطلاع پیداکنید...

ParvizB
24-03-2014, 06:57
سلام دوستان
من میخوام موقع کلیک شدن باتن رنگ اون تغییر کنه چطوری میتونم این کارو انجام بدم
با تشکر





#include "GUI.h"
#include "DIALOG.h"


static const GUI_WIDGET_CREATE_INFO _aDialog[] = {
{ WINDOW_CreateIndirect, "", 0, 0, 0, 260, 200, 0 },
{ TEXT_CreateIndirect, "Dialog", 0, 80, 5, 100, 20, TEXT_CF_HCENTER },
{ BUTTON_CreateIndirect, "Close", GUI_ID_BUTTON0, 70, 70, 100, 100, 0 }
};


static void _cbDialog(WM_MESSAGE *pMsg) {
int NCode;
int Id;
BUTTON_Handle hButton;


switch (pMsg->MsgId) {
case WM_PAINT:
GUI_SetBkColor(GUI_GREEN);
GUI_Clear();
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc); // Id of widget
NCode = pMsg->Data.v; // Notification code
switch (NCode) {
case WM_NOTIFICATION_RELEASED: // React only if released
switch (Id) {
case GUI_ID_BUTTON0:
// GUI_EndDialog(pMsg->hWin, 0);
BUTTON_SetBkColor(hButton, 0, GUI_BLUE);
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}


void MainTask(void) {
GUI_Init();
while(1) {
GUI_DispStringHCenterAt("WIDGET_Window sample\nshows how to use a WINDOW widget", 160, 5);
GUI_ExecDialogBox(_aDialog, GUI_COUNTOF(_aDialog), _cbDialog, WM_HBKWIN, 30, 30);
GUI_Clear();
GUI_DispStringHCenterAt("Dialog has been closed", 160, 5);
GUI_Delay(1000);
GUI_Clear();
}
}

ghorban_piriz
26-03-2014, 18:57
الان فهمیدم!!
شما محتوای edit رو تغییر میدید ولی در ظاهر تا وقتی که پنجره دوباره ترسیم نشه محتویاتش عوض نمیشه. اون edit رو باید invalidate کنید. دستور WM_Invalidate_Window رو امتحان کنید. در صفحه 362 راهنمای ورژن 5.22 میتونید دستورات مشابه رو برای ترسیم مجدد کل پنجره یا قسمتی از اون رو ببینید. با این دستور، پنجره یا قسمتی از اون در لیست اولویت برای ترسیم قرار میگیره و emwin در تیک بعدی سیستم، ناحیه هایی که invalidate شده رو ترسیم مجدد میکنه
موفق باشید
سلام و خسته نباشید
من دقیقا تو یک قسمت موندم من نمی دونم این hwin چیه و چجوری تعریف می شه. من با GUIBuilder کار می کنم الان داخل برنامه ام یه دونه edit دارم با یه روتاری اینکودر مقدار عدد داخل این edit رو می خوام تغییر بدم. برنامه همه چیزش درسته ولی نمی دونم چجوری به ای ام وین حالی کنم که مقدار اون عدد تغییر کرده و دوباره باید مقدار اونو آپدیت کنه. وقتی کل صفحه رو دوباره ترسیم می کنم درست می شه ولی بعد یه کم کار کردن هنگ می کنه. کسی در مورد این تابعی که آقای منصوری گفتن اطلاعاتی داره.؟؟

m-soori
31-03-2014, 01:42
من وقتی یک دیالوگ رو می بندم و دیالوگ دیگری را اجرا می کنم اطلاعات ذخیره شده در دیالوگ قبلی را پاک می کند و وقتی دوباره دیالوگ اولی را اجرا می شود از اول ساخته می شود کسی مشکل رو میدونه ار کجاس؟

mahdiafpr
31-03-2014, 21:12
سلام

آقا من با emWIN رو روی LPC1788 ریختم و با خیلی از Application هاش کار کردم. مشکل من روی نشون دادن عکس های حجیمه! اگر با دستورات MEM_DEVICE کار کنم، به راحتی عکس را از روی NAND FLASH توی بافری در SDRAM، لود می کنم و در انتها یکدفعه نمایشش میدم. اما اگر از ساختارهای GUI Builder استفاده کنم به مشکل بر خورد می کنم.
مشکل اینجاست که رسم تصویر زمینه در Callback انجام میشه و در این تابع دستورات MEM_Device مثل حالت های معمولی جواب نمیده.

هدف من اینه که عکس های مختلف رو در SDRAM، لود کنم تا هر موقع که خواستم به سرعت با دستورات MEM_DEVICE نشونشون بدم. چرا که ترسیم عکس زمان بر است.

mzarkoob
02-04-2014, 03:55
سلام
من به طور کلی این چند روزه کل این تایپیک خوندم و البته کلی ویرایشم کردم که پست های اضافه و تاریخ گذشته حذف بشه و حجم این تایپیک بیاد پایین
الان از 827 پست شد 693 تا ، یعنی حدود 130 تا پست اضافه!
************************************************** *******
در کل تعدادی با بردها و lcd هایی که داشتند راه اندازی کردند و بحث را بردند جلو و تعدادی هنوز نتونستند راه اندازی کنند و ال سی دی شون را به emwin معرفی کنند. هر کی هم یه بردی داره .... خوب تا زمانی که پورت کردن lcd انجام نشده کاری هم نمی شه کرد
در پست ها برای درایور های مختلف راهنمایی شده که چطور کانفیگ انجام بشه ولی پراکنده هست
اگه جمع بشه نتیجه کار یه جا بهتره
در فروشگاه چند برد و TFT lcd هست
برد آموزشی LPC1768 با السیدی 2.8+تاچ اسکرین+ETHERNET و...

You can see links before reply
درایور ال سی دیILI9325
----------------------------------------------------------------------------
برد لندتایگر
NXP ARM LPC1768 DEVBOARD CORTEX-M3+ 3.2"TOUCHSCREEN LCD
You can see links before reply
درایور ال سی دی SSD1289
----------------------------------------------------------------------------
برد وی بی
LPC1768-WB DEVELOPMENT BOARD

SUPPORT TFT 7 (You can see links before reply),
4.3 (You can see links before reply),
5,
3.2 INCH

You can see links before reply
درایور ال سی دی های فروشگاه که به آن متصل می شود SSD1963
----------------------------------------------------------------------------
راه اندازی با lpc1788 و اتصال مستقیم به TFT LCD 4.3 , 5 , 7 اینچ
You can see links before reply
----------------------------------------------------------------------------
راه اندازی با میکرو stm32
--------------------------------------------------------------------------

majidma3000
03-04-2014, 13:59
نحوه نمایش عکس ذخیره شده در حافظه فلش خارجی از طریق emWin :


هنگام برنامه نویسی با emWin بیشترین فضای حافظه میکروکنترلر رو عکس ها می گیرن. مثلا اگه شما از ال سی دی 7 اینچ استفاده کنین و بخوایین یه عکس تمام صفحه با فرمت BMP رو نمایش بدین، نمیتونین این کار رو انجام بدین چون این عکس در حافظه فلش داخلی جا نمیشه مگر اینکه بخوایین از فرمت JPEG استفاده کنین که در این حالت هم در بهترین شرایط فقط میتونین یک عکس رو ذخیری کنین و از اونجایی که عکس JPEG دارای کدگذاری پیچیده ایه سرعت نمایش عکس شما هم پایین میاد. در این مقاله با یه روش ساده به شما میگم که چطوری میشه عکس هاتونو از طریق فلش خارجی نمایش بدین.

اول ببینیم چطوری میشه یه عکس رو از طریق حافظه میکروکنترلر نمایش داد و بعد سراغ نمایش عکس از طریق حافظه فلش خارجی متصل شده به LPC1788 میریم.

مثلا ما می خواییم یه عکس با فرمت JPEG رو نمایش بدیم اول باید اون عکس رو تبدیل به یه آرایه در زبان C بکنیم. برای این کار از نرم افزار bin2hex استفاده میکنیم و بعد از طریق تابع زیر اونو نمایش میدیم.


const char img[]={0x20,0x30,0xfa, ............};

GUI_JPEG_Draw(img,sizeof(img),x,y);


در برنامه بالا ما یه آرایه به اسم img تعریف کردیم که کدهای عکس در اون قرار داره در تابع GUI_JPEG_Draw آدرس عکس و سایز عکس به همراه مختصات دریافت می شود. در واقع img آدرس عکس در حافظه میکرو کنترلره و تابع GUI_JPEG_Draw آدرس عکس رو دریافت میکنه. اگه شما از عبارت const استفاده کنین عکس در حافظه فلش (حافظه ذخیره برنامه) و در غیر این صورت عکس در حافظه رم ذخیره میشه. اگه شما به صفحه 14 یوزرمنوال LPC1788 مراجع کنید می بینید که حافظه فلش میکرو (جایی که برنامه در آن ذخیره می شود) در آدرس 0x0000 0000 تا 0x0007 FFFF قرار دارد که اگه عکس رو در این حافظه قرار بدین اشاره گر عکس برابر یه عد در این محدوده میشه، حافظه رم در آدرس 0x1000 0000 تا 0x1000 FFFF قرار داره که اگه عکسو در این حافظه قرار بدین اشاره گر عکس برابر یه مقدار در این محدوده میشه اگه به مموری مپ میکروکنترلر یه نگاه کوچیک بندازین می بینین که بخش بزرگی از آدرس میکروکنترلر به حافظه خارجی اختصاص پیدا کرده .

برای نمایش عکس از حافظه فلش خارجی کافیه که اشاره گر عکستونو به این محدوده ببرین. اگه از هدربوردهای LPC1788 کویرالکترونیک استفاده میکنین، این هدر بورد دارای حافظه فلش 128 مگابایتی که در آدرس 0x8000 0000 تا 0x83FF FFFF قرار گرفته می باشد.
مثلا شما یه عکس با حجم 300 کیلوبایت و با فرمت JPEG در آدرس 0xA000 0000 دارین، برای نمایش عکس اول باید آدرس اونو در یه اشاره گر قرار بدین.



char *img;
در روش بالا شما یه اشاره گر تعریف کردین و باید آدرس اونو برابر 0x8000 0000 قرار بدین، به این صورت img=0x80000000 ، اما یه مشکلی وجود داره، زبان C این اجازه رو به شما نمیده که به صورت مستقیم به اشاره گر آدرس بدین، پس به روش زیر عمل میکنیم:



#define img ((char *) 0x80000000 )


در اینجا ما یه آدرس ثابت تعریف کردیم، که برابر شروع حافظه فلش و عکس میباشد، حالا روی این آدرس می تونیم عملیات جمع و تفریق رو انجام بدیم پس به راحتی میتونیم عکس رو از طریق این آدرس که در فلش خارجی قرار داره نمایش بدیم:



GUI_JPEG_Draw(img,1024*300,0,0);

در برنامه بالا ما یه عکس در حافظه فلش خارجی با سایز 300 کیلوبایت در مختصات 0،0 رو نمایش دادیم، چون باید سایز عکس رو بر حسب بایت به برنامه بدیم 300 رو در 1024 ضرب کردم.

mahdiafpr
04-04-2014, 08:25
با سلام و تشکر از پاسخ شما،

منظورتون از فلش خارجی، NAND هست یا NOR؟

با توجه به اینکه سرعت ارتباط میکرو با SDram به خاطر پهنای باس و ... بیشتر از سرعت ارتباط با حافظه های NOR و Nand است، من عکس ها را در sdram لود می کنم. نکته اینجاست که دستور GUI_JPEG_DRAW برای عکس های بزرگ، زمان بر است و برای آنکه مراحل رسم عکس دیده نشود باید از Memory Device های emWIN استفاده کرد، تا خروجی رسم، یکباره نمایش داده شود. اما این عمل حدود 7 ثانیه ط.ل میکشد. من عکس ها ی مختلف را در زمان بیکاری یا کم کاری میکرو در SDram رسم میکنم و هر وقت که خواسم آن ها را به سرعت روی LCD نمایش می دهم. مشکل اینجاست که در Call back نتوانستم به درستی با دستورات MEM_DEV کار کنم.
کد زیر را مشاهده کنید. قبل از بکار گیری دستور
GUI_MEMDEV_CopyToLCD، عکس به صورت تدریجی روی LCD نمایش داده می شود.
case WM_INIT_DIALOG:

// Initialization of 'Window'

//Load_Photo_To_Buffer ( "Test_JPEG_large.h" );
hItem = WM_GetDialogItem ( pMsg->hWin, ID_IMAGE_0 );

pData = _GetImageById_1 ( ID_IMAGE_0_IMAGE_0, &FileSize );

GUI_MEMDEV_Select ( hItem );
GUI_JPEG_Draw ( buff , file_size , 0, 0);

GUI_MEMDEV_CopyToLCD ( hItem );

majidma3000
04-04-2014, 14:21
نوع حافظه به این بستگی داره که به کدوم CS متصل شده باشه و آدرس اون با توجه با پایه CS تعیین میشه.
عکستونو با فرمت bmp ذخیره کنید. حجم عکس بالا میره اما بخاطر کدینگ کمش سرعت نمایشش خیلی بیشتر میشه. شما عکسو از NAND به SDRAM انتقال میدین که خودش زمان بره، بعد اونو از SDRAM به
Memory Device میبرین که اونم زمانبره، اگه به یکباره عکسو از NAND Flash نمایش بدین، سرعت بالاتر میره، این کار شما زمانی به کار میاد که بخواین مرتب یک یا چندتا عکسو نمایش بدین و اونارو تکرار کنین.
اگه Fat رو روی NAND Flash اجرا کردین از تابع GUI_JPEG_DrawEx یا توابع مشابه برای فرمت های دیگه استفاده کنین.
دستور GUI_JPEG_Draw به آدرس عکس اشاره میکنه ولی GUI_JPEG_DrawEx به آدرس برنامه اشاره میکنه (اشاره گر توابع) در اون برنامه شما اطلاعات عکسو به emWin میدین و میتونه از هر نوع حافظه ای باشه.
البته به این نکته توجه کنین که اگه شما عکستونو به SDRAM انتقال بدین ممکنه محتوایه عکستون عوض بشه. چون از اون حافظه برای راه اندازی LCD استفاده میشه و شاید تداخل آدرس عکس با اطلاعات دیگه به وجود بیاد. شاید این مشکل شما هم به همین دلیل باشه

mahdiafpr
04-04-2014, 20:49
آقای منصوری تشکر از وقتی که میذارید و با حوصله راهنمایی میکنید:0013:

mansoory
05-04-2014, 09:49
در ورژن 5.22 داده ای به نام GUI_BITMAPSTREAM وجود داره که اجازه میده یک فایل بیت مپ بزرگ رو بصورت تکه تکه به رم بفرستید و با emwin نمایش بدین

majidma3000
06-04-2014, 01:58
تا حالا کسی تونسته با ورژن 5.22 فیلم نشون بده؟

mahdiafpr
06-04-2014, 12:16
سلام:hi:

یه مشکل بزرگی که من دارم اینه که وقتی از GUI_CreateDialogBox یا WM_CreateWindowAsChild استفاده می کنیم، تصویر پس زمینه و الباقی Object ها رو به عنوان Widget در تابع Call back مربوطه بایستی بسازیم و Draw کنیم و تنها مجازیم از دستورهایی مانند :

IMAGE_SetJPEG ( hItem, pData, FileSize );
IMAGE_SetBMP( hItem, pData, FileSize );

استفاده کنیم. که اولین ورودی این توابع باید اسم widgetی باشه که می خواهیم عکس رو توی اون Draw کنیم.

با توجه به مطالب بالا، در استفاده از دستورات Draw، دستمون بستست.:(

mansoory
06-04-2014, 12:38
تا حالا کسی تونسته با ورژن 5.22 فیلم نشون بده؟
من نتونستم. البته امتحان نکردم. در ورژن 5.22 ویجتش هست.
شما موفق شدید با bitmap stream کار کنید؟

xpars
07-04-2014, 00:39
سلام. دوستان یه راهنمایی نحوه راه اندازی stemwin با برد stm32f4discovery + ,ide coocox + lcd ili9325 میخواستم .

mahdiafpr
07-04-2014, 20:22
سلام:hi:

یه مشکل بزرگی که من دارم اینه که وقتی از GUI_CreateDialogBox یا WM_CreateWindowAsChild استفاده می کنیم، تصویر پس زمینه و الباقی Object ها رو به عنوان Widget در تابع Call back مربوطه بایستی بسازیم و Draw کنیم و تنها مجازیم از دستورهایی مانند :

IMAGE_SetJPEG ( hItem, pData, FileSize );
IMAGE_SetBMP( hItem, pData, FileSize );

استفاده کنیم. که اولین ورودی این توابع باید اسم widgetی باشه که می خواهیم عکس رو توی اون Draw کنیم.

با توجه به مطالب بالا، در استفاده از دستورات Draw، دستمون بستست.:(

engineer1
07-04-2014, 23:33
با سلام خدمت دوستان عزیز عید گذشتتونم مبارک
من امروز شروع کردم به پورت کردن emwin برای lpc1768 بردمم eke2lpc هستش
تقریبا همشو پورت کردم فقط مونده قسمت lcdconf که باید بسته به نوع درایور السیدی و اینکه تو مد چند بیتی کار میکنه درایورشو انتخاب کنی
رفتم سایت سیگر درایور السیدی منو ساپورت میکنه که همون ili9325 باشه
فقط مشکل اینجاس که برد من تو مد 8 بیتی کار میکنه و سایت سیگر این مدو برا این درایور نداره
البت فکر میکنم درایور GUIDRV_FlexColor (You can see links before reply) مناسبترینشون باشه
دوستان کسی اگه فایل هدر مربوط به السیدی اونم پورت شدشو برای برد eke2lpc داره یه مددی برسونه
اگرم که نیس دستمونو میزاریم رو زانومونو میگیم یا علی

arvin2009
08-04-2014, 01:21
اگه میخوای خوب emWin را بفهمی بهتر است دستت به زانو بشی

engineer1
08-04-2014, 11:12
عزیز من هنو تو پورت کردنش موندم خودش بماند حالا
اگه پورت کردنش اوکی بشه بقیش کار خیلی خاصی نداره
یوزر منوال خود emWin تمامی توابع رو کاملا توضیح داده

mzarkoob
08-04-2014, 13:10
عزیز من هنو تو پورت کردنش موندم خودش بماند حالا
اگه پورت کردنش اوکی بشه بقیش کار خیلی خاصی نداره
یوزر منوال خود emwin تمامی توابع رو کاملا توضیح داده
سلام
بله یکی از قسمت های اولیه مهم پورت کردنشه
برای همین فکر می کنم بهتر بود چند تایپیک مستقل برای پورت کردن هر کدام از بردها ایجاد میشد که این مبحث در ان پی گیری میشد در یک تایپیک مستقل دیگه نحوه استفاده از تابع بررسی میشد
شما می تونید از سمپلی که آقای
عربعامری
برای برد همسایه قرار دادند استفاده کنید. خوب چون درایور برد پرت شده مثال ، مثل برد لندتایگر 1289 هست برای پورت کردن روی لندتایگر کافیه کانفیگ پایه ها درست بشه و دیگه ارسال دیتا بشه 8 بیتی
برای برد خود کویر هم باید از کتابخونه tft lcd خد برد استفاده بشه و اونو اد کنید و در جاهای لازم ،که قبلا در لابلای این تایپیک شرح داده شده، قرار بدید.

engineer1
08-04-2014, 19:36
آره نظر منم همینه که یه تاپیک مستقل برای پورت کردن قرار داده بشه
اول باید سورس فایلارو بتونیم پورت کنیم تا بعد بریم سرکارای دیگه

mansoory
09-04-2014, 13:28
سلام
بله یکی از قسمت های اولیه مهم پورت کردنشه
برای همین فکر می کنم بهتر بود چند تایپیک مستقل برای پورت کردن هر کدام از بردها ایجاد میشد که این مبحث در ان پی گیری میشد در یک تایپیک مستقل دیگه نحوه استفاده از تابع بررسی میشد
شما می تونید از سمپلی که آقای
عربعامری
برای برد همسایه قرار دادند استفاده کنید. خوب چون درایور برد پرت شده مثال ، مثل برد لندتایگر 1289 هست برای پورت کردن روی لندتایگر کافیه کانفیگ پایه ها درست بشه و دیگه ارسال دیتا بشه 8 بیتی
برای برد خود کویر هم باید از کتابخونه tft lcd خد برد استفاده بشه و اونو اد کنید و در جاهای لازم ،که قبلا در لابلای این تایپیک شرح داده شده، قرار بدید.
نظر خیلی خوبیه

arvin2009
10-04-2014, 21:30
سلام.این قسمت خیلی فعال بود نمیدونم چی شد همه دونبال پورت کردن بودن و کمتر کسی با یوزر منوال تا اخر پیش رفته .من خودم هر وقت میرم سر یوزر منوال سریع خوابم میگیره.بهتر نیست بچه ها با گذاشتن پروژه و مثالها این بخش رو دوباره احیا کنند؟به جایی منوال رو مو به مو بخوانیم با مثال جلو بریم و مشکلی بود به دیتا شیت رجوع کنیم. کاربرها تا چند تا منو میسازند دیگه فکر میکنند پروژه چند ملیونی ساختن و نگه میدارند به امید روزی مشتری پیدا بشه براش.بیایم با اشتراک گذاشتن پروژه هامون ایدهای جدید و مهارت کسب کنیم .اگه هرکسی هر چیزی که تا الان یاد گرفته رو بیاد یکم توضیح بده و مثال بزاره دیگه لازم به اون کار خسته کننده (یوزرمنوال)نیست و یادگیری و ماندگاریش هم خیلی بیشتر خواهد بود.

arvin2009
10-04-2014, 22:40
یک رابط گرافیکی جدید و جالب بهتون معرفی کنم که روی میکرو کنترلر ها ی با سرعت 48 تا 200 قابل بوت شدن هست و حجم خیلی کمی از رم رو میگیره.خیلی جالبه یک نگاهی بندازید
You can see links before reply (You can see links before reply)

sjafarim
11-04-2014, 01:49
دوست عزیز ازین دست پلتفرم ها زیاد هست، بهتر ازونی که شما معرفی کردی هم هست، مثلا مورد زیر که برپایه جاوا هست:
You can see links before reply

مشکل اصلی اینجاست که سورس کامل یا حتی بخشی ازونا هم مجانی پیدا نمیشه!

mahdiafpr
11-04-2014, 10:00
سلام

کسی میدونه چطور میشه عدد float رو در Spinbox نشون داد؟؟؟؟

titery
11-04-2014, 18:29
نحوه نمایش عکس ذخیره شده در حافظه فلش خارجی از طریق emwin :
.



سلام
اول شرمنده که تو این قسمت دیگه خیلی کم فعال هستم این سربازی خیلی مشغولم کرده
آقای منصوری من چطور میتونم آرایه عکسم رو در نند قرار بدم که هنگام پروگرام با جیلینک اونم پروگرام بشه
ممنون

engineer1
12-04-2014, 00:11
آقایون باز که همگی رفتن سربحثای متفرقه
قرار نشد مگه اول از پورت کردن شروع کنیم ؟
یکی از دوستانی که از برد eke2lpc فروشگاه استفاده میکنه فایلای پورت شدرو بزاره تا بقیه دوستانم استفاده کنن
پورت کردن فایلاش 50 تا نرم افزار میخاد خو

m4hy4r
14-04-2014, 12:31
سلام، \
امکان این هست توی emWIN که یک عکس قابل تاچ کردن باشه. من میخوام یک رابط داشته باشم که بتونم باهاش یک عدد رو با دو تا BUTTON که هر کدوم دارای یک آیکون(عکس PNG) هستن، کم و زیاد کنم.
ولی متاسفانه هنوز نتونستم همچین دکمه هایی رو بسازم. بعلاوه اینکه وقتی در یک صفحه ساده که توی GUI BUILDERساختم، میخوام یک عدد نشون بدم، عدد نمایش داده نمیشه. در واقع نمی دونم کجای برنامه باید کد مربوط به نمایش عدد رو اضافه کنم (در تابه callBack یا ...)

پیشاپیش ممنون از تمام دوستانی که لطف میکنن و وقت میذارن.

engineer1
16-04-2014, 21:15
آقا دوستانی که موفق به پورت کردن برنامه ها شدن حالا برا هرکدوم از بردا بنظر من خوبه که برنامه های پورت شدشونو(فقط خود برنامه هارو)باذکر اینکه برا کدوم برده تو همین پست قرار بدن تا دوستان دیگه هم استفاده کنن
خدایی نکرده فکر نکنین من دنبال لقمه آمادم نه خداییش
آخه این ترم کلی پروژه دستمه تو یه سایتم دارم درمورد آموزش پردازش تصویر فیلم ضبط میکنمو قرار میدم تابستونم دیگه اینکارارو میخام تعطیل کنموبچسبم به درس
پس میبینید که کلا وقتشو ندارم
پس از دوستانی که پورت کردن خواهش میکنم برا ما هم بزارن تا دانلودشون کنید
برد لنتایگر و برد خود فروشگاهو

arvin2009
16-04-2014, 21:29
پس چرا از برنامه ای که من گذاشتم استفاده نکردی؟فقط کافیه پایه های lcd رو توی هدر ال سی دی درست کنی.

engineer1
17-04-2014, 11:45
- گفتم که سرم این ترم خیلی شلوغه و ترم دیگه هم چون کنکور دارم نمیتونم ازین کارای جانبی بکنم
-پایه های ال یب دی چی هستن دیگه؟
- این برنامت کجاس؟

arvin2009
17-04-2014, 20:12
اصلا این تاپیک رو نگشتی.پست فکر کنم 653 هست برای این برد شما برنامه گذاشتند

engineer1
17-04-2014, 22:22
خودم سر فرصت میرم سراغ یوزر منوالش که الانم دارمش و بصورت کاملا حرفه ای همشو درست میکنم
پورت کردنشم تقریبا تموم کردم فقط مونده درایور السیدی و تاچش که اونم از سایت سیگر میگیرم

mori64
21-04-2014, 12:00
دوستان من برای چند لایه کردن مشکل دارم کسی از این قابلیت استفاده کرده ؟
ظاهرا باید تغیراتی در فایل lcdconfig داده شود .

hmrasa
21-04-2014, 13:43
سلام
کس تونسته یواس بی کیبورد به lpc1788 و EMWIN متصل کنه؟

mzarkoob
21-04-2014, 18:51
سلام
کس تونسته یواس بی کیبورد به lpc1788 و EMWIN متصل کنه؟
سلام
خوب کیبرد که usb باشه را میشه به usb host برد میکرو وصل کرد و دریافت کلید که زده میشه انجام داد.
ولی این چه ربطی به emwin داره!؟

hmrasa
21-04-2014, 21:54
شما درست می گین.
1-از طریق انتقال سریال جواب گرفتم، اما از usb host جواب نگرفتم. اگه سمپلی دارین لطفا به اشتراک بذارین.
2-می خوام بعد فشرده شدن کلید, اونو به edit منتقل کنم.

mori64
22-04-2014, 11:32
چطور میشه بعد از ساخت دیالوگ باکس یک چیزی را به صفحه اضافه کرد؟
از دیالوگ باکس استفاده کردم و قصد دارم بعد از آن یک خط رسم کنم که نمیشه ؟

hmrasa
22-04-2014, 12:33
چطور میشه بعد از ساخت دیالوگ باکس یک چیزی را به صفحه اضافه کرد؟
از دیالوگ باکس استفاده کردم و قصد دارم بعد از آن یک خط رسم کنم که نمیشه ؟
خط تو کلاس gui وجود داره نه wm. خطی که کشیدی پشت ویندو رسم می شه. اگه ویندو کنار بره می بینیش.

sjafarim
22-04-2014, 13:55
برای اینکه بتونی خطو روی wm رسم کنی باید تو تابع OwnerDraw اون ابجکت بنویسیش.

mori64
22-04-2014, 14:17
خط تو کلاس gui وجود داره نه wm. خطی که کشیدی پشت ویندو رسم می شه. اگه ویندو کنار بره می بینیش.
بله ولی من احتیاج دارم ویندو قبلی بمونه (و کار کنه) و در همین حال یک خط را رسم کنم .


برای اینکه بتونی خطو روی wm رسم کنی باید تو تابع OwnerDraw اون ابجکت بنویسیش.

تا جایی که اطلاع دارم owner Draw برای FRAMEWIN ,LISTBOX,LISTWHEEL است .ممنون میشم اگر بیشتر توضیح بدید .

sjafarim
22-04-2014, 14:32
خوب اگه واسه ابجکت دیگه ای هست توی تابع callback اش داخل قسمت مربوط به مسیج WM_POST_PAINT توابع رسم خطو بنویس درست میشه.
مثلا :

case WM_POST_PAINT: GUI_SetColor(GUI_BLACK);
GUI_FillRoundedRect(-2,187,320,215,5);

GUI_SetColor(0XF24862);
GUI_FillCircle(296,28,6);
GUI_FillCircle(296,73,6);

GUI_FillCircle(298,112,4);
GUI_FillCircle(202,112,4);
GUI_FillCircle(97,112,4);

GUI_SetColor(0x9f9f9f);
GUI_DrawHLine(50,10,310);
GUI_DrawHLine(94,10,310);
GUI_DrawVLine(106,110,184);
GUI_DrawVLine(213,110,184);


break;

mori64
22-04-2014, 14:42
آخه این کار با توجه به اپلیکیشن در حال اجرا باید تغییر کنه
برای مثال یک ویندو هست با چند دکمه در زیر هر دکمه باید یک علامتی میزان شارژ باطری را نمایش دهد که من این کار را با رسم خط و چیزهایی که ویجت نیستند باید نمایش دهم .
و نمیتوانم از کال بک ویندو استفاده کنم چون بدون اینکه کاربر کاری انجام بده باید خطوط تغییر کنند .

hmrasa
22-04-2014, 15:36
آخه این کار با توجه به اپلیکیشن در حال اجرا باید تغییر کنه
برای مثال یک ویندو هست با چند دکمه در زیر هر دکمه باید یک علامتی میزان شارژ باطری را نمایش دهد که من این کار را با رسم خط و چیزهایی که ویجت نیستند باید نمایش دهم .
و نمیتوانم از کال بک ویندو استفاده کنم چون بدون اینکه کاربر کاری انجام بده باید خطوط تغییر کنند .
می تونید از progressbar استفاده کنید

mori64
22-04-2014, 16:03
می تونید از progressbar استفاده کنید

تشکر پیشنهاد خیلی خوبیه ولی این یک نمونه بود ، یه آنتن باید نمایش داده بشه که وضعیت ارتباط وایرلس نمایش داده بشه .......

hmrasa
22-04-2014, 21:45
تشکر پیشنهاد خیلی خوبیه ولی این یک نمونه بود ، یه آنتن باید نمایش داده بشه که وضعیت ارتباط وایرلس نمایش داده بشه .......
در حالت کلی شما می تونید به جای اینکه به صورت دینامیک تصاویر بکشید، می تونید تمام تصاویر را به صورت استاتیک از قبل آماذه کنید و در صورت نیاز استفاده کنید. برای مثال دو تصویر "وایرلس آن" و "وایرلس اف" را از قبل آماده کنید و از اونا استفاده کنید.

sjafarim
23-04-2014, 00:32
این آنتنی که میخوای نشون بدی دقیق کجای صفحست؟ بالاشه؟یدونست؟

mori64
23-04-2014, 09:19
این انتی کخ میخواینشون بدی دقیق کجای صفحست؟ بالاشه؟یدونست؟

مشکل این جاست که زیاد هستند 30 تا دکمه هست زیر هر دکمه 2 تا نمایش گر یکی برای باطری و دیگری آنتن .
باطری رو بقول دوستمون میشه progress bar گذاشت ولی برای انتن ؟

یه مقدار عجیب نیست این که اگر از ویندو استفاده کردی قسمت 2D قابل نمایش نیست .ترنس پرنسی نمیشه کرد؟

sjafarim
23-04-2014, 12:45
نگاه کن میتونی گولش بزنی با همون مسیج WM_POST_PAINT، این مسیج هر موقع هر المانی داخل یک صفحه invalid بشه و نیاز باشه که صفحه redraw بشه (قبل مسیج wm_paint در واقع) به کالبکش ارسال میشه. شما کافیه یک المانو تغییر بدی هرچیزیشو تا این پیغام ارسال بشه، بعد یه سری متغیر global خارج تابع داشته باشی که اطلاعات هرکدوم از انتن هات توش باشه و توی مسیج WM_POST_PAINT طبق مقدار این متغییر ها با خط همه انتن هاتو بکشه برات.
اقای منصوری گل، نمیشه دستی پیغام ارسال کرد به کالبک؟قاطی نمیکنه؟ من امتحان نکردم

mori64
26-04-2014, 12:11
نگاه کن میتونی گولش بزنی با همون مسیج WM_POST_PAINT، این مسیج هر موقع هر المانی داخل یک صفحه invalid بشه و نیاز باشه که صفحه redraw بشه (قبل مسیج wm_paint در واقع) به کالبکش ارسال میشه. شما کافیه یک المانو تغییر بدی هرچیزیشو تا این پیغام ارسال بشه، بعد یه سری متغیر global خارج تابع داشته باشی که اطلاعات هرکدوم از انتن هات توش باشه و توی مسیج WM_POST_PAINT طبق مقدار این متغییر ها با خط همه انتن هاتو بکشه برات.
اقای منصوری گل، نمیشه دستی پیغام ارسال کرد به کالبک؟قاطی نمیکنه؟ من امتحان نکردم

تشکر ظاهرا این تنها راه هست .
همین راه رو تو lpcware جواب دادن :
البته هنوز تست نکردم

case WM_PAINT:
if (flag==1){
GUI_DrawLine();
}


End when you need your line you do this:



flag=1;
WM_InvalidateWindow(hWin);

hamid_trans
26-04-2014, 16:47
فقط یه سوال دارم میشه این سیستم عامل رو با ال سی دی 7 اینچ و lpc1768 راه اندازی کرد 1788 چطور ؟

mori64
27-04-2014, 15:09
فقط یه سوال دارم میشه این سیستم عامل رو با ال سی دی 7 اینچ و lpc1768 راه اندازی کرد 1788 چطور ؟
ewin سیستم عامل نیست .

mori64
27-04-2014, 15:18
کسی با ویجت ICON کار کرده ؟
با gui_bilder نتونستم عکس اختصاص بدم .
وقتی هم که عکس را خودم کانورت کردم و اختصاص دادم .حالت select ندارد !

hmrasa
27-04-2014, 21:31
فقط یه سوال دارم میشه این سیستم عامل رو با ال سی دی 7 اینچ و lpc1768 راه اندازی کرد 1788 چطور ؟
با هر دو می شه ولی برای
ال سی دی 7 اینچ بهتر از 1788 استفاده کنی.

plasma
01-05-2014, 17:04
سلام دوستان.
من بیشتر تاپیک رو خوندم (تقریبا یک سوم :D ) و الان تونستم emwin رو برای LPC1768 - lcd n96 پورت کنم:018: ولی یک مشکل هست و اونم درست کار نکردن LCD هست!
LCD رو کامل بدون emwin راه انداختم و از کارکردنش مطمئنم حتی تابع Gradinet درست کار میکنه!
یا مثلا پنجره رو درست رسم میکنه ولی عکس و نوشته رو نه! دو تا عکس هم گذاشتم(Reversi و Hello World)
وقتی که دموی Alpha dialog رو روش پروگرام میکنم جای عکس و پنجره فقط یک سری خط که به صورت موزونی بالا پایین میرن دیده میشه:mrgreen:
ممکنه از بوتلودر باشه؟؟؟ چون من از بوتلودر USB استفاده میکنم و جی - لینک رو هم فعلا ندارم!(یک شنبه میرسه)
7633
7634
با این حال سرعتش عالیه(یه دمو بود که توش دو تا مستطیل حرکت میکردن و واقعا سرعتش خوب بود!)

ghorban_piriz
03-05-2014, 00:09
من هم قبلاهمین مشکل رو داشتم ایراد تو نوشتن دستورات مربوط به توابهع ارسال السی دی هستش. یه کم رو اونا کار کنی درست میشه

plasma
03-05-2014, 08:26
من خيلي دستكاريش كردم ولي باز نشد كاري كنم!

abdi_sab
03-05-2014, 10:07
این سیستم عامل احتیاج به لایسنس داره؟چون میگن لایسنس نیاشه خوب کار نمیکنه و بعد از چند دقیقه قفل میکنه.لینک دانلودش رو میشه بزارید یا پروزه رو اپ کنی من با تاچ مشکلی ندارم میتونم سریع راش بندازم


76467645764776487649764676467646

مسیر برنامه:
Software\EvalBoards\NXP\LPC1768-SK\uCOS-III\IAR

mansoory
04-05-2014, 09:07
نگاه کن میتونی گولش بزنی با همون مسیج WM_POST_PAINT، این مسیج هر موقع هر المانی داخل یک صفحه invalid بشه و نیاز باشه که صفحه redraw بشه (قبل مسیج wm_paint در واقع) به کالبکش ارسال میشه. شما کافیه یک المانو تغییر بدی هرچیزیشو تا این پیغام ارسال بشه، بعد یه سری متغیر global خارج تابع داشته باشی که اطلاعات هرکدوم از انتن هات توش باشه و توی مسیج WM_POST_PAINT طبق مقدار این متغییر ها با خط همه انتن هاتو بکشه برات.
اقای منصوری گل، نمیشه دستی پیغام ارسال کرد به کالبک؟قاطی نمیکنه؟ من امتحان نکردم
سلام.
شرمندم دیر جواب دادم، فکر کنم میشه در Emwin خودمون ویجت درست کنیم. الان به manual دسترسی ندارم . بیزحمت یه نگاه بهش بندازید
موفق باشید

plasma
05-05-2014, 08:15
من كتابخونه رو نگاه كردم و چيزي به جز دستكاري delay ها به ذهنم نرسيد!
الان هر كاري ميكنم bitmap نمايش داده نميشه

saeed711
07-05-2014, 14:52
سلام دوستان. من با راه اندازی ال سی دی 7 اینچ و تاچ با 1788 مشکل پیدا کردم. بعد از راه اندازی ال سی دی وقتی تاچ رو راه میندازم قاطی میکنه و نمایش نابود میشه. قبلا با 4.3 و 5 اینچ مشکلی نداشتم ولی 7 اینچ داره اذیت میکنه. کمک کمک کمک cry::

hmrasa
09-05-2014, 13:20
سلام دوستان. من با راه اندازی ال سی دی 7 اینچ و تاچ با 1788 مشکل پیدا کردم. بعد از راه اندازی ال سی دی وقتی تاچ رو راه میندازم قاطی میکنه و نمایش نابود میشه. قبلا با 4.3 و 5 اینچ مشکلی نداشتم ولی 7 اینچ داره اذیت میکنه. کمک کمک کمک cry::
سلام
دقیقا مشکلتون بگین که چیه. منظورتون از قاطی کردن چیه.

plasma
09-05-2014, 17:47
دوستان برای راه اندازی LCD n96 با emwin باید چیکار کرد؟
الان همون توابعی که برای emwin استفاده کردم رو با ucGUI تست کردم و ucGUI به صورت کامل کار میکرد ولی هنوز emwin کار نمیکنه!
حتی یک عکس رو هم نمایش نمیده!فقط پنجره و شکل ها رو نمایش میده(گه گاهی هم متن رو)

saeed711
10-05-2014, 03:27
هیچی کل صفحه به صورت افقی خطهای سیاه و سفید میاد و یک چهارم پایین هم کامل سیاهه. دوستان هر چی میدونید راهنماییم کنید امتحان کنم تا یه پروژه خوب نصیب همه بشه :gop:

hmrasa
10-05-2014, 09:05
هیچی کل صفحه به صورت افقی خطهای سیاه و سفید میاد و یک چهارم پایین هم کامل سیاهه. دوستان هر چی میدونید راهنماییم کنید امتحان کنم تا یه پروژه خوب نصیب همه بشه :gop:
اول تاچ اینیشیالایز کن بعد ال سی دی.
اگه جواب نگرفتی پروژت آپ کن تا چکش کنم.

jalil_211
11-05-2014, 09:26
سلام به همه دوستان
من با استفاده از مثال کور برد تونستم emwin رو توی کارتم راه اندازی کنم. برای رزولوشن پایین مثل 320*240 اوضاع خوبه اما وقتی رزولوشن رو بالامی برم مثلا 640*480 خیلی کند میشه. مشکل اصلیم اینه که وقتی رزولوشن رو به 800*600 تغییر می دم تصویرم کلی نویز روش میشینه. وقتی توی برنامه breakpoint میزارم و یک جایی متوقف میشم تصویری واضح هستش اما با اجرای یه دستور (مثل نوشتن یک خط روی تصویر) تا زمان اتمام اون دستور صفحه نویزی میشه.
پردازندم 1788 هستش و رم خارجی ام 32 مگابایت با باس 16بیتی هستش.
به نظرتون به باس آدرس مربوط می شه؟

hmrasa
11-05-2014, 20:21
سلام به همه دوستان
من با استفاده از مثال کور برد تونستم emwin رو توی کارتم راه اندازی کنم. برای رزولوشن پایین مثل 320*240 اوضاع خوبه اما وقتی رزولوشن رو بالامی برم مثلا 640*480 خیلی کند میشه. مشکل اصلیم اینه که وقتی رزولوشن رو به 800*600 تغییر می دم تصویرم کلی نویز روش میشینه. وقتی توی برنامه breakpoint میزارم و یک جایی متوقف میشم تصویری واضح هستش اما با اجرای یه دستور (مثل نوشتن یک خط روی تصویر) تا زمان اتمام اون دستور صفحه نویزی میشه.
پردازندم 1788 هستش و رم خارجی ام 32 مگابایت با باس 16بیتی هستش.
به نظرتون به باس آدرس مربوط می شه؟
سلام
از چه نوع ال سی دی استفاده می کنید؟

jalil_211
12-05-2014, 00:24
سلام
از چه نوع ال سی دی استفاده می کنید؟
lcd 15" با رزولوشن 1026*768.فکر نمی کنم به lcd ربطی داشته باشه آخه وقتی Breakpoint میزارم همه چی درسته

hmrasa
12-05-2014, 22:17
lcd 15" با رزولوشن 1026*768.فکر نمی کنم به lcd ربطی داشته باشه آخه وقتی Breakpoint میزارم همه چی درسته
دوست عزیز اگر ممکن اطلاعات بیشتری مثل نوع السیدی و درایور بدین تا بشه بهتر بررسی کرد.
شاید این لینک به دردتون بخوره:
Can LPC1788 drive 10.4 TFT LCD? | You can see links before reply (You can see links before reply)

mori64
16-05-2014, 20:35
سلام
تفاوت کلیک کردن با تاچ و استفاده از "gui_key_enter" در چی هست ؟
در کال بک یک دکمه یک ویندو جدید درست میکنم . هر وقت با کلیک کردن با تاچ این کار را انجام میدم درست عمل میکنه و هر وقت با کیپد و استفاده از "gui_key_enter" عمل میکنم سیستم هنگ میکنه
البته در ویندو های معمولی که یک ویندو پاک و یک ویندو جدید ایجاد میشه مشکلی وجود نداره .

ولی یک ویندو پیغام دارم که بر اساس جواب یوزر باید کاری انجام بشه پس ویندو قبلی پاک نمیشود .در این مورد مشکل بوجود می آید .