|
Описание SPI I2C и др. |
|
|
|
Jun 29 2006, 09:53
|

Участник

Группа: Новичок
Сообщений: 15
Регистрация: 26-08-05
Пользователь №: 7 991

|
Смотри pdf неплохое описание I2C
|
|
|
|
|
Jun 30 2006, 12:54
|

За битами по регистрам гоняюсь
  
Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446

|
Посмотрите здесь: http://rs232.ru/Там много информации по интерфейсам.
--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
|
|
|
|
|
Jul 10 2007, 08:41
|

Местный
  
Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459

|
Цитата комбинация "Старт" в конце которой SCLK переходит из высокого уровня в низкий Огромная ПАСИБА! буду проверять на железе:-) прим: данные от slave мс идут после бита ACK(после адреса устройства, т.е. старт уже был). Соответственно "первый бит"данных будет устанавливаться после появления низкого уровня(после ACK). Если не так, поправьте.
--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
|
|
|
|
|
Jul 10 2007, 10:05
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(add @ Jul 10 2007, 11:41)  Соответственно "первый бит"данных будет устанавливаться после появления низкого уровня(после ACK). Если не так, поправьте. Нет, мастер сформирует фронт SCLK, считает состояние ACK, сформирует спад SCLK, и вот в этот момент slave начнет выдавать бит. А... если "после появления низкого уровня" имеется ввиду SCLK, то да, именно так.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Mar 19 2009, 17:22
|
Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 28-05-05
Пользователь №: 5 512

|
помогите плиз мне с этой PCA9554А. Физический адрес: 0. Хочу чтобы на выходе засветило 0хАА. В CAVR пишу так: Код while (1) { // Place your code here i2c_start(); i2c_write(0x70); // 01110000 i2c_write(0x01); // Output Register i2c_write(0xAA); // Output State i2c_stop(); delay_ms(500); }; На железе не работает. Ладно. Пошел мучать протеус: там тоже самое.
|
|
|
|
|
Mar 19 2009, 19:38
|
Местный
  
Группа: Участник
Сообщений: 322
Регистрация: 28-05-05
Пользователь №: 5 512

|
разобрался сам. Оказывается не хватало сконфигурировать I/O на выход, т.е. обнулить третий регистр. Тобишь вот: Код i2c_start(); i2c_write(0x70); // 01110000 i2c_write(0x03); // Register I/O i2c_write(0x00); // Config Reg I/O (config as ALL uotput's) i2c_stop(); i2c_start(); i2c_write(0x70); // 01110000 i2c_write(0x01); // Output Register i2c_write(0xAA); // Output State i2c_stop(); delay_ms(500);
|
|
|
|
|
Apr 3 2009, 19:01
|

читатель даташитов
   
Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999

|
Цитата(atlantic @ Apr 3 2009, 21:57)  Народ, подскажите, может кто знает, какой-нибудь доступный (freeware) инструмент под WinXP, кабель-переходник (желательно USB) с помощью которого можно было бы читать/писать по I2C(типа мастера шины), ну и соответствующий софт позволяющий просто всем этим делом управлять (делать дампы, записывать обратно, анализировать и т.п.) ? PonyProg. Схемы в описании есть, для I2C что-то типа четырех диодов и трех резисторов. Проверено - работает отлично! Кабель в ком-порт, с USB переходником работало вроде. Кроме I2C он еще много чего программировать может.
|
|
|
|
|
May 31 2013, 08:10
|
Частый гость
 
Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591

|
Здравствуйте. Сейчас разбираю (исследую) одно устройство, состоящее из ведущего и ведомого. Интерфейс общения - SPI. По линии MOSI всё нормально - сигнал амплитудой 5 В. А по линии MISO - появился вопрос. В собранном состоянии - обычный 5-ти вольтовый сигнал. Если разъединить ведущего и ведомого, то на ведущем - постоянные 5 вольт, на ведомом - 0..0,5 вольт. Это что - открытый коллектор? Своё питание на ведомом имеется. Кто-нибудь сталкивался с таким? Если можно, объясните, зачем так сделано, в чём здесь улучшение.
Здравствуйте. Сейчас разбираю (исследую) одно устройство, состоящее из ведущего и ведомого. Интерфейс общения - SPI. По линии MOSI всё нормально - сигнал амплитудой 5 В. А по линии MISO - появился вопрос. В собранном состоянии - обычный 5-ти вольтовый сигнал. Если разъединить ведущего и ведомого, то на ведущем - постоянные 5 вольт, на ведомом - 0..0,5 вольт. Это что - открытый коллектор? Своё питание на ведомом имеется. Кто-нибудь сталкивался с таким? Если можно, объясните, зачем так сделано, в чём здесь улучшение.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|