реклама на сайте
подробности

 
 
> I2C STM32L4
MiklPolikov
сообщение May 4 2016, 10:51
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Помогите разобраться с I2C в STM32L4
Пытаюсь прочитать slave-микросхему.
Делаю следующее:
NBYTES = 3 (количество байт в транзакции)
SADD = 0x21 (адрес микросхемы)
TXDR = 0x5 (адрес регистра в микросхеме)
START = 1 (запуск передачи)

И передача начинается. Передаётся сначала 0x21 затем 0x03
Что делать дальше - не понимаю. Как после этого заставить I2C выставить ещё клоки и прочитать ответ микросхемы ?

Ставлю бит RD_WRN = 1
TXDR = 0xFF - ещё клоки выставляются , но в RXDR ничего не появляется.

Вообще, почему в RXDR ничего не появляется после каждой передачи ? Было бы логично, если бы там появлялось эхо.

Заранее спасибо !


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
golf2109
сообщение May 11 2016, 01:30
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654



эхо может быть в виде бита или в виде байта
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение May 11 2016, 05:01
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Разобрался.
Суть в том, что в I2C нельзя в произвольной последовательнсоти передавать адреса / данные / что-то читать, а можно только по определённому, принятому в этой шине алгоритму.
I2C в МК работает, только если следовать этому алгоритму.
Во вложении мои функции для работы с кодеком MAX98090 процессор STM32L4
Прикрепленные файлы
Прикрепленный файл  1.txt ( 4.83 килобайт ) Кол-во скачиваний: 39
 


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
AleksBak
сообщение May 11 2016, 06:33
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 132
Регистрация: 6-02-16
Из: г. Баку
Пользователь №: 90 364



Цитата(MiklPolikov @ May 11 2016, 09:01) *
Разобрался...

Спасибо большое. Давным-давно, на др. контроллерах, именно так и писал (с использованием прямого программирования регистров и пр.), а тут (у стм-ок) еще не успел
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016