Все четко! приятно было просматривать данное видео!
@a-c.o.s.18063 жыл бұрын
Круто! Спасибо, очень подробно и всё понятно!
@marina163505 ай бұрын
При TWPS1=TWPS0=0 (как в коде на сайте) для получения частоты SCL 100 кГц TWBR должен быть равен 12. Для получения частоты 100 кГц при тактовой частоте МК 4 МГц TWPS1=0 TWPS0=1 и TWBR=3. Смотри формулу TWBR = ((F_cpu/F_scl) - 16)/(2*4^TWPS), 4^1=4, 4^0=1, 4^3=64 (4000000/100000-16)/(2*4)=24/8=3. Если же как в видео TWPS1=1 TWPS0=1, то частота шины будет явно меньше 100 кГц. Но это не скажется на работе устройств подключаемых к шине, т.к. подключение происходит по схеме монтажное И, и частота диктуется наиболее медленным устройством на шине.
@mikegriffin3309 Жыл бұрын
Интересно реализовать slave на Atmega8. Пока не получается вызвать прерывание ISR(TWI_vect). TWCR.TWIE = 1, SREG.I = 1, остальные биты тоже проверял, но не работает.
@AlexAlex-uj3co2 жыл бұрын
День добрый. На 9.16 TWPS1 и TWPS0 устанавливаются в единицу, что дает TWPS равный 3. Т.е. 4 будет в 3 степени и частота I2C будет явно меньше 100 кГц. По тексту вы говорите, что TWPS должен быть равен 1. Тогда TWSR вообще не надо прописывать и по умолчанию TWPS1 и TWPS0 будут в нуле, а четвёрка будет в нулевой степени (= 0). Поправьте если не так.
@AlexanderRozhkov_2 жыл бұрын
Данный код полностью рабочий - на основе него у меня дальше подключаются и работают датчики.
@marina163505 ай бұрын
Если код рабочий и частота шины (тактовых импульсов SCL) 100 кГц, то скорее всего TWPS1=0 TWPS0=1. Смотри формулу TWBR = ((F_cpu/F_scl) - 16)/(2*4^TWPS), 4^1=4, 4^0=1, 4^3=64 (4000000/100000-16)/(2*4)=24/8=3. Если же как в видео TWPS1=1 TWPS0=1, то частота шины будет явно меньше 100 кГц. Но это не скажется на работе датчиков, т.к. подключение происходит по схеме монтажное И, и частота диктуется наиболее медленным устройством на шине.
@alekskapitonov27383 жыл бұрын
Спасибо!
@Maximir_4 жыл бұрын
void I2C_SendByteAdres(unsigned char c, unsigned char addr ) не работает
@Maximir_4 жыл бұрын
не передаёт адрес .только биты. потому как слейф передаёт 1 - N проверял в протеусе
@Maximir_4 жыл бұрын
программа написана но не известно работает или нет ! не приведён пример работы программы
@Maximir_4 жыл бұрын
хотя статья очень интересно зделана
@AlexanderRozhkov_4 жыл бұрын
Пример использования есть, он в следующем уроке:Урок №8. Подключаем экран WH1604A через шину I2C. (texnohelp.com/atmega8-wh1604-i2c/). Страница и видео скоро будут готовы.
@Maximir_4 жыл бұрын
@@AlexanderRozhkov_ ок спасибо не увидел
@ПетрГоловченко-з5ч2 жыл бұрын
Ребя ! учите ассемблер 60 команд для авр не сложно ...
@АлмазГумаров-ч1ь Жыл бұрын
Такое ощущение что вы первый раз компьютер сели,так долго печатаете..ужас просто