![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| bend |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
возникла проблема с библиотекой NokiaLCD.c и не только у меня одного, не работает нормально функция LcdStr()
Дело в том, что если выводить 2-4 и более строк дисплэй или ничего вообще не выводит или выводит чушь. Дисплэй 100 процентов исправен, заполнял его весь и линиями и пикселами и разными символами. Если даже прописать const char *string[5]={"1","2","3","4","5"} всеравно больше 3 строк нормально не выводится. Дак вот почитал на форумах что с такой же проблемой сталкнулся народ и есть выход разместить строковые константы в eeprom. Но как это сделать на avr-gcc??? |
|||
|
||||
| Mazzi |
|
|||
|
Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
А что пишут по этому поводу в руководстве компилятора?
-------------------- Мне нужны помощники. |
|||
|
||||
| bend |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Да ничего особого, есть там 6 основных команд запись байта, слова и буфера, разобрался с сзаписью в eeprom, разместил там строки, но ничего не изменилось
|
|||
|
||||
| Mazzi |
|
||||
|
Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
У меня компилятор не GCC, поэтому не могу точно сказать что тебе делать.
Вот смотри пример от моего компилятора CodeVisionAVR:
Для размещения строк в памяти программ:
-------------------- Мне нужны помощники. |
||||
|
|||||
| bend |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
После 4 дней напряженных боев, выяснилось что глюк происходит если в строке передаваемой функции LcdStr(), содержаться пробелы цифры и проч небуквенные знаки. Хотя по умолчанию компилятор должен жевать в utf8, и отдельно символы любые выводяться через LcdChr(), пока непонятно Вот функция
походу загвоздка именно здесь, при разбивке всей строки на байты как-то косячно передаються коды небуквенных символов... Я плохо пока понимать с++ |
|||
|
||||
| bend |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
Бои закончились победой с моей стороны
Попутно пришлось изучить eeprom, теперь я написал процедуру привязки новых устройств к шине 1-wire, можно былоб конечно намутить автораспознование устройств на шине, но у меня устройств мало и если один датчик сгорит, то пришить новый к системе можно будет не перешивая МК. Идея проста, подключаем новое устройство (например датчик температуры) к шине, остальные устройства от шины отключаем, сканируем его персональный код и записываем его в eeprom. Ну и для пущей картины сегодня подключил русские буквы, дабы русифицировать меню. Было немнога геммороя, дело в том что в линукс везде практически кодировка UTF8, (т.е. мультибайтная), я вышел из положения просто добавив в makefile, перекодировку из utf8 в cp866 перед компиляцией. Ну и русские буквы должны быть в строгости с ascii, а там после буквы "п", идет псевдографика 48байт, потом остальные русские буквы. Пока подключил 3 датчика температуры, ну и конечно потом занес все серийники с ключей-таблеток от домофона, (на будующее для отмычки домофонов). Линию пробовал и 2-х проводную с подтягивающим резистором, все работало. Питаю все это дело от нокиовской батарейки Как лучше сделать клавиатуру? Нашел схему матрицы типа крест накрест выводы портов, но как тогда избежать дребезга? Вообще посоветуйте хорошую схему клавиатуры кнопок из 5-9? |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |