Hej!
Har ett STK300 kort med en ATmega128 på. Använder AVR studio v.4.14.589 och AVR GCC 20080610.  Till kortet har jag kopplat en display enl. 4-bitars överföring. Dvs, PORTA används endast. kontrast, gnd och vcc hämtas separat från LCD porten på kortet.
Har kopplat allt exakt som länken visar här(Interface using the 4-bit Mode):
http://homepage.hispeed.ch/peterfleury/ ... 44780.html
Har använt koden från samma sida(lcdlibrary.zip) och den kompileras felfritt.
Nu till själv problemet, det blir inga tecken på displayen. Jag har mha av LED:sen på kortet kommit fram till att programet hänger sig när det kör funktionen lcd_waitbusy() under lcd_init(). 
LCD:en initieras till en viss grad då den blinkar till och fyller båda raderna med halv-grå block. 
Jag har svårt att tro att det är koden det är fel på, vad kan det vara för annat fel?
[/i][/url]
			
			
									
									
						LCD problem. STK300 ATmega128
- Schnegelwerfer
 - Inlägg: 1863
 - Blev medlem: 8 november 2004, 13:46:56
 
Jag har använt detta LCD-lib och det har fungerat bra.
Det som får ditt program att hänga sig i lcd_waitbusy() är att du inte kan läsa från LCDn, d.v.s. du fastnar i while-satsen.
Jag skulle kolla upp portdefinitionerna för LCDn, antagligen ligger felet där.
			
			
									
									
						Kod: Markera allt
static uint8_t lcd_waitbusy(void)
{
    register uint8_t c;
    
    /* wait until busy flag is cleared */
    while ( (c=lcd_read(0)) & (1<<LCD_BUSY)) {}
    
    /* the address counter is updated 4us after the busy flag is cleared */
    delay(2);
    /* now read the address counter */
    return (lcd_read(0));  // return address counter
    
}/* lcd_waitbusy */Jag skulle kolla upp portdefinitionerna för LCDn, antagligen ligger felet där.
				