Хелп с кодом

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср сен 05, 2007 02:07:36
Откуда: Россия воронеж

Сообщение _LeO_ »

Вот внедряюсь в микро контролеры ))
и написал такой код для диодной матрицы

Код: Выделить всё

#include <avr>
#include <avr>

	int main (void)
	{
		PORTD |= 0x01;

		while(1)
		{
			if (bit_is_clear(PIND,PD0))
			{

				DDRA |= 0x01;
				PORTA |= 0x01;
				DDRB |= 0x01;
				
			}

			else

			{

				DDRA |= 0x00;
				PORTA |= 0x00;
				DDRB |= 0x00;	

			}
		
		}

		return 0;

	}

Но странный глюк - диод на матрице загорается и не потухает ((
Реклама
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср сен 05, 2007 02:07:36
Откуда: Россия воронеж

Сообщение _LeO_ »

Ой сори )) такой глупый вопрос задал )
убираем опирацию ИЛИ
И все стает на свои места

Код: Выделить всё

if (bit_is_clear(PIND,PD0))
			{

				DDRA |= 0x01;
				PORTA |= 0x01;
				DDRB |= 0x01;
				
			}

			else

			{

				DDRA = 0x00;
				PORTA = 0x00;
				DDRB = 0x00;	

			} 
:idea:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

Схему выложи и напиши поподробней про то что тебя интересует! :idea:
Изображение
Контактная информация:
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

DDRA наверно не нужно постоянно переключать.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

Попробуй вот так (конешно если я правельно понял что тебе надо) :)) :

Код: Выделить всё

DDRA = 0xff;                     // Делаем порт А как выход
DDRB = 0xff;                     // Порт В как выходы
DDRD = 0x00;                   // Делаем порт D как вход 
if (bit_is_clear(PIND,PD0)) 
         { 

            PORTA = 0x01; 
             
         } 

         else 

         { 

            PORTA = 0x00; 

         }
Изображение
Контактная информация:
Реклама
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср сен 05, 2007 02:07:36
Откуда: Россия воронеж

Сообщение _LeO_ »

Ды я уже сделал все работает чего надо было добился- просто экспериментирую, теперь переходим на следующий шаг седня буду
с таймером гребанымм разбираться а то у меня позавчера не заладилось я за даташиты и в перед. Ну буим надеятсо седня все получится
Вложения
myplata.rar
(35.22 КБ) 280 скачиваний
Реклама
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Предлагаю переименовать тему. А если Вы намерены задавать здесь все вопросы, которые у Вас возникают при обучении - лучше сразу поиском пользоваться или в "Мелкие вопросы" стучаться.
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»