-15 / 1 / 0
Регистрация: 21.02.2019
Сообщений: 53
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
странности в чтении байт с ds323101.04.2019, 01:47. Показов 5656. Ответов 0
Метки нет (Все метки)
Atmega323p(в дуне), работает на 16 МГц, подключен экран OLED 128х64 на чипе SSD1306. Плюс часы реального времени DS3231. Сначала выводило вместо часов и минут цифру одног разряда(5 или 7) потом кое-что исправил, вывел секунды - их вывело корректно, затем в код функции между чтением разрядов(сек, мин, часы) вставил еще Повстарт и адрес часов, стали выводиться и минуты и часы. Но по разным источникам, чтение нескольких разрядов идет один за другим, видимо у меня в коде вместо ACK функция выдает NACK, но я никак не могу понять как в аппаратном TWI режиме чтения мастером формируется передача от мастера к слейву бита NACK или ACK. В последнем байте мастер должен отправить в ответ NACK. Понимаю, что при записи байтов в переферию слейв посылает подтверждение, и это можно понять через регистр статуса TWSR, а вот как я могу именно контролировать передачу от мастера к слейву в программе битов подтверждения?
Разобрался, в статусном регистре TWCR нужно перед считыванием данных поставить 1 в TWEA, чтоб отправить ACK, если нужен NACK, то просто не записываете этот TWEA. Пришлось делать 2 функции с записью 1 в TWEA и без записи, когда последний байт читаешь перед СТОПом
0
|
01.04.2019, 01:47 | |
Ответы с готовыми решениями:
0
Откуда при чтении из COM-порта берутся 99 байт? Зависание приложения при чтении байт в TcpClient Qt. Изменение порядка байт в массиве (или при чтении из файла) Проблема с DS3231 Работа с DS3231 вопросы |
01.04.2019, 01:47 | |
01.04.2019, 01:47 | |
Помогаю со студенческими работами здесь
1
ATtiny2313a +I2C + DS3231 DS3231. Вывод темпертуры DS3231 сбрасывает время Подключение RTC DS3231 к AVR RTC часы реального времени DS3231 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |