Страница 1 из 1

2 МК по шине I2C

Добавлено: 25 янв 2014, 23:32
Maks_24
Здравствуйте ув. радиолюбители.
Прошу сразу не пинать за ,может быть, тупые вопросы(я начинающий программист МК).
Такой вопрос!
Как соединить 2 и более МК (Attiny461) по I2c. Причем по этой шине к одному из МК подключены часы ДС1307.
В общем делаю приборную панель на АВТО( термометр, бакомер, часы, спидометр и что-то типа Бортового компа). По отдельности приборы работают, но кнопки управления, настройки приборов и т.д подключены только к БК. Также при вкл. габаритов в приборы необходимо записать код изменения яркости (Спасибо Админу за помощь).
Короче запарился вообще с этой шиной(Master,Slave и т.д). Понял только что система работает в режиме Multi-masner или Арбитраж.
Программу пишу в CodeVision!
Спасибо за ответы.

Re: 2 МК по шине I2C

Добавлено: 26 янв 2014, 08:51
boogyman
Рекомендую ознакомиться http://radioparty.ru/index.php/literatu ... hinaushich , http://radioparty.ru/index.php/literatu ... en-dannymi , если еще не читали

Re: 2 МК по шине I2C

Добавлено: 27 янв 2014, 16:25
Maks_24
Лебедева уже прочитал(по этой книге осваивал CVAVR). Есть там примеры с I2c, но о работе двух и более ведущих МК ни слова.
Посмотрю вторую книгу может что нибудь прояснится.
Спасибо.

Re: 2 МК по шине I2C

Добавлено: 27 янв 2014, 20:12
Maks_24
По теории все выглядит очень просто. Но запустив кодвижн - ступор.
Можно ли использовать стандартные библиотеки i2c для работы в режиме арбитраж?
Как определять занятость шины? Может так(PA0-sda,PA1-scl):

Код: Выделить всё

... 
if(PINA.0 == 1)//определяем свободна ли шина
{
       i2c_start();
        i2c_write(0х1а);// обращаемся к нужному устройству
        i2c_write(data);
       i2c_stop();// пишем данные в шину
       
}
...

Не могу сообразить как это все отобразить!