Мелкие вопросы по МК и ПЛИС.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
Хотите сделать прерывание в прерывании? В принципе, можно. Но нежелательно. Прогоните в Студии - как там отрабатывает? (по идее, должно работать)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
Теоретически так и должно получиться, только прерваться программа может по любому прерыванию (в том числе по самому себе, а это уже рекурсия
), а не только по "нужному".
RETI - тоже самое что и
RETI - тоже самое что и
Код: Выделить всё
SEI
RET
Re: Мелкие вопросы по МК и ПЛИС.
Хотите сделать прерывание в прерывании? В принципе, можно. Но нежелательно. Прогоните в Студии - как там отрабатывает? (по идее, должно работать)
Ну да, на случай, если наложение будет.
Теоретически так и должно получиться, только прерваться программа может по любому прерыванию (в том числе по самому себе, а это уже рекурсия )
Не, так не должно быть. Прерывания по таймеру, интервал большой (т.е. 100% отработает) А когда внутри него сработает второе прерывание - I сбросится.
Собственно, мне надо засечь чёткий временной интервал по срабатыванию компаратора таймером 1, т.е. важно, чтоб таймер остановился при наступлении события. Если, пока его прерывание в очереди, он будет стоять - то нормально, можно не изгаляться.
Re: Мелкие вопросы по МК и ПЛИС.
Посчитайте (или посмотрите в студии) - сколько времени займет функция TIM0_OVF при тактовой частоте МК. Стоит ли "овчинка выделки".ploop писал(а):Допустим динамическая индикация работает в прерывании. Но основная часть алгоритма должна вызваться по более важному прерыванию, и на это время на индикацию можно забить.
Re: Мелкие вопросы по МК и ПЛИС.
Примерно 21 такт. Хм... Действительно...
Re: Мелкие вопросы по МК и ПЛИС.
Ладно. Мне проще выкинуть индикацию из прерывания, поставив задержку. тогда все проблемы отпадут.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
В прерывании надо делать только то, без чего не обойтись.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- INZHENER
- Потрогал лапой паяльник
- Сообщения: 369
- Зарегистрирован: Ср ноя 24, 2010 13:10:53
- Откуда: пгт Краснобродский
Re: Мелкие вопросы по МК и ПЛИС.
Chettuser писал(а):0000h говорит о том что он остановил верификацию после того как обнаружил несовпадение. А на других PIC'ах прошивка идёт этим же программатором?
Других просто нет, хотя ...... вот нашел - 93С46АВ1, это вроде память можно ли прошить её для проверки???
Блин да ещё и стоит у меня 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]
- Necroteeth
- Потрогал лапой паяльник
- Сообщения: 362
- Зарегистрирован: Вс окт 10, 2010 17:43:48
- Откуда: Воронеж
Re: Мелкие вопросы по МК и ПЛИС.
а все же, как узнать, на какой частоте работает конкретная модель контроллера, если у нее не устанавливались никакие фьюзы и не ставились внешние источники тактирования? у кого с инглишем получше чем у меня, подскажите, это то или нет: "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."
- К@Т
- Говорящий с текстолитом
- Сообщения: 1573
- Зарегистрирован: Сб окт 09, 2010 12:33:48
- Откуда: Незалежная
Re: Мелкие вопросы по МК и ПЛИС.
Necroteeth писал(а):CKSEL = “0001”
Покури таблицу http://www.aes.at.ua/_pu/2/60576879.gif
Внутренний RC генератор частота 1МГц
У кошки 4 ноги и хвост-плюс,минус,вход,выход,а хвост-земля.....Надо переходить с китайской бурды на канифоль.......[url=http://infobar.hsdn.org/][img]http://static.hsdn.org/infobar/350x60.gif[/img][/url]
- Necroteeth
- Потрогал лапой паяльник
- Сообщения: 362
- Зарегистрирован: Вс окт 10, 2010 17:43:48
- Откуда: Воронеж
Re: Мелкие вопросы по МК и ПЛИС.
никто бегло не подскажет, где я лоханулся в программе http://radiokot.ru/start/mcu_fpga/avr/11/ ?
судя по всему, таймер прерывания не даеть. Atmega16A, идея 2 секунды должен бегать весь огонек, таймер используется 8-бит под нумером 0 с прескалером 1024
судя по всему, таймер прерывания не даеть. Atmega16A, идея 2 секунды должен бегать весь огонек, таймер используется 8-бит под нумером 0 с прескалером 1024
- Вложения
-
- runfire.asm
- (2.24 КБ) 269 скачиваний
Re: Мелкие вопросы по МК и ПЛИС.
В прерывании надо делать только то, без чего не обойтись.
Обошелся. Совсем без них.
А делал я некое подобие АЦП на тиньке. Смысл не сложен: на одну ногу цепляем RC-цепочку (R на питание, C на землю). Ногу при инициализации в ноль. Туда же цепляем один вход аналогового компаратора, на другой измеряемое напряжение.
Алгоритм прост: переводим управляющую ногу в состояние входа (с высоким сопротивлением). Конденсатор начинает заряжаться через резистор, а мы считаем такты в это время, пока не сработает компаратор. Как сработал - опять коротим кондёр ногой и выводим полученное число.
Я не думал что эта затея получится, но она РАБОТАЕТ! Да, нелинейно, но если взять некий отрезок диапазона и применить программную коррекцию получится неплохо. У меня при повороте переменника от 0 до 5В на двузначном индикаторе число росло линейно где-то до 25-30 (отстаёт от показаний мультиметра), а около 45 начинает глючить (к этому моменту догоняет мультиметр).
Re: Мелкие вопросы по МК и ПЛИС.
Исправьте режим работы таймера:Necroteeth писал(а):никто бегло не подскажет, где я лоханулся в программе http://radiokot.ru/start/mcu_fpga/avr/11/ ?
судя по всему, таймер прерывания не даеть. Atmega16A, идея 2 секунды должен бегать весь огонек, таймер используется 8-бит под нумером 0 с прескалером 1024
Код: Выделить всё
ldi temp,0b00001101 ;тактовый сигнал = CK/1024 + режим СТС - сброс при совпадении-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
INZHENER писал(а):Других просто нет, хотя ...... вот нашел - 93С46АВ1, это вроде память можно ли прошить её для проверки???
Блин да ещё и стоит у меня Windows7......
Можно, я думаю. В любом случае какая разница - задача проверить программатор, так ведь?
Re: Мелкие вопросы по МК и ПЛИС.
Здравствуйте!
Не могли бы вы, профессионалы, оставить своё мнение по этой теме: viewtopic.php?f=24&t=40929&p=684709#p684709 ?
Особенно по вопросам, касающимся МК
Не могли бы вы, профессионалы, оставить своё мнение по этой теме: viewtopic.php?f=24&t=40929&p=684709#p684709 ?
Особенно по вопросам, касающимся МК
- INZHENER
- Потрогал лапой паяльник
- Сообщения: 369
- Зарегистрирован: Ср ноя 24, 2010 13:10:53
- Откуда: пгт Краснобродский
Re: Мелкие вопросы по МК и ПЛИС.
Chettuser писал(а):INZHENER писал(а):Других просто нет, хотя ...... вот нашел - 93С46АВ1, это вроде память можно ли прошить её для проверки???
Блин да ещё и стоит у меня Windows7......
Можно, я думаю. В любом случае какая разница - задача проверить программатор, так ведь?
Эт т точно!!!!! Установил XP на ноут, но там блин тоже происходит
вот из моей темы может здесь поможите
INZHENER писал(а):Спаял, включение без взрывов,но при запуске проги выпадывает вот что
а при программировании вот
В чем проблемма?
так так еще добавлю чтение идет нормально, но медленно, но главное что идет))))))
Вот проверка программатора
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В
Может в этом причина??????
Сейчас поставил питалово 15В, но таже ошибка вылазиет, либо печатку карявую какуето скачал, либо фиг знает что еще нужно((((
Да и ещё добавлю, что на ХР первых двух ошибок касающихся драйверов не вылетает!!!!
Мечта - стать модератором и навести порядок)))
[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]
- Necroteeth
- Потрогал лапой паяльник
- Сообщения: 362
- Зарегистрирован: Вс окт 10, 2010 17:43:48
- Откуда: Воронеж
Re: Мелкие вопросы по МК и ПЛИС.
ValBag писал(а):Исправьте режим работы таймера:Necroteeth писал(а):никто бегло не подскажет, где я лоханулся в программе http://radiokot.ru/start/mcu_fpga/avr/11/ ?
судя по всему, таймер прерывания не даеть. Atmega16A, идея 2 секунды должен бегать весь огонек, таймер используется 8-бит под нумером 0 с прескалером 1024Код: Выделить всё
ldi temp,0b00001101 ;тактовый сигнал = CK/1024 + режим СТС - сброс при совпадении
ничего не произошло. как загорается первый LED после прошивки, так и горит постоянно
Re: Мелкие вопросы по МК и ПЛИС.
Попробуйте написать одинаково обозначение метки в векторе и саму метку. ...Вообще-то ассемблер регистр букв не различает.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
.................., а всю остальную таблицу неиспользуемых векторов и меток - удалить.
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
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.
По п.1: Ощущение что линия входа чем то нагружена (проверить бы ни на что не ответвляется ли? может сопля какая?)
по п.4: Напруга 0,72 В - это уже не "0", но ещё не "1", логический элемент возможно работает нестабильно.
Вывод - а правильно ли припаян диод? Я бы ещё поставил Шоттки, с падением, скажем, 0,15-0,20 В. (собственно я так и сделал).
Напруга у меня 12,5 В. Просто отсутствует стабилизатор на 12 Вольт - вот я и ставлю 12,5.
- INZHENER
- Потрогал лапой паяльник
- Сообщения: 369
- Зарегистрирован: Ср ноя 24, 2010 13:10:53
- Откуда: пгт Краснобродский
Re: Мелкие вопросы по МК и ПЛИС.
Chettuser писал(а):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.
По п.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]

