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

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

1 11 17

AHTOXA: Я же не телепат Покажи что получилось, как ругается.
Да то же самое что я до этого выкладывал. Тоже ошибка где-то в 51 строке и опять main....

Да, и я все же попробую переписчать самостоятельно эту начальную часть проги без твоих макросов. Хотя с ними и удобней, но думаю надо вначале для понимания процесса все-таки сделать по старинке. А когда прийдет понимание, то для быстроты написания можно будет уже и применять макросы

 

АНТОХА
Не получается компилирвать твою программу. Подскажи последовательность действий для WinAVR. Просто решил попробовать вначале оживить экран с твоей прошивкой, а откомпилировать не выходит.
И еще вопрос по синтаксису я зыка Си. В твоих файлах с расширением .h встречается тип переменной extern void. Что он означает? не могу нигде найти

 

serg_svd: Не получается компилирвать твою программу.

Ну ты прям как маленький "Не получается" - это ни о чём не говорит, понимаешь? Напиши, что ты делаешь, и что происходит при этом.

serg_svd: Подскажи последовательность действий для WinAVR.

1. Поставить WinAVR;
2. Создать папку (любую, например, C:\AHTOXA )
3. Распаковать туда мой архив.
4. В файле C:\AHTOXA\makefile найти строчку


bin = C:/winavr/bin

и заменить C:/winavr/bin на путь, куда поставлен WinAVR. Слеш ("/") применять только такой.
5. Нажать "Пуск" - "Выполнить", набрать там "cmd" и нажать "Ок".
6. В чёрном окошке написать "C:" и нажать Enter;
7. Там же написать "cd C:\AHTOXA" и нажать Enter;
8. Написать "make" и нажать Enter;
Всё.

serg_svd: В твоих файлах с расширением .h встречается тип переменной extern void.

Это объявление внешней переменной.
Поясню. Допустим, у нас есть файл file1.c. В нём есть переменная int a.
А мы хотим в файле file2.c что-то сделать с этой переменной. Для этого мы пишем файл file1.h, и в нём пишем extern int a, а в файле file2.c в начале пишем #include file1.h.
Запись extern int a означает, что где-то есть переменная a типа int.

Вместо этого мы могли просто в файле file2.c написать extern int a.

 

Да в натуре, с этим программированием чую себя младенцем
Из всего вышеперечисленного я понял, что надо из командной строки работать. Попробую конечно, помучаюсь....
Все-таки надо все ваять в одном куске кода, иначе вовек не разберусь. А то и так в Си пока чайник, так еще и кучу всего другого проиходится осваивать.
Спасибо, что хоть возишься еще с о мной...

 

serg_svd: Из всего вышеперечисленного я понял, что надо из командной строки работать.

Вывод неверный Надо просто написать, с чем ты работаешь, что конкретно делаешь, и что не получается. А пока от тебя только охи одни Давай поконкретнее, лады?

 

AHTOXA: Вывод неверный Надо просто написать, с чем ты работаешь, что конкретно делаешь, и что не получается. А пока от тебя только охи одни Давай поконкретнее, лады?
Давай поконкретнее.
работаю с WinAVR. Версию сейчас точно не подскажу, но качал в начале осени приблизительно.
Еще есть Code Vision, VMlab, и собственно AVR Studio.
Но программы сейчас пишу пока в WINAVR.
по вопросу "Чем конкретно занимаюсь". Обложился книжками "Программирование на Си" Подбельский, "Программирование на си для AVR и PIC", Румиком по программированию на Си из журнала Схемотехника. И соответственно их читаю и пытаюсь понять как оно вообще работает.

Ивот среди этого вороха я и пытаюсь накрапать программу оглашенную в этой теме, а именно, собрать термометр на LCD nokia 3310 и датчиках DS18b20.
Пока что первоочередная задача - это запустить индикатор.
И пока что-то нихрена не выходит, стыдно то, что путаюсь в мелочах. Но считаю что пока я новичок, программу надо писать целиком, а не подключать отдельные модули как делали вы. Ибо так я не понимаю алгоритма и быстро путаюсь.
Вот в общем то и все. Если захочется поплотнее, то могу в личку скинуть номер аськи. Только честно предупрждаю, что своими вопросам могу доконать
ЗЫ. А насчет cmd, так это и есть коммандная строка. Что я не понял?

 

WinAVR - это утилиты командной строки. Можно запускать их руками, из командной строки, а можно использовать какую-нибудь интегрированную среду разработки, которая умеет запускать на выполнение make.
Я не знал, что у тебя есть в наличии, потому описал работу из голой командной строки
Чем ты редактируешь исходные тексты программ?

 

AHTOXA: Чем ты редактируешь исходные тексты программ?
Там же в WinAVR есть прога, Program Notepad. В ней и пишу прогу (пытаюсь вернее) и оттуда же запускаю компиляцию. Для этого, как я уже и писал выше, надо чтоб в этой же папке был и makefile. Причем та программа, которую я как то корректировал для себя, я ее не указыввал в makefile, а просто помещал этот файл в папку с программой. ТАм же в WinAVR есть прога для создания makefile.

И именно поэтому я и не разобрался как компилировать твои исходники.

 

serg_svd: Там же в WinAVR есть прога, Program Notepad.

Во, уже конкретика Ну нотепад так нотепад.
Значит так:
1. Запускаешь нотепад.
2. Выбираешь "File"-"New Project"
3. В появившемся окошке вводишь имя проекта (напр. nokia-test)
4. В этом же окошке указываешь папку (Folder) , куда ты распаковал мой архив.
5. Потом слева в дереве тыкаешь правой мышкой на название проекта и в меню выбираешь "Add files"
6. Появляется диалог выбора файлов, залезаешь в папку src и выделяешь там все файлы. Давишь Ok.
7. Потом лезешь в меню "Tools"-"Options", выбираешь слева "Tools".
8. Справа выделяешь "[WinAVR] Make All", нажимаешь кнопку "Edit".
9. В строчке "Folder:" вводишь $(ProjectPath).
10. То же самое делаешь для "[WinAVR] Make Clean" и "[WinAVR] Program".
11. Закрываешь нотепад (почему-то так надо)
12. Снова открываешь нотепад, открываешь проект nokia-test, выбираешь в меню "Tools" пункт "[WinAVR] Make All".
Всё

Если вылезли ошибки, то копируешь текст ошибки из окошка "output" сюда, разберёмся

 

AHTOXA: Если вылезли ошибки, то копируешь текст ошибки из окошка "output" сюда, разберёмся
ОК