У меня есть функция на маленьком микроэлементе, который отправляет один символ за раз из порта UART.
USART_0_write('x');
Это заставляет символ x выходить из последовательного порта.
Я создал эту функцию, которая работает:
char source[] = "Test Text.";
for (uint8_t i=0; i < strlen(source); i++){
USART_0_write(source[i]);
}
Все, что я хочу сделать, - просто динамически обновлять строку, которую я отправляю, без создания отдельного массива для каждой отправляемой вещи.
Я в основном хочу сделать то, что я предполагаю, что strcpy делает, но я не могу заставить эту функцию работать.Однажды я получил версию, использующую strcpy для компиляции, но это, должно быть, утечка памяти, потому что когда я ее запускал, все порты ввода / вывода на чипе становились неработоспособными.
strcpy(source,"Different String");
Я хочу что-то сделатьвот так, затем снова вызовите мою первую функцию и напечатайте новую обновленную строку из последовательного порта.
Я понимаю концепцию указателей, но все, что я читаю, объяснение синтаксиса я не могу понять.Я перепробовал кучу разных комбинаций, ставя старты до и после всего.Неважно, что это полный провал.
Я перечитал это замечательное объяснение, однако, как и большинство объяснений, эта штука останавливается ТОЛЬКО КРАТКОЕ, фактически предоставляя единственную строку кода, которая фактически заставляет все это работать навнизу, когда речь идет о динамическом обновлении строки: https://www.cs.bu.edu/teaching/cpp/string/array-vs-ptr/
Спасибо.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
(я отредактировал свой пост и добавил это, так как вы можете 't добавить новый пост ниже, не «отвечая» на свой вопрос, а раздел ответа на комментарий не допускает форматирования и ограничен 500 символами, что глупо).
Я пытаюсь создать менювыполнив следующее:
my_string = "Menu item 1";
sendString(my_string); //function to iterate through characters sending them
my_string = "Menu item 2";
sendString(my_string); //function to iterate through characters sending them
my_string = "Menu item 3";
sendString(my_string); //function to iterate through characters sending them
Теперь, вероятно, есть способ сделать это, требующий степени магистра.Я просто пытаюсь заставить это глупое меню работать.Я буквально создаю отдельные функции, которые создают новый массив символов для каждой строки, что является неправильным способом сделать это, но это единственное, что я могу понять после нескольких часов борьбы с этим.