Har testat att köra motsvarande kod på vanlig gcc i linux och då fungerar det
Kod: Markera allt
#include <stdio.h>
#include <string.h>
void
lcd_puts(unsigned char *line)
{
int length = strlen(line);
printf("length: %d\n", length);
printf("char: %d\n", (int)line[0]);
if ((int)line[0] == 255) {
printf("ALERT"); /* HIT KOMMER JAG ALLTID. DVS line[0] är alltid lika med 255 (0xFF) */
}
}
int main(int argc,char *argv[])
{
lcd_puts("Hej");
return 1;
}
Jag får då som förvämtat utskriften
length: 3
char: 72
Motsvarande kod fungerar inte för mig med avr-gcc. strlen i avr-gcc verkar också ge ett galet värde.
Är inte helt på det klara vad du menar snigelen. Men det låter som om du är något på spåren. Får googla upp det och testa ikväll
I Makefilen har jag följande som berör avr-objcopy:
Kod: Markera allt
OBJCOPY=avr-objcopy
rom.hex : demo.out
$(OBJCOPY) -j .text -O ihex demo.out rom.hex