Перенос кода Arduino LiquidCrystal_1602_RUS на проект Atmel Studio
- Войдите на сайт для отправки комментариев
Ср, 18/05/2016 - 21:54
День добрый, никогда раньше не сталкивался с программированием под микроконтроллеры.
В общем надо в готовый проект https://github.com/stawel/cheali-charger впилить библиотеку с поддержкой русских символов:
Скетчи готовой либы для ардуины и для атмел студии немного отличаются:
В итоге я вконец с этим всем запутался...
в либе русской есть функция:
void LiquidCrystal_1602_RUS::print(const wchar_t *_str){
в cheali-charger:
uint8_t LiquidCrystal::print(const char str[])
уже типы не совпадают
В итоге застрял на этом:
D:/Cheali/cheali-charger-master/src/core/drivers/LiquidCrystal.cpp: In member function 'uint8_t LiquidCrystal::print(const char*)':
D:/Cheali/cheali-charger-master/src/core/drivers/LiquidCrystal.cpp:359:12: warning: case label value exceeds maximum value for type
case 1041: //╨С
uint8_t LiquidCrystal::print(const char str[]) { uint8_t rus_[8]; int current_char = 0; int size = 0; //Определяем длину строки (количество символов) /*while(str[size] != NULL) { size++; }*/ size = strlen(str); while(current_char < size) { switch(str[current_char]) { //Русский алфавит, требующий новых символов //Единовременно может быть заменено только 8 символов case 1041: //Б memcpy_PF(rus_, (uint32_t)rus_B, 8); CharSetToLCD((uint8_t *)rus_, &index_rus_B); break;
Валится на case 1041
Как букву в этот код перевести?