Свежие обсуждения
Микроконтроллеры

Цифровой термометр на МК и LCD nokia 3310

1 10 17

AHTOXA: Это для всех АВРок. Есть ещё для MSP-430, для Fujitsu MB90, для MSC51. Какие надо?
Да нет, спасибо. Это пока для меня экзотика еще .
Выкладываю схему, по которой собираюсь делать макетку. Если есть ошибки в схемотехнике, то подскажите где и какие.
Также там приложен начальный кусок пршивки. В основном она от АНТОХИ, просто я добавил некоторые комментарии и попробовал разобраться с командами LCD.

Только при компиляции этого кусочка кода почему-то возникает ошибка, причем в указаной строке я ошибки не вижу. Тоже подскажите в чем там дело

133092.zip

 

а это глюк моего интернета

133094.zip

 

По схеме вроде всё нормально, единственное, я не знаю, правильно ли включен конденсатор C3, в смысле полярности. Я ставил 1мкФ неполярный.
По подключению датчиков температуры я не копенгаген.

Что касается ошибки. Во-первых, в программе на Си должна быть функция main(). Туда передаётся управление после начальной инициализации.
Во-вторых, в makefile надо вписать имена файлов, которые надо компилировать. Для этого там есть строка:
# List C source files here. (C dependencies are automatically generated.)
SRC =

Вот в эту строку надо вписать *.c файлы через пробел.
Кстати, в моём makefile этого делать не надо, он их сам находит

 

AHTOXA: Во-вторых, в makefile надо вписать имена файлов, которые надо компилировать. Для этого там есть строка:
# List C source files here. (C dependencies are automatically generated.)
SRC =

Когда я перекомпилировал себе программу сканирующего приемника, я подобное в makefile не делал. было достаточно того, что он находится в той же папке, что и компилируемая программа. Надо проверить....
А вот насчет main() не совсем понятно. Пойду книжку полистаю
Приобрел вчера себе Подбельского оп программированию на С. Другого ничего не было...

 

serg_svd: Когда я перекомпилировал себе программу сканирующего приемника, я подобное в makefile не делал. было достаточно того, что он находится в той же папке, что и компилируемая программа.

Дык, тут ключевое слово — перекомпилировал. Видимо уже всё нужное было вписано.

serg_svd: Пойду книжку полистаю

Вот это — всегда полезно

 

AHTOXA: Дык, тут ключевое слово — перекомпилировал. Видимо уже всё нужное было вписано

Там только исходник был, без makefile
После инициализации ЖК что дальше надо делать? Нужно ли как-то загружать специально символы или достаточно просто прописать их коды? А после уж приступать к выводу их на ЖК?

 

serg_svd: Там только исходник был, без makefile

А в чём же тогда ты не делал изменений?

serg_svd: После инициализации ЖК что дальше надо делать?

Выводить данные. Этот ЖКИ не имеет знакогенератора, единственное что он умеет - выводить точки на экране.
Поэтому для букв написана функция (подпрограмма) вывода буквы на экран по коду символа (nokia_putchar()).
Эта функция по коду символа находит в таблице 5 байт, содержащие образ символа на экране, и выводит их на экран.
Чтобы прицепить таблицу к программе надо просто включить её в исходный текст программы:
static u08 __attribute__ ((progmem)) Font5x7[] = {
#include "font_dos_ru.inc"
};

Я вытащил её в отдельный файл, мне так удобнее было.

Итак, в main()
1. Инициализация ЖКИ;
while (TRUE) // бесконечный цикл
{
Вывод буквы на экран.
Ещё что-то.
}

 

AHTOXA: А в чём же тогда ты не делал изменений?
Изменения делал в исходнике на Си. А makefile делал сам в WinAVR

AHTOXA: Итак, main()........
Ничерта пока не понял Пошел дальше книжку зубрить.......

 

АНТОХА, ну объясни тупому, а. Прочел я и в книжке и на форумах, что без конструкции void main(void){} ни в одной программе не обойтись, что компилятор Си всегда ищет эту часть программы и здесь должна находится основная часть программы.
Ну я и вписал в свой начальный кусок исходника для проверки это, но при компиляции опять ошибка. Вписывал в самом конце программы.
Что не так делаю?

 

Я же не телепат Покажи что получилось, как ругается.