Мой первый проект на attiny2313 - не работает.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

Мой первый проект на attiny2313 - не работает.

Сообщение BoRtO »

Почитал, позубрил Самоучитель разработчика устройств на микроконтроллерах AVR, решил написать свою первую програму, жмеш кнопку светодиод светит, пустил - не светит
откомпилировав, собрал в протеусе, а оно не работает :cry:
может подскажет кто-нибудь в чем суть...
в архиве схема, исходник, протеус
Вложения
main project.rar
(70.25 КБ) 261 скачивание
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
Реклама
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мой первый проект на attiny2313 - не работает.

Сообщение ut1wpr »

BoRtO писал(а):может подскажет кто-нибудь в чем суть...
в архиве схема, исходник, протеус
Суть в полном непонимании происходящего. Убегайте бегом от всяческих визардов! Вы хоть поняли, что вам этот "волшебник" нагородил? В идеале ваша программа должна состоять из нескольких строк. А что у вас? Рановато вы компилировать начали. Этому должно предшествовать внимательное чтение литературы и понимание прочитанного. Кодевижны и прочие визарды этому не способствуют.
Правда, есть среди здесь их яростные поклонники, утверждающие что визарды экономят им бесконечное количество времени, которое они рационально тратят на глобальное решение глобальных проблем, не размениваясь на такие мелочи, как настройки портов, таймеров, уартов и прочей мелочи. Не барское это дело, мол.
Не уподобляйтесь им. Вникайте. Пригодится.
Чтобы немножко подсказать, помогу. Уберите ВСЕ инициализации после объявления функции main() вплоть до оператора while(1). Краткость вашей первой программы (уверен, она не ваша, вы бы не написали такого) поражает. Если вы еще вдобавок слегка владеете английским, вас должна будет насторожить фраза "Place your code here". Насторожить и призадуматься, а что же я должен "place here"? :) ВЫ НЕ ЗАДАЛИ МК НИКАКОЙ ПРОГРАММЫ ДЕЙСТВИЙ. Вернее, попросили крутиться в бесконечном ПУСТОМ цикле. Скорее всего МК это и выполняет, и ничего более.
С уважением,
Виктор.
Реклама
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BCluster »

Волшебник то вещь норм, но понимать что он делает надо!
Но тут даже не в том дело
Вообще функциональность не описана, автор покажи мне какая строчка твоего кода включает светодиод? И какая реагирует на нажатие кнопки?
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

Re: Мой первый проект на attiny2313 - не работает.

Сообщение O-LED »

Убегайте бегом от всяческих визардов!

BoRtO и еще от всяких догм, часто глупых, часто не своих (кем то написанных).
Изучите поглубже работу какого нибудь компилятора (любого, какой вам больше понравится), и он ответит вам взаимностью. Ну а когда ваш уровень вырастет, то и советы в чем писать, и на чем писать вам не понадобятся.

По существу. у вас действительно кроме инициализации устройств ничего нет. Т.е. кроме того что с генерировал кодевижен нет ни одной вашей строчки. Может просто выложили не тот архив??
KIT
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Reloader
Мучитель микросхем
Сообщения: 451
Зарегистрирован: Сб фев 26, 2011 14:38:42
Откуда: Новочеркасск

Re: Мой первый проект на attiny2313 - не работает.

Сообщение Reloader »

Большие, сильные, тяжелые коты...
наиздевались? полегчало?
если бы мне так ответили - я бы реально обиделся. Не стыдно?

Хот бы кто - нить переборол свою лень и строчку кода написал...
Это, пес вас забери, ПЕРВЫЙ проект. с этого все начинается, от этого зависит - будет человек заниматься или нет. Вам бы помочь, а вы подножки ставите

Друг, во вложении исходник с описанием и протеуссовская модель.
и не служай "больших" - тем, кто может подключить экран от мобильника и рисовать на нем уже не под силу помигать светодидом
Вложения
TestLed.zip
Исходник, модель
(47.37 КБ) 200 скачиваний
Выпрямите спину и уберите левую руку от лица.
Мой Youtube канал
Реклама
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BCluster »

Reloader писал(а):Хот бы кто - нить переборол свою лень и строчку кода написал...
Так все время и будет кто-то строчку кода писать. Мне не лень - просто это не педагогично. В интернетах куча примеров - надо их посмотреть и попробовать свое.
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мой первый проект на attiny2313 - не работает.

Сообщение ploop »

Это, пес вас забери, ПЕРВЫЙ проект. с этого все начинается, от этого зависит - будет человек заниматься или нет. Вам бы помочь, а вы подножки ставите
Интересно, почему я в своём первом проекте, после того, как зажег светодиод и поморгал им, через десяток-другой минут сумел инициализировать UART и наблюдать эхо на компе?
Наверное потому, что писал в блокноте, и держал перед собой даташит? Или потому, что перед этим почитал статей на тему, что такое МК и с чем его едят?
Почему, вообще, у меня USB-программатор заработал сразу? С первого раза!? Потому, что паять умею? Или я уникум такой?

Ответ на все эти вопросы один: если хочешь научиться - учись. Что-то непонятно - спрашивай. А коли спрашиваешь - слушай, что советуют.

На написание этого поста у меня ушло гораздо больше времени, чем дать автору готовую строчку. А иногда приходится тянуть темы страницами, и объяснять примитивные вещи, но когда видишь, что человек учится и делает успехи - это только в радость.
Аватара пользователя
Reloader
Мучитель микросхем
Сообщения: 451
Зарегистрирован: Сб фев 26, 2011 14:38:42
Откуда: Новочеркасск

