Итак, я получил домашнее задание, чтобы сделать некоторые вещи с помощью EEPROM. Несмотря на то, что я решил большинство других вещей, я застрял в проблеме, где мне нужно написать свое имя, а затем распечатать.
Почему-то пишется только первая буква моего имени, а не все. Я пытался пойти с этим несколькими другими способами, но это единственный способ, которым я могу написать одно письмо в моем eeprom.
Что-то я пропускаю или делаю неправильно?
Вот мой код:
Итак, я хочу, чтобы это:
Я хочу, чтобы он взял первую букву моего имени, а затем поместил ее в первый байт (0x10, затем следующий) и поместил в 0x11 и так далее. После этого я хочу распечатать его. Однако я не знаю, в чем проблема.
Я попытался взять свое имя и поместить его в несколько различных массивов, а затем распечатать их по порядку, и я попытался даже разделить свое имя, однако это единственный способ, которым он работает, и результат не что я хотел. Я что-то упустил или что-то сделал не так?
void main (void) {
uint8_t data;
uint8_t name[] = "Patrik";
i2c_init();
uart_init();
sei();
_delay_ms(5000);
while (1) {
for (uint8_t i = 0; i < sizeof(name[i]); i++) {
eeprom_write_byte(0x10+i, name[i]);
}
_delay_ms(1000);
for (uint8_t i = 0; i < sizeof(name[i]); i++) {
printf("%c", eeprom_read_byte(0x10+i));
}
}
}