Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2017, 14:55   #11
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Не надо делать сразу все условия. Сделай, для начала, на один бит:
если РВ0=0, то выход (PD0) есть, иначе - нет.

Если корректно работает, тогда введи в логику работы микроконтроллера РВ1 ещё один бит. Если и сейчас заработало - введи ещё один бит информации....

Пиши, что получилось и на каком шаге у тебя ошибка выскакивает...

Последний раз редактировалось ura_111; 05.10.2017 в 15:24.
ura_111 вне форума Ответить с цитированием
Старый 05.10.2017, 15:01   #12
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

scccorp, & - битовая операция, && - логическая. Может вам основы подтянуть?
p51x на форуме Ответить с цитированием
Старый 06.10.2017, 09:12   #13
scccorp
Пользователь
 
Регистрация: 05.10.2017
Сообщений: 44
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Не надо делать сразу все условия. Сделай, для начала, на один бит:
если РВ0=0, то выход (PD0) есть, иначе - нет.

Если корректно работает, тогда введи в логику работы микроконтроллера РВ1 ещё один бит. Если и сейчас заработало - введи ещё один бит информации....

Пиши, что получилось и на каком шаге у тебя ошибка выскакивает...
сделал так:
Код:
#include <avr/io.h>



int main(void)
{
	DDRB = 0x00; //порт B - вход
	PORTB = 0x00; //подключаем нагрузочный резистор
	DDRD = 0xFF; //порт B - выход
	PORTD = 0x00; //устанавливаем 0 на выходе
	

   while (1) 
    {
		if  ((PORTB ==  0b00000001 ))
			    {
			
			PIND = 0b00000100;
		}
			else 
		{
			PORTD  = 0x00; 
			
		}
и ничего при нажатии диод не загорается
scccorp вне форума Ответить с цитированием
Старый 06.10.2017, 11:41   #14
scccorp
Пользователь
 
Регистрация: 05.10.2017
Сообщений: 44
По умолчанию

попробовал так
Код:
#include <avr/io.h>
#define parity_bit 0
#define test_bit 1


int main(void)
{
	DDRB = 0x00; //порт B - вход
	PORTB = 0x00; //подключаем нагрузочный резистор
	DDRD = 0xFF; //порт B - выход
	PORTD = 0x00; //устанавливаем 0 на выходе
	

   while (1) 
       {if  (PINB && ( test_bit<<0))
	     {if (PINB && ( test_bit<<4))
		   {if (PINB && ( test_bit<<1))
			 {
					PORTD  = 0x00; 
			 }
					else
					{
						PORTD  = 0x00;
					}
			 } 
		else
		{
		PORTD  = 0x00;
		
		}
		 }
		else
		{
		PORTD = 0b00000100;
		}
		}
		}
теперь вышло что Д3, загораеться только когда включен Б1 и Б4, независимо от того какой сигнал на Б0. почему так подскажите может напутал где что?
scccorp вне форума Ответить с цитированием
Старый 06.10.2017, 12:04   #15
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы читали мой пост про & и &&. Перечитайте и подумайте, что вы делаете в условиях.
p51x на форуме Ответить с цитированием
Старый 06.10.2017, 12:07   #16
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Надо добиться хоть какого-нибудь результата.
Вот тебе инструкция (с 16:26):

Подожди, а то пишет что видео на других сайтах не воспроизводиться.

Сделай как у него.
Т.е. кнопка замкнута светодиод горит, разомкнута - не горит.

p.s.: если заработает, тогда введём ещё контроль за парой входов и будем с логическими операциями играться.
ura_111 вне форума Ответить с цитированием
Старый 06.10.2017, 12:18   #17
scccorp
Пользователь
 
Регистрация: 05.10.2017
Сообщений: 44
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Надо добиться хоть какого-нибудь результата.
Вот тебе инструкция (с 16:26):

Подожди, а то пишет что видео на других сайтах не воспроизводиться.

Сделай как у него.
Т.е. кнопка замкнута светодиод горит, разомкнута - не горит.

p.s.: если заработает, тогда введём ещё контроль за парой входов и будем с логическими операциями играться.
ну смотри когда виду описание одного входа и одного выхода то все хорошо работает , только как подключаю ещё один начинаются проблемы
scccorp вне форума Ответить с цитированием
Старый 06.10.2017, 12:29   #18
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Автор запретил своё видео смотреть на других ресурсах. Я хотел стырять, но что -то долго грузится...

Ну ладно, вот сделал скриншот:

1.jpg

2.jpg


Сделай так для начала. И подтверди, что всё ОК.
ura_111 вне форума Ответить с цитированием
Старый 06.10.2017, 14:05   #19
scccorp
Пользователь
 
Регистрация: 05.10.2017
Сообщений: 44
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Автор запретил своё видео смотреть на других ресурсах. Я хотел стырять, но что -то долго грузится...

Ну ладно, вот сделал скриншот:

Вложение 89683

Вложение 89684


Сделай так для начала. И подтверди, что всё ОК.
да так все норм работает.
scccorp вне форума Ответить с цитированием
Старый 06.10.2017, 14:14   #20
scccorp
Пользователь
 
Регистрация: 05.10.2017
Сообщений: 44
По умолчанию

вот что получается
Изображения
Тип файла: jpg Безымянный1.jpg (99.8 Кб, 155 просмотров)
Тип файла: jpg Безымянный12.jpg (99.8 Кб, 151 просмотров)
Тип файла: jpg 3.jpg (99.8 Кб, 118 просмотров)
scccorp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Порты Novichek_1996 Помощь студентам 3 22.04.2014 19:55
Не могу открыть порты. aszaszasz Помощь студентам 0 26.05.2010 14:27
Порты Троян Помощь студентам 1 12.02.2010 14:55
порты Rabitka Безопасность, Шифрование 0 16.10.2009 16:09
COM Порты Skazi21101 Помощь студентам 0 02.11.2008 12:24