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

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

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

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

Күн бұрын

Пікірлер: 16
@hieverybody359
@hieverybody359 2 жыл бұрын
Все четко! приятно было просматривать данное видео!
@a-c.o.s.1806
@a-c.o.s.1806 3 жыл бұрын
Круто! Спасибо, очень подробно и всё понятно!
@marina16350
@marina16350 5 ай бұрын
При 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
@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 5 ай бұрын
Если код рабочий и частота шины (тактовых импульсов 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 кГц. Но это не скажется на работе датчиков, т.к. подключение происходит по схеме монтажное И, и частота диктуется наиболее медленным устройством на шине.
@alekskapitonov2738
@alekskapitonov2738 3 жыл бұрын
Спасибо!
@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_ ок спасибо не увидел
@ПетрГоловченко-з5ч
@ПетрГоловченко-з5ч 2 жыл бұрын
Ребя ! учите ассемблер 60 команд для авр не сложно ...
@АлмазГумаров-ч1ь
@АлмазГумаров-ч1ь Жыл бұрын
Такое ощущение что вы первый раз компьютер сели,так долго печатаете..ужас просто
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 280 М.
AVR 47# Программный I2C
22:10
Andrey Frolov
Рет қаралды 7 М.
25 Шина I2C
43:22
MIR Company
Рет қаралды 3 М.
AVR 8# Функции
13:43
Andrey Frolov
Рет қаралды 5 М.
Efficient use of MCU memory | Tips & Tricks (Eng subs)
50:00
Dmitry Muravyev
Рет қаралды 7 М.