Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
15.06.2006, 22:56
|
|
Частый гость
Регистрация: 20.04.2006
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
|
кто шарит в языке СИ для МК AVR CVAVR
кто шарит в языке СИ для МК AVR CVAVR.
помогите написать программу нужно чтобы при подаче на одну из ножек порта D ‹ПРИМЕР PIND.0›кратковременного импульса, положительного или отрицательного,одно из двух, сигнала происходило включение
while(1)
{
PORTB. 1=0;
delay_ms (400);
PORTB. 1=1;
delay_ms (400);
PORTB. 1=0;
delay_ms (400);
PORTB. 1=1;
delay_ms (400);
PORTB. 2=0;
delay_ms (400);
PORTB. 2=1;
delay_ms (400);
PORTB. 3=0;
delay_ms (400);
PORTB. 3=1;
delay_ms (400);
PORTB. 3=0;
delay_ms (400);
PORTB. 3=1;
delay_ms (400);
PORTB. 4=0;
delay_ms (400);
PORTB. 4=1;
delay_ms (400);
}
и по окончании кода выключелся до слеующей подачи импульса ,+, или ,-, на порт D PIND.0
|
|
|
|
16.06.2006, 06:25
|
|
Частый гость
Регистрация: 04.05.2006
Сообщений: 46
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
На любую ногу не рационально.
Используй внешнее прерывание (External Interrupt)
|
|
|
|
16.06.2006, 11:13
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,948
Сказали Спасибо 1,327 раз(а) в 578 сообщении(ях)
|
Re: кто шарит в языке СИ для МК AVR CVAVR
Сообщение от golinskiy
|
помогите написать программу нужно чтобы при подаче на одну из ножек порта D ‹ПРИМЕР PIND.0›кратковременного импульса, положительного или отрицательного,одно из двух, сигнала происходило включение
while(1)
{
PORTB. 1=0;
delay_ms (400);
---------
PORTB. 4=1;
delay_ms (400);
}
и по окончании кода выключелся до слеующей подачи импульса ,+, или ,-, на порт D PIND.0
|
1) Что значит "отрицательный" импульс? Имеете в виду лог.0?
2) какое состояние ног должно быть после окончания последовательности, и что такое "выключился до следующей подачи"?
если надо в промежутках минимальное энергопотребление, то надо уходить в PowerDown. Вывести из этого состояния можно лог. 0 на Int1 или просто Reset-ом
|
|
|
|
02.07.2006, 20:52
|
|
Частый гость
Регистрация: 17.06.2006
Сообщений: 27
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Вельми удобно было бы вставить указанный фраг мент в прерывание. отрицательный, как я понимаю, это перепад в Low. здесь варианты: или выбрать AnyChange для прерывания, или на входе схемазу забабахать из детского учебника.
|
|
|
|
02.07.2006, 23:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: кто шарит в языке СИ для МК AVR CVAVR
Сообщение от golinskiy
|
кто шарит в языке СИ для МК AVR CVAVR помогите написать программу
|
помогаю: avr123.nm.ru/05.htm
наверно после:
while(1)
{
нужно добавить:
while(нет импульса);
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:32.
|
|