ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
WishMasterMax
Потрогал лапой паяльник
Сообщения: 389
Зарегистрирован: Пн июл 09, 2012 11:07:59
Откуда: Ukraine
Контактная информация:

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение WishMasterMax »

А, ну в принципе да))Что-то я тупанул)
А резистор не повлияет на сигнал?
In me the WishMaster...
Изображение
Изображение
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение ibiza11 »

3.6 + 0.3 = 3.9В
5.0 - 3.9 = 1.1В
если предельный ток 20мА, то R = 1.1/0.02 = 55 Ом минимум
поставь 330 Ом и не парься. при этом ток будет 3,3мА
Ставим плюсы: )
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение Gudd-Head »

WishMasterMax писал(а):А резистор не повлияет на сигнал?

Нет, не должен.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
vlipt
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Сб мар 28, 2009 06:17:07

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение vlipt »

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

Задача (чисто учебная) такая: С помощью двух кнопок по прерыванию PCINT управлять светодиодом. Код был написан для ATTiny13. В AVR Studio симулируется нормально.

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

.org 0               ;Задание нулевого адреса старта программы
rjmp reset         ;Безусловный переход к метке reset
.org 2               ;Адрес прерывания по изменению состояния выводов
rjmp pin_change;Безусловный переход к метке pin_change

reset:               ;Начало раздела инициализации контроллера
sei                    ;Глобальное разрешение прерываний
ldi r16,RAMEND ;Загрузка в регистр r16 адреса верхней границы ОЗУ
out SPL, r16      ;Копирование значения из r16 в регистр указателя стека SPL
sbi DDRB, 0      ;Установка 0-го бита в регистре DDRB в "1" (РВ0 - выход)
ldi r16,(3<<1)   ;Загрузка в r16 двух "1", смещенных на 1 разряд влево
out PORTB,r16  ;Включение подтягивающих резисторов на входах РВ1 и РВ2
out PCMSK,r16;Разрешение прерываний по изм. сост. выводов для РВ1 и РВ2
ldi r16,(1<<PCIE) ;Загрузка в регистр r16 единицы в разряд PCIE
out GIMSK, r16  ;Разрешение прерывания по изменению состояния выводов
Дальше не важно. Для ATTiny2313 я изменил вектор прерывания на 0x000B. Остальные регистры и биты в них вроде совпадают. НО последняя приведенная здесь команда не записывает 1 в GIMSK. И в симуляторе и собственно устройство не работает. Почему? Даташит читал,но все равно ничего не понял.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение akl »

Да, вроде, всё записывает. И прерывания симулируются.
GIMSK2313.GIF
vlipt
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Сб мар 28, 2009 06:17:07

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение vlipt »

akl писал(а):Да, вроде, всё записывает. И прерывания симулируются.
GIMSK2313.GIF

Так это что, глюки 6-й Студии? Или мои? Спасибо, буду копать дальше
Аватара пользователя
Vezd
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Пт мар 15, 2013 14:56:20
Контактная информация:

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение Vezd »

В МК ATtiny2313 частота синхронизации ввода-вывода clkI/O равняется частоте встроенного RC-генератора или отличается от нее?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение Gudd-Head »

Скорее завязана на тактовую частоту ядра. А уж от чего ядро тактируется...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Vezd
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Пт мар 15, 2013 14:56:20
Контактная информация:

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение Vezd »

Если у меня тактовая частота МК 8 Мгц, то частота синхронизации ввода-вывода clkI/O может быть либо равна 8 Мгц, 1Мгц либо отсутствовать?
Можно где-нибудь в Atmel studio 6 посмотреть чему получается равной частота синхронизации ввода-вывода clkI/O?
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение Kavka »

CLK_i/o равна частоте ядра, т.е. с учётом генератора и системного делителя.
Отключаться тактирование ввода-вывода может в режимах сна и т.п.
Смотреть это надо не в Студии, а спецификации на микросхему.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
Vanes
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт июл 08, 2014 14:27:38
Откуда: Славянск-на-Кубани

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение Vanes »

Парни помогите прояснить ситуацию, вот два проекта для AT90S2313 первую программу писал на CodeVision потом решил эту же программу написать в WinAVR но вот в чем проблема компилированый файл (он же hex) оказался в WinAVR больше чем в CodeVision. Писал в WinAVR строчка в строчку, заменяя CodVision-кий синтаксис на Стандартный Си. Вопрос ! почему получилось в родном WinAVR hex получился больше чем в CodeVision который так паскудят из за его говнокода на выходе. Сразу скажу в Асеблере не силен.
Вложения
Project WinAVR.rar
Вот проект на WinAVR
(29.36 КБ) 170 скачиваний
Project CVAVR.rar
Вот проект на CodeVision
(28.2 КБ) 187 скачиваний
Изображение Истина где то рядом :-)
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение Pink-Pank »

