Урок №7. Подключаем шину I2C в микроконтроллере Atmega8.

  Рет қаралды 2,784

Александр Рожков

Александр Рожков

Күн бұрын

Подключаем шину I2C в микроконтроллере Atmega8, используя среду программирования Atmel Studio.
Посмотреть текстовую версию урока можно здесь: texnohelp.com/...

Пікірлер: 16
@marina16350
@marina16350 Ай бұрын
При 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 кГц. Но это не скажется на работе устройств подключаемых к шине, т.к. подключение происходит по схеме монтажное И, и частота диктуется наиболее медленным устройством на шине.
@hieverybody359
@hieverybody359 2 жыл бұрын
Все четко! приятно было просматривать данное видео!
@a-c.o.s.1806
@a-c.o.s.1806 2 жыл бұрын
Круто! Спасибо, очень подробно и всё понятно!
@alekskapitonov2738
@alekskapitonov2738 3 жыл бұрын
Спасибо!
@mikegriffin3309
@mikegriffin3309 Жыл бұрын
Интересно реализовать slave на Atmega8. Пока не получается вызвать прерывание ISR(TWI_vect). TWCR.TWIE = 1, SREG.I = 1, остальные биты тоже проверял, но не работает.
@AlexAlex-uj3co
@AlexAlex-uj3co 2 жыл бұрын
День добрый. На 9.16 TWPS1 и TWPS0 устанавливаются в единицу, что дает TWPS равный 3. Т.е. 4 будет в 3 степени и частота I2C будет явно меньше 100 кГц. По тексту вы говорите, что TWPS должен быть равен 1. Тогда TWSR вообще не надо прописывать и по умолчанию TWPS1 и TWPS0 будут в нуле, а четвёрка будет в нулевой степени (= 0). Поправьте если не так.
@AlexanderRozhkov_
@AlexanderRozhkov_ 2 жыл бұрын
Данный код полностью рабочий - на основе него у меня дальше подключаются и работают датчики.
@marina16350
@marina16350 Ай бұрын
Если код рабочий и частота шины (тактовых импульсов 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 кГц. Но это не скажется на работе датчиков, т.к. подключение происходит по схеме монтажное И, и частота диктуется наиболее медленным устройством на шине.
@user-hu8rh2ym4e
@user-hu8rh2ym4e 2 жыл бұрын
Ребя ! учите ассемблер 60 команд для авр не сложно ...
@Maximir_
@Maximir_ 4 жыл бұрын
void I2C_SendByteAdres(unsigned char c, unsigned char addr ) не работает
@Maximir_
@Maximir_ 4 жыл бұрын
не передаёт адрес .только биты. потому как слейф передаёт 1 - N проверял в протеусе
@Maximir_
@Maximir_ 4 жыл бұрын
программа написана но не известно работает или нет ! не приведён пример работы программы
@Maximir_
@Maximir_ 4 жыл бұрын
хотя статья очень интересно зделана
@AlexanderRozhkov_
@AlexanderRozhkov_ 4 жыл бұрын
Пример использования есть, он в следующем уроке:Урок №8. Подключаем экран WH1604A через шину I2C. (texnohelp.com/atmega8-wh1604-i2c/). Страница и видео скоро будут готовы.
@Maximir_
@Maximir_ 4 жыл бұрын
@@AlexanderRozhkov_ ок спасибо не увидел
@user-kq7sh3oj3m
@user-kq7sh3oj3m 11 ай бұрын
Такое ощущение что вы первый раз компьютер сели,так долго печатаете..ужас просто
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 50 МЛН
Throwing Swords From My Blue Cybertruck
00:32
Mini Katana
Рет қаралды 11 МЛН
MICROMASTER 440 + PROFIBUS + S7-300
42:36
DIY PLC
Рет қаралды 157
EXTENDED HIGHLIGHTS | Brighton v Manchester United | Premier League
10:31
Official Brighton & Hove Albion FC
Рет қаралды 995 М.