Мелкие вопросы по МК и ПЛИС.
Хотите сделать прерывание в прерывании? В принципе, можно. Но нежелательно. Прогоните в Студии - как там отрабатывает? (по идее, должно работать)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Реклама
Теоретически так и должно получиться, только прерваться программа может по любому прерыванию (в том числе по самому себе, а это уже рекурсия
), а не только по "нужному".
RETI - тоже самое что и
RETI - тоже самое что и
Код: Выделить всё
SEI
RET
Ну да, на случай, если наложение будет.Хотите сделать прерывание в прерывании? В принципе, можно. Но нежелательно. Прогоните в Студии - как там отрабатывает? (по идее, должно работать)
Не, так не должно быть. Прерывания по таймеру, интервал большой (т.е. 100% отработает) А когда внутри него сработает второе прерывание - I сбросится.Теоретически так и должно получиться, только прерваться программа может по любому прерыванию (в том числе по самому себе, а это уже рекурсия )
Собственно, мне надо засечь чёткий временной интервал по срабатыванию компаратора таймером 1, т.е. важно, чтоб таймер остановился при наступлении события. Если, пока его прерывание в очереди, он будет стоять - то нормально, можно не изгаляться.
- Сообщения: 326
- Зарегистрирован: Сб сен 06, 2008 12:56:13
Посчитайте (или посмотрите в студии) - сколько времени займет функция TIM0_OVF при тактовой частоте МК. Стоит ли "овчинка выделки".ploop писал(а):Допустим динамическая индикация работает в прерывании. Но основная часть алгоритма должна вызваться по более важному прерыванию, и на это время на индикацию можно забить.
- Реклама
Ладно. Мне проще выкинуть индикацию из прерывания, поставив задержку. тогда все проблемы отпадут.
В прерывании надо делать только то, без чего не обойтись.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Других просто нет, хотя ...... вот нашел - 93С46АВ1, это вроде память можно ли прошить её для проверки???Chettuser писал(а):0000h говорит о том что он остановил верификацию после того как обнаружил несовпадение. А на других PIC'ах прошивка идёт этим же программатором?
Блин да ещё и стоит у меня Windows7......
Мечта - стать модератором и навести порядок)))
[img]http://bws.ucoz.ru/sillki/0.jpg[/img]
[color=#4000FF]Так же известен на других форумах как BWS и INZHENER_BWS[/color]
[img]http://bws.ucoz.ru/sillki/0.jpg[/img]
[color=#4000FF]Так же известен на других форумах как BWS и INZHENER_BWS[/color]
а все же, как узнать, на какой частоте работает конкретная модель контроллера, если у нее не устанавливались никакие фьюзы и не ставились внешние источники тактирования? у кого с инглишем получше чем у меня, подскажите, это то или нет: "Default Clock Source
The device is shipped with CKSEL = “0001” and SUT = “10”. The default clock source setting is
therefore the 1 MHz Internal RC Oscillator with longest startup time. This default setting ensures
that all users can make their desired clock source setting using an In-System or Parallel
Programmer."
The device is shipped with CKSEL = “0001” and SUT = “10”. The default clock source setting is
therefore the 1 MHz Internal RC Oscillator with longest startup time. This default setting ensures
that all users can make their desired clock source setting using an In-System or Parallel
Programmer."
Покури таблицу http://www.aes.at.ua/_pu/2/60576879.gifNecroteeth писал(а):CKSEL = “0001”
Внутренний RC генератор частота 1МГц
У кошки 4 ноги и хвост-плюс,минус,вход,выход,а хвост-земля.....Надо переходить с китайской бурды на канифоль.......[url=http://infobar.hsdn.org/][img]http://static.hsdn.org/infobar/350x60.gif[/img][/url]
никто бегло не подскажет, где я лоханулся в программе http://radiokot.ru/start/mcu_fpga/avr/11/ ?
судя по всему, таймер прерывания не даеть. Atmega16A, идея 2 секунды должен бегать весь огонек, таймер используется 8-бит под нумером 0 с прескалером 1024
судя по всему, таймер прерывания не даеть. Atmega16A, идея 2 секунды должен бегать весь огонек, таймер используется 8-бит под нумером 0 с прескалером 1024
- Вложения
-
- runfire.asm
- (2.24 КБ) 269 скачиваний
Обошелся. Совсем без них.В прерывании надо делать только то, без чего не обойтись.
А делал я некое подобие АЦП на тиньке. Смысл не сложен: на одну ногу цепляем RC-цепочку (R на питание, C на землю). Ногу при инициализации в ноль. Туда же цепляем один вход аналогового компаратора, на другой измеряемое напряжение.
Алгоритм прост: переводим управляющую ногу в состояние входа (с высоким сопротивлением). Конденсатор начинает заряжаться через резистор, а мы считаем такты в это время, пока не сработает компаратор. Как сработал - опять коротим кондёр ногой и выводим полученное число.
Я не думал что эта затея получится, но она РАБОТАЕТ! Да, нелинейно, но если взять некий отрезок диапазона и применить программную коррекцию получится неплохо. У меня при повороте переменника от 0 до 5В на двузначном индикаторе число росло линейно где-то до 25-30 (отстаёт от показаний мультиметра), а около 45 начинает глючить (к этому моменту догоняет мультиметр).
- Сообщения: 326
- Зарегистрирован: Сб сен 06, 2008 12:56:13
Исправьте режим работы таймера:Necroteeth писал(а):никто бегло не подскажет, где я лоханулся в программе http://radiokot.ru/start/mcu_fpga/avr/11/ ?
судя по всему, таймер прерывания не даеть. Atmega16A, идея 2 секунды должен бегать весь огонек, таймер используется 8-бит под нумером 0 с прескалером 1024
Код: Выделить всё
ldi temp,0b00001101 ;тактовый сигнал = CK/1024 + режим СТС - сброс при совпаденииМожно, я думаю. В любом случае какая разница - задача проверить программатор, так ведь?INZHENER писал(а):Других просто нет, хотя ...... вот нашел - 93С46АВ1, это вроде память можно ли прошить её для проверки???
Блин да ещё и стоит у меня Windows7......
- Сообщения: 32
- Зарегистрирован: Пт янв 14, 2011 22:32:24
Здравствуйте!
Не могли бы вы, профессионалы, оставить своё мнение по этой теме: http://radiokot.ru/forum/viewtopic.php? ... 09#p684709 ?
Особенно по вопросам, касающимся МК
Не могли бы вы, профессионалы, оставить своё мнение по этой теме: http://radiokot.ru/forum/viewtopic.php? ... 09#p684709 ?
Особенно по вопросам, касающимся МК
Эт т точно!!!!! Установил XP на ноут, но там блин тоже происходитChettuser писал(а):Можно, я думаю. В любом случае какая разница - задача проверить программатор, так ведь?INZHENER писал(а):Других просто нет, хотя ...... вот нашел - 93С46АВ1, это вроде память можно ли прошить её для проверки???
Блин да ещё и стоит у меня Windows7......
вот из моей темы может здесь поможите
Вот проверка программатораINZHENER писал(а):Спаял, включение без взрывов,но при запуске проги выпадывает вот что
а при программировании вот
В чем проблемма?
так так еще добавлю чтение идет нормально, но медленно, но главное что идет))))))
Сейчас поставил питалово 15В, но таже ошибка вылазиет, либо печатку карявую какуето скачал, либо фиг знает что еще нужно((((INZHENER писал(а):Пробуем устанавливать и снимать "галочку" в поле "Вкл. Выход Данных" окна "Проверка Программатора", программы ICPROG
1. 13 вывод микросхемы MAX232CPE: напряжение от -5 до -12 вольт. При установке "галочки": от +5 до +12 вольт.
2. 12 вывод микросхемы MAX232CPE: напряжение +5 вольт. При установке "галочки": 0 вольт.
3. 6 вывод микросхемы КР1533ЛА3: напряжение 0 вольт. При установке "галочки": +5 вольт.
4. 1 и 2 вывод микросхемы КР1533ЛА3: напряжение 0 вольт. При установке "галочки": +5 вольт.
5. 3 вывод микросхемы КР1533ЛА3: напряжение +5 вольт. При установке "галочки": 0 вольт.
6. 14 вывод микросхемы MAX232CPE: напряжение от -5 до -12 вольт. При установке "галочки": от +5 до +12 вольт.
А имеем вот что
1. -3,42 4,75
2. 5,06 0,00
3. 0,15 4,82
4. 0,72 5,06
5. 4,62 0,10
6. -7,82 8,19
Питается это чудо от 12В, рекомендованное 13-24В
Может в этом причина??????
Да и ещё добавлю, что на ХР первых двух ошибок касающихся драйверов не вылетает!!!!
Мечта - стать модератором и навести порядок)))
[img]http://bws.ucoz.ru/sillki/0.jpg[/img]
[color=#4000FF]Так же известен на других форумах как BWS и INZHENER_BWS[/color]
[img]http://bws.ucoz.ru/sillki/0.jpg[/img]
[color=#4000FF]Так же известен на других форумах как BWS и INZHENER_BWS[/color]
ничего не произошло. как загорается первый LED после прошивки, так и горит постоянноValBag писал(а):Исправьте режим работы таймера:Necroteeth писал(а):никто бегло не подскажет, где я лоханулся в программе http://radiokot.ru/start/mcu_fpga/avr/11/ ?
судя по всему, таймер прерывания не даеть. Atmega16A, идея 2 секунды должен бегать весь огонек, таймер используется 8-бит под нумером 0 с прескалером 1024Код: Выделить всё
ldi temp,0b00001101 ;тактовый сигнал = CK/1024 + режим СТС - сброс при совпадении
- Сообщения: 326
- Зарегистрирован: Сб сен 06, 2008 12:56:13
Попробуйте написать одинаково обозначение метки в векторе и саму метку. ...Вообще-то ассемблер регистр букв не различает.Necroteeth писал(а):ничего не произошло. как загорается первый LED после прошивки, так и горит постоянно
Код: Выделить всё
................
rjmp TIMER0_COMP
...................
TIMER0_COMP:
...................Может у вас вектор таймера не в том месте, которое приведено в выложенном коде. Лучше сделать по другому:
Код: Выделить всё
.include "E:\avr\m16def.inc"
.def TEMP=R16
.def TEMP1=R17
.cseg
.org 0x00
rjmp RESET
.org OC0addr
rjmp TIMER0_COMP
..................Меня смущают некоторые цифры: по п.1 и п.4.INZHENER писал(а): 1. 13 вывод микросхемы MAX232CPE: напряжение от -5 до -12 вольт. При установке "галочки": от +5 до +12 вольт.
2. 12 вывод микросхемы MAX232CPE: напряжение +5 вольт. При установке "галочки": 0 вольт.
3. 6 вывод микросхемы КР1533ЛА3: напряжение 0 вольт. При установке "галочки": +5 вольт.
4. 1 и 2 вывод микросхемы КР1533ЛА3: напряжение 0 вольт. При установке "галочки": +5 вольт.
5. 3 вывод микросхемы КР1533ЛА3: напряжение +5 вольт. При установке "галочки": 0 вольт.
6. 14 вывод микросхемы MAX232CPE: напряжение от -5 до -12 вольт. При установке "галочки": от +5 до +12 вольт.
А имеем вот что
1. -3,42 4,75
2. 5,06 0,00
3. 0,15 4,82
4. 0,72 5,06
5. 4,62 0,10
6. -7,82 8,19
По п.1: Ощущение что линия входа чем то нагружена (проверить бы ни на что не ответвляется ли? может сопля какая?)
по п.4: Напруга 0,72 В - это уже не "0", но ещё не "1", логический элемент возможно работает нестабильно.
Вывод - а правильно ли припаян диод? Я бы ещё поставил Шоттки, с падением, скажем, 0,15-0,20 В. (собственно я так и сделал).
Напруга у меня 12,5 В. Просто отсутствует стабилизатор на 12 Вольт - вот я и ставлю 12,5.
а какой диод??? у меня три их и все по печатки сделаны)))Chettuser писал(а):Меня смущают некоторые цифры: по п.1 и п.4.INZHENER писал(а): 1. 13 вывод микросхемы MAX232CPE: напряжение от -5 до -12 вольт. При установке "галочки": от +5 до +12 вольт.
2. 12 вывод микросхемы MAX232CPE: напряжение +5 вольт. При установке "галочки": 0 вольт.
3. 6 вывод микросхемы КР1533ЛА3: напряжение 0 вольт. При установке "галочки": +5 вольт.
4. 1 и 2 вывод микросхемы КР1533ЛА3: напряжение 0 вольт. При установке "галочки": +5 вольт.
5. 3 вывод микросхемы КР1533ЛА3: напряжение +5 вольт. При установке "галочки": 0 вольт.
6. 14 вывод микросхемы MAX232CPE: напряжение от -5 до -12 вольт. При установке "галочки": от +5 до +12 вольт.
А имеем вот что
1. -3,42 4,75
2. 5,06 0,00
3. 0,15 4,82
4. 0,72 5,06
5. 4,62 0,10
6. -7,82 8,19
По п.1: Ощущение что линия входа чем то нагружена (проверить бы ни на что не ответвляется ли? может сопля какая?)
по п.4: Напруга 0,72 В - это уже не "0", но ещё не "1", логический элемент возможно работает нестабильно.
Вывод - а правильно ли припаян диод? Я бы ещё поставил Шоттки, с падением, скажем, 0,15-0,20 В. (собственно я так и сделал).
Напруга у меня 12,5 В. Просто отсутствует стабилизатор на 12 Вольт - вот я и ставлю 12,5.
после первого диода с новым питаловом 13,4В
Мечта - стать модератором и навести порядок)))
[img]http://bws.ucoz.ru/sillki/0.jpg[/img]
[color=#4000FF]Так же известен на других форумах как BWS и INZHENER_BWS[/color]
[img]http://bws.ucoz.ru/sillki/0.jpg[/img]
[color=#4000FF]Так же известен на других форумах как BWS и INZHENER_BWS[/color]