Настройками оптимизации пробовали играться?

К тому же, это два разных компилятора - следовательно работают по разному. отсюда и код может быть у них совершенно разный.
Fucking static initialization order fiasco
Аватара пользователя
Vanes
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт июл 08, 2014 14:27:38
Откуда: Славянск-на-Кубани

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение Vanes »

Насчет оптимизации я пробовал, но что то не особо выходит. Такая разница в таком не сложном алгоритме, хотя вчера писал прогу куда сложней работа с дисплеем и получилось что WinAVR скомпилировал на 500 байт меньше чем CodeVision. Вот такие пироги.
Изображение Истина где то рядом :-)
сарагоса
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пн авг 05, 2013 18:59:08

Как включить ШИМ на тини 2313

Сообщение сарагоса »

Вопрос к профессионалам ?
Решил изучить программирование микроконтроллеров,нашел тему -Регулирование коллекторного двигателя
Нашел, как для меня, очень хорошую программу-Flowcode-называется
Нашел файл плавного пуска двигателя,Во Flowcode он работает нормально,
а вот протеусе нет.
Я так понял что во flowcode нет включения шима.
Там есть иконка в ставить код C.
А в языке си я не бум бум.
Уж очень много там запятых,точек,скобочек ну других знаков
Мне очень сложно орентироваться, а Flowcode многое сразу стало понятно
Ну вопщем помогите мне с включением шима ,буду очень благодарен ВАМ
А то уже с конца апреля бьюсь над этой проблемой и ничего не выходит
Файл почему то не разрешает загрузить
titoFF
Встал на лапы
Сообщения: 100
Зарегистрирован: Пт авг 02, 2013 07:20:04

Re: Как включить ШИМ на тини 2313

Сообщение titoFF »

Есть книга "Белов А.В. - Разработка устройств на
микроконтроллерах AVR". Там очень хорошо описано как все работает. Настоятельно советую изучить, а если после прочтения останутся вопросы- милости просим на форум. А так вам бесполезно что- то объяснять, Вы знаете чуть меньше, чем ничего.
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

Re: Как включить ШИМ на тини 2313

Сообщение Pink-Pank »

Файл заархивировать просто надо.
С самой функцией ШИМ разобрались?.
Симуляция в Proteus вообще запускается? Ошибок не выскакивает?
Сейчас попробовал сделать ШИМ во Flowcode - в Proteus все работает. Без всяких дополнительных включений.
Fucking static initialization order fiasco
сарагоса
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пн авг 05, 2013 18:59:08

Re: Как включить ШИМ на тини 2313

Сообщение сарагоса »

симуляция в протеусе запускается,ошибки не выскакивают
в flowcode работает нормально
как написать код инициализации шим еще не разобрался
можете просто написать код на си иницилизации шим и указать место
куда вставить переменные или данные шима
Вложения
Шим на 2313-протеус.rar
(11.74 КБ) 185 скачиваний
шим 2313.rar
(2.65 КБ) 183 скачивания
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

Re: Как включить ШИМ на тини 2313

Сообщение Pink-Pank »

Ничего инициализировать не надо! ШИМ работает. Все инициализируется автоматически. Попробуйте для начала просто его включить и в качестве параметров передать числа.

У Вас ошибка в алгоритме. Условие равенства проверяется вот так: synxro == 0. Когда Вы пишете synxro = 0, Вы просто присваиваете ей это значение. Т.е. переменная принимает значение false. В этом случае алгоритм всегда идет по левой ветке. Попробуйте ради интереса в левой ветке присвоить переменной speed значение 50-100 - увидите, ШИМ работает.

+ необходимо вывести макрос включения ШИМ перед циклом while.
Fucking static initialization order fiasco
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Сообщение ibiza11 »

как у вас вообще скомпилировался код в WinAVR, если реализации двух функций находятся в функции main?
Ставим плюсы: )
сарагоса
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пн авг 05, 2013 18:59:08

Re: Как включить ШИМ на тини 2313

Сообщение сарагоса »

Отлично! Все заработало. СПАСИБО ВАМ за подсказку
я только переставил макрос шим перед циклом и все заработало
больше ничего не делал
НО есть одно но
дело в том что на atmega 8 работает с макросом шим
который стоит после цикла--------загадка
как думаете в чем причина


там вы про кнопку спасибо говорите
но я точно не знаю что это такое
если это вам спасибо то конечно нажму
Вложения
Шим на Протеус.rar
(25.07 КБ) 188 скачиваний
Шим на Flowcod.rar
(13.53 КБ) 175 скачиваний
Ответить

Вернуться в «AVR»