Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F407 I2c - не могу понять
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
A.Lex
Пытаюсь читать регистр SiI9575 через I2c.
STM32F407 - мастер.
Осциллографом вижу правильное значение содержимого регистра, а в отладчике бред smile3046.gif
Кто виноват? Я, Кеил, контроллер?
На скриншоте значения в регистре I2c и принятое переменной.


0х53 - это адрес регистра +1, 0х20 - правильное значение.
Направьте на путь истинный...
esaulenka
Отладчиком в этом случае пользоваться нельзя!!
Регистр DR читается ДВА раза. Один раз - из кода, второй - отладчиком. Как минимум, закройте окошко с регистрами I2C.
A.Lex
Спасибо.
Это у Кейла фича такая?
А вообще библиотечные функции для I2C у HAL безобразные и не работают. Пришлось делать свои
esaulenka
Цитата(A.Lex @ Jan 23 2017, 13:13) *
Это у Кейла фича такая?

Это у любого отладчика фича такая. Видит, что пользователь хочет считать переменную - и считывает при каждом удобном случае.
Каких-то особо умных отладчиков, которые знают о "спецэффектах" при чтении регистров периферии, я не знаю.
Максимум - пользователь может сам управлять, читать ли данный конкретный регистр.


Цитата(A.Lex @ Jan 23 2017, 13:13) *
А вообще библиотечные функции для I2C у HAL безобразные и не работают. Пришлось делать свои

Да и вообще I2C какой-то странный и на "раз-два" работать отказывается. И виснет от внешних помех в недокументированных состояниях (благо, есть бит сброса).
A.Lex
Спасибо за ответ
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.