Страница 1 из 2

Нужен совет или помощь по ASM или по С

Добавлено: Вс фев 03, 2008 16:04:31
Mirak
Есть набор МастерКит 182/2 (http://www.masterkit.ru/main/set.php?num=629). Та прошивка, которая шла с набором не совсем удовлетворяет требованиям. Там есть 32 шага программирования таймера. Т.е. можно задать 16 включений/отключений нагрузки. Минимальный период включенной нагрузки 1 мин. Необходимо задавать период включения нагрузки в секундах. Вопрос: можно и, если можно, то насколько сложно изменить программу таким образом, чтобы устройство работало нужным образом ? С удовольствием разобрался бы сам, но навыков С не имею, а программирование только в бейсик... Буду благодарен за любые советы, или за помощь в изучении и написании новой программы. Прикрепляю исходник 182/2

Добавлено: Вс фев 03, 2008 16:36:46
Negor
А принципиальная схемка есть? ато на сайте нету...

Добавлено: Вс фев 03, 2008 18:32:02
Mirak
Да, на сайте схемы уже нету, т.к. этот набор снят с производства. Но есть схема NS182 (http://www.masterkit.ru/main/set.php?num=562) - они одинаковые с NS182/2. Разница в прошивках.
Схему подшил.

Добавлено: Вс фев 03, 2008 20:28:50
Mirak
А здесь полное описание прошивки.
http://depositfiles.com/files/3368622

Добавлено: Пт фев 08, 2008 12:50:15
Mirak
Попробовал запустить прошивку в AvrStudio - не получилось. программа нашла 2 ошибки в прошивке. Может кто посмотрит - в чём дело ?

Добавлено: Пт фев 08, 2008 13:04:10
ARV
так и писал бы сразу - какие ошибки... че понапрасну постить...

Добавлено: Сб фев 09, 2008 19:34:36
Mirak
Странно, теперь показала 1 ошибку...

Ошибка:
D:\Data\Documents\182-02.asm(171): error: syntax error, unexpected MNEMONIC

А вот что было в этой строчке:
ldi ZL, CLC*2 ;load MSG ADDR

Добавлено: Сб фев 09, 2008 20:09:43
ARV
А что ж еще хотите - CLC это конкретная команда ассемблера... нельзя использовать метки и константы, совпадающие с мнемоникой команд.

Добавлено: Вс фев 10, 2008 09:47:19
Mirak
Это я и сам понял ! Просто прошивка скачена с сайта МастерКит, которая работает в конкретном вышеупомянутом устройстве. А что тогда должно быть вместо CLC ?

Добавлено: Вс фев 10, 2008 09:58:42
ARV
Mirak писал(а):Это я и сам понял ! Просто прошивка скачена с сайта МастерКит, которая работает в конкретном вышеупомянутом устройстве. А что тогда должно быть вместо CLC ?
1. Не факт, что именно эта программа работает. Ни разу не встречал, чтобы публиковались исходники прошивок к коммерческим продуктам.
2. Надо во всех местах, где используется метка CLC заменить ее ну хотя бы на CL_C, после чего откомпилировать.

Добавлено: Вс фев 10, 2008 15:23:22
Mirak
Пробовал заменить, но появляется ещё больше ошибок... Там что то конкретно неправильно. И зачем выкладывают заведомо неисправный код ? Сказали бы просто - коммерческая тайна. Вот, мучаюсь теперь...

Добавлено: Вс фев 10, 2008 16:19:06
ARV
возможно, заменил не только метки, но и команды :) пользовался Find-Replace?

Добавлено: Вс фев 10, 2008 19:28:36
Mirak
Да что ж я совсем дундук ? Конечно, я просмотрел весь код, и заменил вручную только CLC. Оно встречается 2 раза: 1й раз определяются константы, а второй раз там где была ошибка. Ты хоть код то смотрел ?

Добавлено: Вт фев 12, 2008 17:11:24
Mozart
вообще файлов не хватает... там где .include "..." вот этих файлов не хватает... и в конце подключается целых два файла их тоже не хватает...
а вообще написать самому слабо?? схема есть... только пиши...

Добавлено: Вт фев 12, 2008 19:11:24
Mirak
я бы с удовольствием написал бы, но пока уровень не позволяет. пока я на стадии изучения стэков, регистров и т.д. пробую что то программировать на примерах. доходит с трудом - образование совсем не электронщика, к сожалению. всего лишь хобби, но толкает вперёд.

Добавлено: Вт фев 12, 2008 19:38:53
Mirak
Да, пардон, эти 2 файла есть. Там кроме них, если внимательно посмотреть, то загружаются ещё 3 файла. Я совсем забыл. Пристегнул... Может я не в ту папку эти файлы закатал ? (Я положил эти файлы в папку C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes) - это правильно ?

Добавлено: Вт фев 12, 2008 21:29:22
Mozart
эта вся херь должна быть в одной папке... нужно создать проект и туда всё это импортировать...

Добавлено: Ср фев 13, 2008 08:43:57
Mirak
Скопировал все файлы в одну папку и проект создал в ту же папку. AVR Studio опять ругнулась на один из подфайлов - имя метки совпадало с именем регистра. Поменял имя метки, и всё заработало ! Наверняка из МастерКита специально залепили с ошибкой в исходнике. Эта ошибка же очевидна. Не понимаю только для чего выкладывать было... Теперь вопрос - а как мне посмотреть что и как отображается на дисплее ? как "нажимать" клавиши ? Просто изменять регистры мышкой вручную ? (смотри схему).

Добавлено: Ср фев 13, 2008 09:48:52
Mozart
на счёт очевидности ошибки не факт.. они могли компилировать другим компилятором, а он не воспринимает это как за ошибку...
не, ну схема собрана??? залей туда *.hex и должно быть щасье... или ты всё в протеусе делаешь?

Добавлено: Ср фев 13, 2008 14:07:05
Mirak
Нет, до протеуса я ещё не дошёл. Вот, приеду домой - скачаю и попробую поиграть с ним. А hex файл ведь и AVR Studio тоже делает. Но здесь в другом проблема. Смотри мой первый пост. Мне же надо изменить саму программу, чтоб можно было до секунд период времени программировать. Можно, конечно и концевик поставить, но с программой интереснее !