Я использовал следующий код для записи строки во флэш-память микроконтроллера Atmega128.И я использовал функцию send_at_command для отправки этой строки.Но отправляется только первый символ (A).
.
.
.#include <avr/pgmspace.h>
.
.
const char PROGMEM at_emailcid[14]="AT+EMAILCID=1";
.
.
void send_at_command(const char str[])
{
static unsigned int loop_counter=0;
static char c=0;
for(loop_counter=0;loop_counter<(sizeof(str)-1);loop_counter++)
{
c=pgm_read_byte(&str[loop_counter]);
put_char_0(c);
}
}
.
.
.
int main(void)
{
send_at_command(at_emailcid);
.
.
}
Я также написал функции 'memcpy_P (a, b, c)' и 'strcpy_P (x, y)' в " Какхранить константы в ROM (Atmel)"в моей функции 'send_at_command'.Но это не сработало должным образом.
Как мне написать правильную функцию для отправки этой строки?Спасибо.