А резистор не повлияет на сигнал?
ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
А, ну в принципе да))Что-то я тупанул)
А резистор не повлияет на сигнал?
А резистор не повлияет на сигнал?
- Реклама
3.6 + 0.3 = 3.9В
5.0 - 3.9 = 1.1В
если предельный ток 20мА, то R = 1.1/0.02 = 55 Ом минимум
поставь 330 Ом и не парься. при этом ток будет 3,3мА
5.0 - 3.9 = 1.1В
если предельный ток 20мА, то R = 1.1/0.02 = 55 Ом минимум
поставь 330 Ом и не парься. при этом ток будет 3,3мА
Ставим плюсы: )
Нет, не должен.WishMasterMax писал(а):А резистор не повлияет на сигнал?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 29
- Зарегистрирован: Сб мар 28, 2009 06:17:07
С наскока кинулся я читать тему, но понял, что даже пробежать её по диагонали, потребуется неделя. Так что, если этот вопрос уже обсуждался, извините.
Задача (чисто учебная) такая: С помощью двух кнопок по прерыванию PCINT управлять светодиодом. Код был написан для ATTiny13. В AVR Studio симулируется нормально.Дальше не важно. Для ATTiny2313 я изменил вектор прерывания на 0x000B. Остальные регистры и биты в них вроде совпадают. НО последняя приведенная здесь команда не записывает 1 в GIMSK. И в симуляторе и собственно устройство не работает. Почему? Даташит читал,но все равно ничего не понял.
Задача (чисто учебная) такая: С помощью двух кнопок по прерыванию 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 ;Разрешение прерывания по изменению состояния выводовДа, вроде, всё записывает. И прерывания симулируются.
- Реклама
- Сообщения: 29
- Зарегистрирован: Сб мар 28, 2009 06:17:07
Так это что, глюки 6-й Студии? Или мои? Спасибо, буду копать дальшеakl писал(а):Да, вроде, всё записывает. И прерывания симулируются.
- Сообщения: 27
- Зарегистрирован: Пт мар 15, 2013 14:56:20
В МК ATtiny2313 частота синхронизации ввода-вывода clkI/O равняется частоте встроенного RC-генератора или отличается от нее?
Скорее завязана на тактовую частоту ядра. А уж от чего ядро тактируется...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 27
- Зарегистрирован: Пт мар 15, 2013 14:56:20
Если у меня тактовая частота МК 8 Мгц, то частота синхронизации ввода-вывода clkI/O может быть либо равна 8 Мгц, 1Мгц либо отсутствовать?
Можно где-нибудь в Atmel studio 6 посмотреть чему получается равной частота синхронизации ввода-вывода clkI/O?
Можно где-нибудь в Atmel studio 6 посмотреть чему получается равной частота синхронизации ввода-вывода clkI/O?
CLK_i/o равна частоте ядра, т.е. с учётом генератора и системного делителя.
Отключаться тактирование ввода-вывода может в режимах сна и т.п.
Смотреть это надо не в Студии, а спецификации на микросхему.
Отключаться тактирование ввода-вывода может в режимах сна и т.п.
Смотреть это надо не в Студии, а спецификации на микросхему.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Парни помогите прояснить ситуацию, вот два проекта для 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 скачиваний
Настройками оптимизации пробовали играться?
К тому же, это два разных компилятора - следовательно работают по разному. отсюда и код может быть у них совершенно разный.
К тому же, это два разных компилятора - следовательно работают по разному. отсюда и код может быть у них совершенно разный.
Fucking static initialization order fiasco
Насчет оптимизации я пробовал, но что то не особо выходит. Такая разница в таком не сложном алгоритме, хотя вчера писал прогу куда сложней работа с дисплеем и получилось что WinAVR скомпилировал на 500 байт меньше чем CodeVision. Вот такие пироги.
- Сообщения: 294
- Зарегистрирован: Пн авг 05, 2013 18:59:08
Вопрос к профессионалам ?
Решил изучить программирование микроконтроллеров,нашел тему -Регулирование коллекторного двигателя
Нашел, как для меня, очень хорошую программу-Flowcode-называется
Нашел файл плавного пуска двигателя,Во Flowcode он работает нормально,
а вот протеусе нет.
Я так понял что во flowcode нет включения шима.
Там есть иконка в ставить код C.
А в языке си я не бум бум.
Уж очень много там запятых,точек,скобочек ну других знаков
Мне очень сложно орентироваться, а Flowcode многое сразу стало понятно
Ну вопщем помогите мне с включением шима ,буду очень благодарен ВАМ
А то уже с конца апреля бьюсь над этой проблемой и ничего не выходит
Файл почему то не разрешает загрузить
Решил изучить программирование микроконтроллеров,нашел тему -Регулирование коллекторного двигателя
Нашел, как для меня, очень хорошую программу-Flowcode-называется
Нашел файл плавного пуска двигателя,Во Flowcode он работает нормально,
а вот протеусе нет.
Я так понял что во flowcode нет включения шима.
Там есть иконка в ставить код C.
А в языке си я не бум бум.
Уж очень много там запятых,точек,скобочек ну других знаков
Мне очень сложно орентироваться, а Flowcode многое сразу стало понятно
Ну вопщем помогите мне с включением шима ,буду очень благодарен ВАМ
А то уже с конца апреля бьюсь над этой проблемой и ничего не выходит
Файл почему то не разрешает загрузить
- Сообщения: 100
- Зарегистрирован: Пт авг 02, 2013 07:20:04
Есть книга "Белов А.В. - Разработка устройств на
микроконтроллерах AVR". Там очень хорошо описано как все работает. Настоятельно советую изучить, а если после прочтения останутся вопросы- милости просим на форум. А так вам бесполезно что- то объяснять, Вы знаете чуть меньше, чем ничего.
микроконтроллерах AVR". Там очень хорошо описано как все работает. Настоятельно советую изучить, а если после прочтения останутся вопросы- милости просим на форум. А так вам бесполезно что- то объяснять, Вы знаете чуть меньше, чем ничего.
Файл заархивировать просто надо.
С самой функцией ШИМ разобрались?.
Симуляция в Proteus вообще запускается? Ошибок не выскакивает?
Сейчас попробовал сделать ШИМ во Flowcode - в Proteus все работает. Без всяких дополнительных включений.
С самой функцией ШИМ разобрались?.
Симуляция в Proteus вообще запускается? Ошибок не выскакивает?
Сейчас попробовал сделать ШИМ во Flowcode - в Proteus все работает. Без всяких дополнительных включений.
Fucking static initialization order fiasco
- Сообщения: 294
- Зарегистрирован: Пн авг 05, 2013 18:59:08
симуляция в протеусе запускается,ошибки не выскакивают
в flowcode работает нормально
как написать код инициализации шим еще не разобрался
можете просто написать код на си иницилизации шим и указать место
куда вставить переменные или данные шима
в flowcode работает нормально
как написать код инициализации шим еще не разобрался
можете просто написать код на си иницилизации шим и указать место
куда вставить переменные или данные шима
- Вложения
-
- Шим на 2313-протеус.rar
- (11.74 КБ) 186 скачиваний
-
- шим 2313.rar
- (2.65 КБ) 184 скачивания
Ничего инициализировать не надо! ШИМ работает. Все инициализируется автоматически. Попробуйте для начала просто его включить и в качестве параметров передать числа.
У Вас ошибка в алгоритме. Условие равенства проверяется вот так: synxro == 0. Когда Вы пишете synxro = 0, Вы просто присваиваете ей это значение. Т.е. переменная принимает значение false. В этом случае алгоритм всегда идет по левой ветке. Попробуйте ради интереса в левой ветке присвоить переменной speed значение 50-100 - увидите, ШИМ работает.
+ необходимо вывести макрос включения ШИМ перед циклом while.
У Вас ошибка в алгоритме. Условие равенства проверяется вот так: synxro == 0. Когда Вы пишете synxro = 0, Вы просто присваиваете ей это значение. Т.е. переменная принимает значение false. В этом случае алгоритм всегда идет по левой ветке. Попробуйте ради интереса в левой ветке присвоить переменной speed значение 50-100 - увидите, ШИМ работает.
+ необходимо вывести макрос включения ШИМ перед циклом while.
Fucking static initialization order fiasco
как у вас вообще скомпилировался код в WinAVR, если реализации двух функций находятся в функции main?
Ставим плюсы: )
- Сообщения: 294
- Зарегистрирован: Пн авг 05, 2013 18:59:08
Отлично! Все заработало. СПАСИБО ВАМ за подсказку
я только переставил макрос шим перед циклом и все заработало
больше ничего не делал
НО есть одно но
дело в том что на atmega 8 работает с макросом шим
который стоит после цикла--------загадка
как думаете в чем причина
там вы про кнопку спасибо говорите
но я точно не знаю что это такое
если это вам спасибо то конечно нажму
я только переставил макрос шим перед циклом и все заработало
больше ничего не делал
НО есть одно но
дело в том что на atmega 8 работает с макросом шим
который стоит после цикла--------загадка
как думаете в чем причина
там вы про кнопку спасибо говорите
но я точно не знаю что это такое
если это вам спасибо то конечно нажму
- Вложения
-
- Шим на Протеус.rar
- (25.07 КБ) 189 скачиваний
-
- Шим на Flowcod.rar
- (13.53 КБ) 176 скачиваний