Re: Мой первый проект на attiny2313 - не работает.

Сообщение Reloader »

А коли спрашиваешь - слушай, что советуют.
а советуют "читай мануалы"
просто это не педагогично

зато "читай мануалы" это мега педагогично!!!

Не нужно быть специалистом, чтоб сказать "у тебя что-то неправильно, смотри в книжке"
ИМХО : Форумы создаются для помощи друг другу, а не для того, чтоб показать, насколько кто крут.

хвостами меряйтесь в другом месте!!!
Выпрямите спину и уберите левую руку от лица.
Мой Youtube канал
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BCluster »

Reloader писал(а):Форумы создаются для помощи друг другу
вот именно. А это не помощь, а только во вред.
Когда не получается что-то конкретное и человек спрашивает что не так - всегда с радостью отвечу. А когда с бухты барахты что-то сделано с полным непониманием того, что делается это совсем другое - человек должен вникнуть в происходящее.
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BoRtO »

вот это я написал в новом проекте

Код: Выделить всё

.include "tn2313def.inc"
.list
.def temp = 16
            .cseg
            .org        0
            idi         temp, RAMEND
            out         SPL, temp
            idi         temp, 0
            out         DDRD, temp
            idi         temp, 0xFF
            out         DDRB, temp
            out         PORTB, temp
            out         PORTD, temp
            idi         temp, 0x80
            out         ACSR. temp
main:       in          temp, PIND
            sbrc        temp, 0
            rjmp        main
жму: генерировать програму, сохранитьи выйти, а оно мне кучу всякой...
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мой первый проект на attiny2313 - не работает.

Сообщение ploop »

Отлично. Можешь теперь прокомментировать каждую строку кода? Попробуй. Уверен, узнаешь много интересного :)

Например: зачем тебе понадобился аналоговый компаратор? И что будет после того, как кнопка будет нажата? Вообще, где проверяется нажатие?
Мы видим, видишь ли это ты?
жму: генерировать програму, сохранитьи выйти, а оно мне кучу всякой...
Так наверное надо написать, что не так. Перед этим желательно прочитать ошибки. После прочтения, в 90% случаев доходит, что надо сделать.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Мой первый проект на attiny2313 - не работает.

Сообщение Engineer_Keen »

Код: Выделить всё

            out         ACSR. temp
Там между операндами точка или это опечатка?
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мой первый проект на attiny2313 - не работает.

Сообщение ploop »

Это нежелание прочесть вывод компилятора, который теперь явно указал на эту строку.
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BoRtO »

Engineer_Keen писал(а): Там между операндами точка или это опечатка?
опечатка. должна быть запятая
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BoRtO »

ploop писал(а):Отлично. Можешь теперь прокомментировать каждую строку кода? .

Код: Выделить всё

.include "tn2313def.inc"                 ; Файл описания
.list                                    ; включение листинга
.def temp = 16                           ; главный рабочий регистир
            .cseg                        ; выбор памяти
            .org        0                ; установка адреса на 0
            idi         temp, RAMEND     ; выбор адреса стека
            out         SPL, temp        ; запись регистра стека
            idi         temp, 0          ; пишу 0 в регистр temp
            out         DDRD, temp       ; пишу 0 на порт PD - порт ввода 
            idi         temp, 0xFF       ; число $FF в регистр temp 
            out         DDRB, temp       ; пишу temp на порт PB - порт вывода
            out         PORTB, temp      ; потушить светодиод
            out         PORTD, temp      ; вкл. внутренный резистор
            idi         temp, 0x80       ; вкл. компаратор 
            out         ACSR, temp       
main:       in          temp, PIND       ; чтения порта PD
            sbrc        temp, 0          ; переслать в порт PB
            rjmp        main             ; начало цикла
прокоментировав

не ругайтесь на меня, я начинающий в написании программ
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мой первый проект на attiny2313 - не работает.

Сообщение ploop »

sbrc temp, 0 ; переслать в порт PB
Вот тут у тебя ошибка.
SBRC - Skip if Bit in Register Cleared - дословно, "пропустить, если бит в регистре очищен".
Если бит, номер которого ты указал в этой команде, (тут нулевой, младший бит) будет очищен (равен нулю), следующая команда пропускается. А следующая команда - rjmp, т.е. при нажатии ты её перепрыгиваешь и попадаешь в никуда (дальше кода нет)

Думаем...

зы: а зачем всё-таки компаратор-то?
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BoRtO »

вот надумал

Код: Выделить всё

out         PORTB, temp       ; переслать в порт PB
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мой первый проект на attiny2313 - не работает.

Сообщение pyzhman »

Код: Выделить всё

.def temp = 16                           ; главный рабочий регистир
Может R16?
Docendo discimus
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BoRtO »

от балда :oops:
спасибо :)
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
BoRtO
Друг Кота
Сообщения: 3424
Зарегистрирован: Вт ноя 30, 2010 11:46:16
Откуда: Україна

Re: Мой первый проект на attiny2313 - не работает.

Сообщение BoRtO »

ploop писал(а):А следующая команда - rjmp, т.е. при нажатии ты её перепрыгиваешь и попадаешь в никуда (дальше кода нет)
а что тогда с rjmp делать?
Пора что то поменять в своей жизни - поменял windows.
КПІ РТФ!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»