|
инициализация AVR, какие действия обязательны? |
|
|
|
Feb 5 2008, 08:10
|
Участник

Группа: Свой
Сообщений: 40
Регистрация: 29-08-05
Из: новосибирск
Пользователь №: 8 054

|
Цитата(Kirill Trusov @ Feb 5 2008, 09:54)  a eto nado ? ИМХО в критических приложениях надо, а для себя как пожелаешь. опять же имхо, вопрос должен стоять не надо/не надо, а как именно использовать сторожевой таймер в программе.
|
|
|
|
|
Feb 5 2008, 08:34
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(coolibin @ Feb 5 2008, 11:25)  ну и как же им пользоватся? при каких условиях он срабатывает? и ещё, что делать с неиспользованными выводами при инициализации? Как и любой таймер при переполнении. Поэтому программа должна постоянно сбрасывать его счетчик командой WDR. Если по какой-либо причине программа где-то "заблудилась" и этого не сделала, происходит сброс МК и полная переинициализации. Анализируя специальный регистр можно лпределить причину вызвавшую сброс. Но лучше все-таки почитать об этом самому в DS на конкретный МК. Как я уже отмечал, если говорить об AVR, то из личного опыта рекомендую сконфигурировать их на выход и записать туда 0.
|
|
|
|
|
Feb 8 2008, 18:54
|
Группа: Новичок
Сообщений: 10
Регистрация: 28-06-07
Из: C:\Russia\SPb
Пользователь №: 28 779

|
Цитата(VladimirYU @ Feb 5 2008, 11:34)  Как я уже отмечал, если говорить об AVR, то из личного опыта рекомендую сконфигурировать их на выход и записать туда 0. А чем хуже подключить внутренние pull-up резисторы на неиспользуемые пины?
|
|
|
|
|
Feb 9 2008, 11:28
|
Местный
  
Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228

|
Цитата(Brutaller @ Feb 8 2008, 20:54)  А чем хуже подключить внутренние pull-up резисторы на неиспользуемые пины? т.е. DDRX = 0x00, PORTX = 0xFF?
--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
|
|
|
|
|
Feb 9 2008, 15:54
|
Группа: Новичок
Сообщений: 10
Регистрация: 28-06-07
Из: C:\Russia\SPb
Пользователь №: 28 779

|
Цитата(coolibin @ Feb 9 2008, 14:28)  т.е. DDRX = 0x00, PORTX = 0xFF? Ну да, оставляешь(в соотв. битах DDRX нули) нужные тебе пины в качестве входа, а в нужные биты PORTX ставишь единицы, и к ним подключаются pull-up резисторы. P.S. Изначально в DDRX не надо пулять нули, по умолчанию после сброса там и так они есть ;) В разделе "Register Description for I/O-Ports" даташита можно это увидеть.
|
|
|
|
|
Feb 11 2008, 10:01
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(coolibin @ Feb 11 2008, 12:08)  Столкнулся с такой проблемой, есть схема, на схеме есть много разных скажем так блоков, все они подключены к микропроцу, из этих блоков меня интересует только один. А теперь, уважаемые знатоки вопрос, как "заглушить" подключёные, но не интересуещие меня выводы? или это зависит от схемы? Конечно зависит, например, несколько различных функциональных узлов могут быть подключены к одним и тем же выводам МК, а выбор устройств выполняется сигналами CS (chip select). В постейших случаях может оказаться достаточно просто деактивировать выводы портов ( оставить в 3 состоянии, как после сброса) или если позволяет схемотехника, наоборот записмать в них 0 или 1. Это уже обсуждалось в данной теме.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|