Без всего кода сложно сказать, думаю стоит обратить внимание на то что регистры TCNT и ICP - шестнадцатибитные, т.е. нужно порядок чтения соблюдать. В общем я на грабли не натыкался, следовал датшиту, вроде получилось, код привести не могу, он у меня на работе.Пухич писал(а):Вот тако вопрос возник.
Впервые решил поюзать входной захват. Не то чтобы очень надо, но можно. Памятуя, что с выходным сравнением проблем никогда не было я смело прочитав даташит ринулся исполнять. Атмега8.
Мелкие вопросы по МК и ПЛИС.
- Реклама
Побитовые поразрядные операции - http://google.com "Язык Си для микроконтроллеров".Alex_EXE писал(а):Как можно перевести отдельные выводы микроконтроллера (биты порта) с чтения на запись и обратно, чтобы не потревожить оставшиеся биты порта?
Наверно вот так:
Код: Выделить всё
Установить 3 бита:
регистр |= (1<<(номер бита)) | (еще) | (еще);
Сбросить 3 бита:
регистр &= ~( (1<<(номер бита)) | (еще) | (еще) );- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
а как вы это проверяли? особенно установку флага?Пухич писал(а):Когда компаратор сбрасывается (на AIN1 больше, чем на AIN0) должна быть запись TCNT1 в ICR1. А ее нэту! Даже флаг ICF1 не ставится.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Пухич
- Модератор
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Спасибо за ответ, но, к сожалению, не в кассу. Про это я знаю и уважаю сей факт. Дело в чем-то другом.smac писал(а):Без всего кода сложно сказать, думаю стоит обратить внимание на то что регистры TCNT и ICP - шестнадцатибитные, т.е. нужно порядок чтения соблюдать.
Старый МКшник знает что спросить!а как вы это проверяли? особенно установку флага?
Ибо я главное не сказал - АВРСтудия - вот мой инструмент проверки флагов! Собсна прога сейчас временно отлаживается чисто в Студии, т.к. в железе вчера не вполне заработало. Впрочем там трабл в основном не в этом, там другие козявки вылезли, но показалось, что и тут косяк. АВРстудия при эмуляции как раз косячит с этим делом - не захватывает и все тут.
Вообще же захват и в АВРстудии работает. Если, к примеру, ногой PB0 дернуть (при выключенном ACIC), то флаг есть.
Знание - сила!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
беда студии в том, что аналоговую периферию, к которой безусловно, относится компаратор, она эмулирует... как бы так вежливо высказаться... плоховато. в общем, практически не эмулирует. думаю, ждать чего-то от студии по поводу аналогового компаратора бессмысленно...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
Что-то у меня пока TxD не объявил выходом ничего не выдавалосьikarab писал(а):Они автоматически конфигурируются при настройке USART - но если к RXD ничего не подключено кроме дорожек на плате, то наверно ее лучше подтянуть к питанию резистором 10-100 (кОм).sachok писал(а):как правильно настроить порты ATmega16 PD0 (RXD) и PD1 (TXD) что бы они работали с UART
- Alex_EXE
- Вымогатель припоя
- Сообщения: 580
- Зарегистрирован: Сб дек 27, 2008 12:01:35
- Откуда: Россия, Екатеринбург
- Контактная информация:
Вопрос немного в другом:
Есть регистры TRISTA (например), с помощью него я могу установить выводы порта на ввод и на вывод, но только в начале программы, а потом, простая, смена значения регистра нечего не даёт.
Попробовал обращаться вот таким образом TRISA0 , но в данном случае значение всего порта сбрасывается и нужно заново его выставлять, а это может быть проблематично.
Есть какой-нить другой способ переключения выводов микроконтроллера с чтения на запись и обратно или как это правильно делать?
Есть регистры TRISTA (например), с помощью него я могу установить выводы порта на ввод и на вывод, но только в начале программы, а потом, простая, смена значения регистра нечего не даёт.
Попробовал обращаться вот таким образом TRISA0 , но в данном случае значение всего порта сбрасывается и нужно заново его выставлять, а это может быть проблематично.
Есть какой-нить другой способ переключения выводов микроконтроллера с чтения на запись и обратно или как это правильно делать?
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
тип МК укажитеAlex_EXE писал(а):Вопрос немного в другом:
Есть регистры TRISTA (например), с помощью него я могу установить выводы порта на ввод и на вывод, но только в начале программы, а потом, простая, смена значения регистра нечего не даёт.
Попробовал обращаться вот таким образом TRISA0 , но в данном случае значение всего порта сбрасывается и нужно заново его выставлять, а это может быть проблематично.
Есть какой-нить другой способ переключения выводов микроконтроллера с чтения на запись и обратно или как это правильно делать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Пухич
- Модератор
- Сообщения: 4673
- Зарегистрирован: Вс июн 01, 2008 00:17:35
- Откуда: Я всего лишь плод вашего воображения...
Весь прикол в том, что постановка галочки при эмуляции в пункт ACI, например, отлично себе вызывает прерывания. А вот установка с последующим снятием галочки ACO (эмуляция спада на выходе компаратора) как-то не катит в качестве источника захвата. Ну и в железе какая-то ерунда с этим делом.ARV писал(а):беда студии в том, что аналоговую периферию, к которой безусловно, относится компаратор, она эмулирует... как бы так вежливо высказаться... плоховато. в общем, практически не эмулирует. думаю, ждать чего-то от студии по поводу аналогового компаратора бессмысленно...
Вообще какие-то левые косяки полезли......... Не поверите - измеряю емкость кондея путем его заряда и сравнения на компараторе! Не работает!
Самому смешно.
Знание - сила!
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 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Ом.
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
проблема новичка :)
Здравствуйте, тоже новичек, тоже спаял простейшую вещь на МК с панелькой монтажкой и т.д. тоже взял шнур от принтера, раскрыл крышку принтерной стороны, отпаял нужные проводки, нужные замкнул раз 10 всё проверил перепрозвонил и т.д. 5 проводков вывел в шлейфик ну сантиметра 4-6 длиной и разьёмчик, на платке с разьемчика 4 резистора и по ножкам МК вот...программу управления ЛСД нокии 3310 в эмуляторе работает и наигрался я уже виртуально до нехочу...теперь хочется в реальности увидеть картинки и букофки:)
В КодВижн АВР настройки программера - поставил Кандасистемз 200, в биосе порт SPP 3F8 принтер LPT был и работал но драйвер удалил пару раз перегружался но у меня при попытке программить чип нету полоски "частота" под типом процессора и что самое обидное ни чтение фьюзов ни сигнатур чипа - ничего не работает, питание МК беру с ЮСБ порта 4,91 вольт на ножках МК....ничего не греется и т.д. что может быть? Принтерный провод полтора метра старый экранированный...мега на панельке с кварцем припаянным, на АВСС ничего не подал так как порт а и не нужен а в будущем будет нужен АЦП хотя подпаять на +5 не проблема никаких буферных микросхем и т.д. всё просто до ужаса и тем обо и ужасно - негде искать косяк...может камень ударенный?
В КодВижн АВР настройки программера - поставил Кандасистемз 200, в биосе порт SPP 3F8 принтер LPT был и работал но драйвер удалил пару раз перегружался но у меня при попытке программить чип нету полоски "частота" под типом процессора и что самое обидное ни чтение фьюзов ни сигнатур чипа - ничего не работает, питание МК беру с ЮСБ порта 4,91 вольт на ножках МК....ничего не греется и т.д. что может быть? Принтерный провод полтора метра старый экранированный...мега на панельке с кварцем припаянным, на АВСС ничего не подал так как порт а и не нужен а в будущем будет нужен АЦП хотя подпаять на +5 не проблема никаких буферных микросхем и т.д. всё просто до ужаса и тем обо и ужасно - негде искать косяк...может камень ударенный?
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17



