saeeddelshad0020
همکار
سلام.با اجازه اقای اسدی این موضوع رو اضافه کردم تا بنده و دوستانی که در مورد این پروژه سوالاتی دارن بپرسن تا شبهات از بین بره.
ممنون از دوستانی که پاسخ میدن
ممنون از دوستانی که پاسخ میدن
ISR(TIMER0_COMP_vect){
static uint16_t ms = 0;
uint8_t key;
static uint8_t t_buz,t_key, c_key;
if(++ms >= 1000) //1 Sec
{
ms = 0;
}
if(t_buz)
{
t_buz--;
if(t_buz == 50)
{
BUZZER_OFF();
}
}
else
{
if(BEEP)
{
BEEP--;
BUZZER_ON();
t_buz = 100;
}
}
key = KEY_PIN & NO_KEY;
if(key == t_key)
{
if(c_key < KEY_DEBOUNCE)
{
c_key++;
if(c_key == KEY_DEBOUNCE && key != NO_KEY)BEEP = 1;
}
else
KEY.Data = key;
}
else
{
t_key = key;
c_key = 0;
KEY.Flag = 0;
}
}
static uint16_t ms = 0;
uint8_t key;
static uint8_t t_buz,t_key, c_key;
if(++ms >= 1000) //1 Sec
{
ms = 0;
}
if(t_buz)
{
t_buz--;
if(t_buz == 50)
{
BUZZER_OFF();
}
}
else
{
if(BEEP)
{
BEEP--;
BUZZER_ON();
t_buz = 100;
}
}
key = KEY_PIN & NO_KEY;
if(key == t_key)
{
if(c_key < KEY_DEBOUNCE)
{
c_key++;
if(c_key == KEY_DEBOUNCE && key != NO_KEY)BEEP = 1;
}
else
KEY.Data = key;
}
else
{
t_key = key;
c_key = 0;
KEY.Flag = 0;
}
if(c_key == KEY_DEBOUNCE && key != NO_KEY)BEEP = 1;
typedef struct {
uint8_t Data;
uint8_t Flag;
} KEY_DATA;
while (1)
{
if(!KEY.Flag)
{
switch(KEY.Data)
{
case UP:
break;
case DOWN:
break;
case SET:
break;
case ESC:
break;
}
}
_delay_ms(10);
}
سلام
مهندس توی این کتابخونه ال سی دی گرافیکی نمیشه سایز نوشتمون رو تغییر بدیم؟؟؟
خیلی ممنون.برای تغییر سایز نوشته باید فونت رو تغییر بدید یعنی فونت بزرگتر و یا کوچکتر به کد اضافه بشه
خیلی ممنون.
یه توضیحی هم در مورد الگوریتم نوشتن منو ها یا صفحات پی در پی میدین؟
خیلی ممنون از پاسختون مهندسیادمه توی یکی از این جلسات به این مورد پرداشته شده
ولی بازم توضیح میدم
برای منو ها ما یه جدول داریم که موارد مشترک هر منو توش ذخیره میشه
برای مثال ادیکس رشته مینومم و ماکزیمم منو نوع منو واحد منو و ...
برای ایجاد هر کار گروهی باید بگردیم و موارد مشترک رو در بیاریم و اونها رو توی یه جدول قرار بدیم که کار رو راحت کنه
برای منو هم همین کارو میکنم
در کل ممکنه دونوع مونو داشته باشیم
1 - منو هایی که زیر منو دارن
2 - منو هایی که مقدار دهی باید بشن
پس به دوتا تابع کلی نیاز خواهیم داشت
1 - اول تابعی برای نمایش لیست منوها
2 - دوم تابعی برای مقدار دهی منوی انتخاب شده
در ابتدا تابع اول فراخوانی میشه و لست منوها نمایش داده میشه
منوهایی که زیر منو دارن مقداری برای تنظم شدن ندارن پس وقتی انتخاب میشن باید یه لیست از منو های تازه نمایش داده میشه پس دوباره تابع اول فراخوانی میشه
اما برای منوهای که مقدار دارن باید یه تابع دومی هم باشه که بتونیم نسبت به جدول واحد و رشته و شرایط مناسب برای مقدار دهی ایجاد کرد
برای مثال مقدار رو از مینیمم و ماکزیممی که توی جدول داده شده محدود بشه واحدی که برای منوی انتخاب شده در نظر گرفته شده نمایش داده بشه و ....
البته توجه داشته باشید که این بحث وقتی به درد میخوره که تعداد منو ها زیاد باشه و تو در تو باشن
خیلی ممنون از پاسختون مهندس
منظورتون از مقادیر مشترک مثلا همون کادر صفحه و یه تعداد دکمه های back و... هست؟؟
مهندس یه سمپل ارائه کنین ممنون میشم.یه سمپل کنار این توضیحات شما موضوع رو قابل فهم تر میکنه