определи бит, который не выводится. Попробуй присваивать 255-<степень двойки>. И добейся, чтобы горело все.
Нет.
Да.
Нужна , только руки кривые, самому не осилить
определи бит, который не выводится. Попробуй присваивать 255-<степень двойки>. И добейся, чтобы горело все.
почему то не происходит смещение бита, у меня задействованы выводы q1...q7, а данные посылаются на q0..q6
то есть при SPDR=254 горят все?
стоп. Сначала.
У uln 8 выходов. В твоей схеме какие из них используются?
У меня в схеме использовались только 7.
не в uln а в 595, хотя там и там их 8, я использую выходы с q1 по q7, а q0 тот что на 15 ноге по счету я не задействовал. да по вашей схеме делалась разводка.
если крайний вывод не используется, то все светодиоды должны гореть при посылке 127 либо 254.
Нужно понять какой бит из 8 не используется. Ну и уже потом - сделать так, чтобы в остальные данные гнались при работе эмбилайта.
при 254 и при 127 нет напряжения на q6 всех 595. так кая я в этом деле новичек, то мне кажется проще всего припаяться к q0 каждого 595-ого. и не выносить себе мозг. Да это должно решаться с помощью исправления прошивки для МК.
P.S. когда моя пердоставленная прошивка выше работает, то данные посылаются с q0 по q6, а мне надо с q1 по q7.
попробуй конец таймера сделать
А в в самом начале циклаКод:if(*CBright>PWM_Counter_v) byte_shift|= 1; CBright++; byte_shift = byte_shift<<1; while(!(SPSR & (1<<SPIF))); // Ожидание завершения передачи данных SPDR = byte_shift; //отправляем в шину SPI } PWM_Counter++; }
поставить
PORTB |= (1<<PIN2); //формируем положительный импульс защелки
PORTB |= (1<<PIN2);
PORTB &= ~(1<<PIN2);
сделал как ты сказал, но результат - не работает правельно
Эту тему просматривают: 20 (пользователей: 0 , гостей: 20)