سلام خدمت اساتید محترم
من یک صفحه کلید PS/2 را به پورت سریال میکرو کنترلر atmega128 وصل کردم و از طریق UDR دارم دیتا را می خونم
اما دیتا که باید کد اسکی باشد اشتباه است مثلا :
باید کد اسکی A باشد C1
من کدی که دریافت می کنم هست C
برنامه گرفتن دیتا از پورت سریال :NO:
قسمت برنامه نمایش برروی GLCD 240*64 :NO:
قسمت تنظیمات پورت سریال :NO:
به نظر شما کدام قسمت اشتباه کردم ؟؟؟
oo: که کد درست ا****** دریافت نمی کنم
من یک صفحه کلید PS/2 را به پورت سریال میکرو کنترلر atmega128 وصل کردم و از طریق UDR دارم دیتا را می خونم
اما دیتا که باید کد اسکی باشد اشتباه است مثلا :
باید کد اسکی A باشد C1
من کدی که دریافت می کنم هست C
برنامه گرفتن دیتا از پورت سریال :NO:
کد:
// USART0 Receiver interrupt service routine
interrupt [USART1_RXC] void usart1_rx_isr(void)
{
unsigned char buffer;
buffer=UDR1;
switch(buffer)
{
case 0xF0:
break;
case 0xE0:
break;
default:
Scan_Code=buffer;
}
}
قسمت برنامه نمایش برروی GLCD 240*64 :NO:
lcd_setup_page(4);
lcd_clear_text();
CommandOut(GraphicsOff| TextOn | CursorOff | CursorBlinkOff);
lcd_xy(0,4);
sprintf(buffer_lcd,"key_press=%X",Scan_C ode);
lcd_print(buffer_lcd);
lcd_clear_text();
CommandOut(GraphicsOff| TextOn | CursorOff | CursorBlinkOff);
lcd_xy(0,4);
sprintf(buffer_lcd,"key_press=%X",Scan_C ode);
lcd_print(buffer_lcd);
قسمت تنظیمات پورت سریال :NO:
UCSR1A=0x00;
UCSR1B=0x90;
UCSR1C=0x06;
UBRR1H=0x00;
UBRR1L=0x33;
// Global enable interrupts
#asm("sei"
UCSR1B=0x90;
UCSR1C=0x06;
UBRR1H=0x00;
UBRR1L=0x33;
// Global enable interrupts
#asm("sei"

oo: که کد درست ا****** دریافت نمی کنم

واقعا گیج شدم
دیدگاه