реклама на сайте
подробности

 
 
> Совсем ламерский вопрос., Пор порты.
BlauTood
сообщение Mar 18 2005, 16:56
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 11-10-04
Пользователь №: 841



сконфигурировал порт на вход
DDRA=0x00;
DDRC=0x00;



подал я на него внешне 1, мне ее нужно считывать с PORTD? Правельно?
вот код считывания:

switch (Knopka) //êíîïêà 1 è 9
{
Knopka=PORTA+PORTC;
case 0x01: //êíîïêà 1,2,3
PORTB.1=1;
delay_ms(20);
break;
case 0x02:
PORTB.2=1;
delay_ms(20);
break;

если да, то или у меня код не работает или на проце порты подпалил ( тогда тока не знаю как sad.gif )


--------------------
Сделать можно ВСЕ, но это нужно делать.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andk
сообщение Mar 23 2005, 07:47
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 17-12-04
Из: Миасс
Пользователь №: 1 519



В твоем варианте программа зациклена не правильно - выполняется рекурсивно функция port() поэтому и ломается.
Должно быть примерно так:
...........
.........

// эта штука называется основной цикл.
// алгоритм программы живет именно здесь.
// все остальные функции служат для реализации частных задач.
// именно по этому он называется MAIN - главный.
void main(void)
{
init(); // ну, понятно, инициализация

for(;;) // крутимся тут всегда
{
port(); // собственно задача, ради которой все и затевалось smile.gif

}

}

void port(void)
{
temp=PINA; // читаем кнопки
switch (temp)
{
case 0xFE : PORTB=0x01; delay_ms(20); break; // кнопка 1
case 0xFD : PORTB=0x02; delay_ms(20); break; // кнопка 2
case 0xFB : PORTB=0x04; delay_ms(20); break; // кнопка 3
case 0xF7 : PORTB=0x08; delay_ms(20); break; // кнопка 4

case 0xFF:PORTB=0x00; delay_ms(20); break; // если не нажато ни
//одной тушим лампочки

default: break; // неизвестная или не нужная комбинация
//кнопок - ничего не делаем
}
}

void init(void)
{
PORTA=0x00; //подтягивается внешне к +
DDRA=0x00; // на ввод

PORTB=0x00; // выключаем - лампочки.
DDRB=0xFF; //
}
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016