Kamillos
Guest
Sun Feb 04, 2007 11:37 pm
Witam,
Chciałem przy przerwaniu Timera wysyłać po jednym znaku ze stringa
zapisanego w pamięci flash, uzywając w przerwaniu polecenia:
ISR (TIMER0_OVF_vect){
UART_putchar(pgm_read_byte(*s++));
... //tutaj inne rzeczy
}
a jako s miałby być przypisywany jeden z kilku stringów
const U08 str1[] PROGMEM ="napis 1";
const U08 str2[] PROGMEM ="cos tam";
Jednak nie wiem jak przypisać do s wybrany string? i jak go zadeklarować?
Ze stringami w ramie nie ma problemu, natomiast z tymi z flasha nie daje
rady.
Pozdrawiam
Kamil
Kamillos
Guest
Sun Feb 04, 2007 11:49 pm
Kamillos napisał(a):
Quote:
Witam,
Chciałem przy przerwaniu Timera wysyłać po jednym znaku ze stringa
zapisanego w pamięci flash, uzywając w przerwaniu polecenia:
ISR (TIMER0_OVF_vect){
UART_putchar(pgm_read_byte(*s++));
... //tutaj inne rzeczy
}
a jako s miałby być przypisywany jeden z kilku stringów
const U08 str1[] PROGMEM ="napis 1";
const U08 str2[] PROGMEM ="cos tam";
Jednak nie wiem jak przypisać do s wybrany string? i jak go zadeklarować?
Ze stringami w ramie nie ma problemu, natomiast z tymi z flasha nie daje
rady.
Pozdrawiam
Kamil
no wiec już nieaktualne, doszedlem do tego

, po prostu
s=str1;
oraz UART_putchar(pgm_read_byte(s++));
sugerowałem się
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=38003&highlight=pointer+string
a tam na dole są małe korekty, dobranoc,
Kamil