Управление 3мя сдвиговыми регистрами AVR

Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить
Аватара пользователя
daaar
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm
Контактная информация:

Управление 3мя сдвиговыми регистрами AVR

Сообщение daaar »

Использую 74hc595 3 штуки. Управляю вот так:

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

void write(uint32_t data)
{
	for(uint32_t i = 0; i < 24; i++)
	{
		if((data >> i)%2) SetBit(DATA_PORT, DATA_BIT); else ClearBit(DATA_PORT, DATA_BIT);
		_delay_ms(1);
		SetBit(SHCP_PORT, SHCP_BIT);
		_delay_ms(1);
		ClearBit(SHCP_PORT, SHCP_BIT);
	}
	_delay_ms(1);
	SetBit(STCP_PORT, STCP_BIT);
	_delay_ms(1);
	ClearBit(STCP_PORT, STCP_BIT);
}
Но работают только 2 из 3, третий творит какую-то фигню. В чем может быть проблема?
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Управление 3мя сдвиговыми регистрами AVR

Сообщение pyzhman »

Не припаян провод.
Docendo discimus
Реклама
Аватара пользователя
daaar
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm
Контактная информация:

Re: Управление 3мя сдвиговыми регистрами AVR

Сообщение daaar »

Это исключено, так как нет никаких проводов, разведена плата, вроде бы всё верно
Аватара пользователя
khomych
Мучитель микросхем
Сообщения: 423
Зарегистрирован: Сб фев 21, 2009 16:11:32
Откуда: Харьков
Контактная информация:

Re: Управление 3мя сдвиговыми регистрами AVR

Сообщение khomych »

с проводками проще - видно не припаянный. в плате могут быть непропаи или микротрещины в дорожках, которые живут своей жизнью. один раз попалась 74hc595 с нерабочим выводом Q7` - сама микруха работала а на остальные отправляла лютую дичь!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Управление 3мя сдвиговыми регистрами AVR

Сообщение Ivanoff-iv »

Круто! ГСЧ нахаляву! :)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15585
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Управление 3мя сдвиговыми регистрами AVR

Сообщение BOB51 »

Лучше разбить данные на байты...
и длительность времени строб-импульса увеличить - строб то единый, а данные проходят через кучку задержек распространения в пределах линии задержки из минимум 16 триггеров...
:roll:
УПС...
а что это за "выделение бита как остатка от деления на 2 ВСЕГО числа сдвинутого на N разрядов вправо"?
другое дело выделение бита маской (при сдвиге или бита в маске или исходной величины) - там однозначно результат равен только выделенному биту...
:?
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Управление 3мя сдвиговыми регистрами AVR

Сообщение pyzhman »

2n%2= 0
(2n+1)%2= 1
Docendo discimus
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15585
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Управление 3мя сдвиговыми регистрами AVR

Сообщение BOB51 »

Тогда только топология МОНДАЖА...
К примеру вот такой вариант
http://img.radiokot.ru/files/20529/hkjb4s72g.JPG
http://img.radiokot.ru/files/20529/hkjbckakx.JPG
8)
И один строб таки лишний.
:wink:
Аватара пользователя
daaar
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm
Контактная информация:

Re: Управление 3мя сдвиговыми регистрами AVR

Сообщение daaar »

Разобрался уже, как написали выше надо было по байту писать данные
Ответить

Вернуться в «Практика»