Без всего кода сложно сказать, думаю стоит обратить внимание на то что регистры TCNT и ICP - шестнадцатибитные, т.е. нужно порядок чтения соблюдать. В общем я на грабли не натыкался, следовал датшиту, вроде получилось, код привести не могу, он у меня на работе.Пухич писал(а):Вот тако вопрос возник.
Впервые решил поюзать входной захват. Не то чтобы очень надо, но можно. Памятуя, что с выходным сравнением проблем никогда не было я смело прочитав даташит ринулся исполнять. Атмега8.
Мелкие вопросы по МК и ПЛИС.
- Сообщения: 459
- Зарегистрирован: Вс июн 01, 2008 12:16:38
- Реклама
- Сообщения: 828
- Зарегистрирован: Пн мар 16, 2009 21:40:57
Побитовые поразрядные операции - http://google.com "Язык Си для микроконтроллеров".Alex_EXE писал(а):Как можно перевести отдельные выводы микроконтроллера (биты порта) с чтения на запись и обратно, чтобы не потревожить оставшиеся биты порта?
Наверно вот так:
Код: Выделить всё
Установить 3 бита:
регистр |= (1<<(номер бита)) | (еще) | (еще);
Сбросить 3 бита:
регистр &= ~( (1<<(номер бита)) | (еще) | (еще) );а как вы это проверяли? особенно установку флага?Пухич писал(а):Когда компаратор сбрасывается (на AIN1 больше, чем на AIN0) должна быть запись TCNT1 в ICR1. А ее нэту! Даже флаг ICF1 не ставится.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Спасибо за ответ, но, к сожалению, не в кассу. Про это я знаю и уважаю сей факт. Дело в чем-то другом.smac писал(а):Без всего кода сложно сказать, думаю стоит обратить внимание на то что регистры TCNT и ICP - шестнадцатибитные, т.е. нужно порядок чтения соблюдать.
Старый МКшник знает что спросить!а как вы это проверяли? особенно установку флага?
Ибо я главное не сказал - АВРСтудия - вот мой инструмент проверки флагов! Собсна прога сейчас временно отлаживается чисто в Студии, т.к. в железе вчера не вполне заработало. Впрочем там трабл в основном не в этом, там другие козявки вылезли, но показалось, что и тут косяк. АВРстудия при эмуляции как раз косячит с этим делом - не захватывает и все тут.
Вообще же захват и в АВРстудии работает. Если, к примеру, ногой PB0 дернуть (при выключенном ACIC), то флаг есть.
Знание - сила!
беда студии в том, что аналоговую периферию, к которой безусловно, относится компаратор, она эмулирует... как бы так вежливо высказаться... плоховато. в общем, практически не эмулирует. думаю, ждать чего-то от студии по поводу аналогового компаратора бессмысленно...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
Что-то у меня пока TxD не объявил выходом ничего не выдавалосьikarab писал(а):Они автоматически конфигурируются при настройке USART - но если к RXD ничего не подключено кроме дорожек на плате, то наверно ее лучше подтянуть к питанию резистором 10-100 (кОм).sachok писал(а):как правильно настроить порты ATmega16 PD0 (RXD) и PD1 (TXD) что бы они работали с UART
Вопрос немного в другом:
Есть регистры TRISTA (например), с помощью него я могу установить выводы порта на ввод и на вывод, но только в начале программы, а потом, простая, смена значения регистра нечего не даёт.
Попробовал обращаться вот таким образом TRISA0 , но в данном случае значение всего порта сбрасывается и нужно заново его выставлять, а это может быть проблематично.
Есть какой-нить другой способ переключения выводов микроконтроллера с чтения на запись и обратно или как это правильно делать?
Есть регистры TRISTA (например), с помощью него я могу установить выводы порта на ввод и на вывод, но только в начале программы, а потом, простая, смена значения регистра нечего не даёт.
Попробовал обращаться вот таким образом TRISA0 , но в данном случае значение всего порта сбрасывается и нужно заново его выставлять, а это может быть проблематично.
Есть какой-нить другой способ переключения выводов микроконтроллера с чтения на запись и обратно или как это правильно делать?
тип МК укажитеAlex_EXE писал(а):Вопрос немного в другом:
Есть регистры TRISTA (например), с помощью него я могу установить выводы порта на ввод и на вывод, но только в начале программы, а потом, простая, смена значения регистра нечего не даёт.
Попробовал обращаться вот таким образом TRISA0 , но в данном случае значение всего порта сбрасывается и нужно заново его выставлять, а это может быть проблематично.
Есть какой-нить другой способ переключения выводов микроконтроллера с чтения на запись и обратно или как это правильно делать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Весь прикол в том, что постановка галочки при эмуляции в пункт ACI, например, отлично себе вызывает прерывания. А вот установка с последующим снятием галочки ACO (эмуляция спада на выходе компаратора) как-то не катит в качестве источника захвата. Ну и в железе какая-то ерунда с этим делом.ARV писал(а):беда студии в том, что аналоговую периферию, к которой безусловно, относится компаратор, она эмулирует... как бы так вежливо высказаться... плоховато. в общем, практически не эмулирует. думаю, ждать чего-то от студии по поводу аналогового компаратора бессмысленно...
Вообще какие-то левые косяки полезли......... Не поверите - измеряю емкость кондея путем его заряда и сравнения на компараторе! Не работает!
Самому смешно.
Знание - сила!
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
где-то 300-470 ОмStalker46 писал(а):а какие ограничительные резисторы надо брать для светодиодов 20мА, что бы к МК подсоединить?
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Странные цифры.Alex_EXE писал(а):где-то 300-470 ОмStalker46 писал(а):а какие ограничительные резисторы надо брать для светодиодов 20мА, что бы к МК подсоединить?
Вообщем нужное сопротивление считается так:
R(I)=(U1-U2(I))/I
где U1 - напряжение питания
U2(I) - падение на светодиоде при заданном токе, берется из ВАХ
I - нужный ток.
Пример. Питание 5В, нужный ток 20мА. На светодиоде падает при этом токе падает 2В. Получаем R=(5-2)/0.02=150Ом.
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
Ну, просто, я в своих схемах всегда ставлю 360 Ом – что бы не считать и с «запасом» службы диодов.
Здравствуйте, тоже новичек, тоже спаял простейшую вещь на МК с панелькой монтажкой и т.д. тоже взял шнур от принтера, раскрыл крышку принтерной стороны, отпаял нужные проводки, нужные замкнул раз 10 всё проверил перепрозвонил и т.д. 5 проводков вывел в шлейфик ну сантиметра 4-6 длиной и разьёмчик, на платке с разьемчика 4 резистора и по ножкам МК вот...программу управления ЛСД нокии 3310 в эмуляторе работает и наигрался я уже виртуально до нехочу...теперь хочется в реальности увидеть картинки и букофки:)
В КодВижн АВР настройки программера - поставил Кандасистемз 200, в биосе порт SPP 3F8 принтер LPT был и работал но драйвер удалил пару раз перегружался но у меня при попытке программить чип нету полоски "частота" под типом процессора и что самое обидное ни чтение фьюзов ни сигнатур чипа - ничего не работает, питание МК беру с ЮСБ порта 4,91 вольт на ножках МК....ничего не греется и т.д. что может быть? Принтерный провод полтора метра старый экранированный...мега на панельке с кварцем припаянным, на АВСС ничего не подал так как порт а и не нужен а в будущем будет нужен АЦП хотя подпаять на +5 не проблема никаких буферных микросхем и т.д. всё просто до ужаса и тем обо и ужасно - негде искать косяк...может камень ударенный?
В КодВижн АВР настройки программера - поставил Кандасистемз 200, в биосе порт SPP 3F8 принтер LPT был и работал но драйвер удалил пару раз перегружался но у меня при попытке программить чип нету полоски "частота" под типом процессора и что самое обидное ни чтение фьюзов ни сигнатур чипа - ничего не работает, питание МК беру с ЮСБ порта 4,91 вольт на ножках МК....ничего не греется и т.д. что может быть? Принтерный провод полтора метра старый экранированный...мега на панельке с кварцем припаянным, на АВСС ничего не подал так как порт а и не нужен а в будущем будет нужен АЦП хотя подпаять на +5 не проблема никаких буферных микросхем и т.д. всё просто до ужаса и тем обо и ужасно - негде искать косяк...может камень ударенный?
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
- Сообщения: 828
- Зарегистрирован: Пн мар 16, 2009 21:40:57
Для разовых отладочных устройств я советую кнопки подключать через резисторы как и светодиоды.
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17



