Массивы напрямую менять запрещено. Либо делайте в цикле поэлементно (не забыв добавить '\0' в конце), либо воспользуйтесь функциями strcpy или strncpy. Лучше использовать вторую, так как в первой, при копировании строки большей длины, чем исходная, проверка на выход за границы не происходит и можно получить ошибку. Как-то так:
| Код | #include "string.h" ... char str[] = "EXECUTE"; ... strncpy(str, "set", sizeof(str)); |
Поэтому, если хотите менять содержимое строки, то объявите ее просто как char str[максимально_возможная_длина_строки + 1] (плюс один нужнен для хранения символа конца строки -- '\0'). И каждый раз при изменении строки пользуйтесь функцией strncpy. Для строки на 100 символов будет так:
| Код | #include "string.h"
#define MAX_LEN 101
char str[MAX_LEN]; strncpy(str, "EXECUTE", MAX_LEN); ... strncpy(str, "set", MAX_LEN); |
Так же стоит учесть в функции LCD_Send_String, что символы нужно писать до тех пор, пока не встретится символ '\0'. |