0
У меня есть некоторые проблемы с чтением строки из памяти программы:AVR PROGMEM читает мусор вместо строки
const char str[] PROGMEM = "Test string here\r\n";
Вот мои печатные процедуры:
/** Send string over UART */
void uart_puts(char* str)
{
while (*str) {
uart_tx(*str++);
}
}
/** Send progmem string over UART */
void uart_puts_pgm(const char* str)
{
char c;
while (0 != (c = pgm_read_byte(&str))) {
uart_tx(c);
str++;
}
}
Нормальный один работает просто отлично, но progmem one печатает бесконечный поток 0xFF
. Где ошибка?
Я работал с progmem раньше, и он всегда работал. Кажется, я не могу найти проблему здесь.