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

 
 
> AVR Studio 5 + avrlib + DS1307, Проблемы с I2C интерфейсом
Дима 128
сообщение Sep 21 2011, 13:02
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 21-09-11
Пользователь №: 67 312



Друзья подскажите как обмениваться данными с часами DS1307 через функции avrlib Раньше писал с CodeVision там программный I2C и библиотека под часы была но пришлось перейти на AVR Studio так как библиотеки avrlib есть графический дисплей вот что то пытался написать но не работает не пойму как пользоваться I2C Библиотекой в итоге этого исходника ничего не происходит хотя импульсы на выходе контроллера есть (mega128) FCpu=8мгц В переменных нули =(((



i2cSetBitrate(50);
i2cInit();


while(1)
{


i2cSendStart();
_delay_ms(100);
i2cSendByte(0xd0);
_delay_ms(100);
i2cSendByte(0);
_delay_ms(100);
i2cSendStart();
_delay_ms(100);
i2cSendByte(0xd1);
_delay_ms(100);
sek= i2cGetReceivedByte();
min= i2cGetReceivedByte();
hour= i2cGetReceivedByte();


i2cSendStop();
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
haker_fox
сообщение Sep 22 2011, 03:07
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (Дима 128 @ Sep 21 2011, 22:02) *
Друзья подскажите как обмениваться данными с часами DS1307

Уважаемый Дима 128, сообщество будет благодарно, если Вы будете соблюдать нормы русского языка. Например, расставлять знаки припинания rolleyes.gif Без них, поверьте, понять смылс иной раз невозможно (Казнить нельзя помиловать).

По теме: Вам следует почиать стандарт на шину I2C. Там описаны старт условия, стоп условия, когда необходимо подтвержать прием, когда нет. Как мне кажется, задержки в 100 мс - совершенно лишние. Аппаратный модуль TWI в микроконтроллере сделает все "сам".

Успехов!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Дима 128
сообщение Sep 22 2011, 04:16
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 21-09-11
Пользователь №: 67 312




По теме: Вам следует почиать стандарт на шину I2C. Там описаны старт условия, стоп условия, когда необходимо подтвержать прием, когда нет. Как мне кажется, задержки в 100 мс - совершенно лишние. Аппаратный модуль TWI в микроконтроллере сделает все "сам".

Успехов!


Ну эта задержка уже так для эксперимента =))) Я читал про модуль и на ассемблере его запускал но хотелось бы узнать как
функцией avrlib пользоваться раз она там есть уж =)))


Или AVR Studio + avrlib не наш метод?
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Sep 22 2011, 09:32
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (Дима 128 @ Sep 22 2011, 13:16) *
Ну эта задержка уже так для эксперимента =)))

Для какого эксперимента? Шина I2C до нескольких сотен килобит работает)

QUOTE (Дима 128 @ Sep 22 2011, 13:16) *
функцией avrlib пользоваться раз она там есть уж =)))

У меня нет avrlib( Если речь об avrlibc из WinAVR, то не могу найти указанные функции. У меня WinAVR20071221.

QUOTE (Дима 128 @ Sep 22 2011, 13:16) *
Или AVR Studio + avrlib не наш метод?

Да это-то тут при чем? rolleyes.gif Используйте то, что Вам удобнее.

Попробуйте посмотреть на форуме подобные темы.

Народ не одну сотню DS1307 запустил)))

Я тоже с ней работал, но это было давно ( 5 лет назад ). Исходников не осталось, к сожалению, иначе бы с удовольствием поделился бы)))



--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Дима 128
сообщение Sep 22 2011, 15:48
Сообщение #5





Группа: Участник
Сообщений: 11
Регистрация: 21-09-11
Пользователь №: 67 312



Так вот и я запускал не одни часы =))) Но в CodeVision там вообще своя библиотека под них есть, но нет хорошей библиотеки для работы с графическим дисплеем, переписывать под CodeVision, avrlib библиотеку графического дисплея, еще хуже чем разобраться с функциями I2C Я просто не очень давно на си пишу и строчки длинные с математическими действиями над регистром меня ставят иногда в тупик =)))
Go to the top of the page
 
+Quote Post
Дима 128
сообщение Sep 22 2011, 18:01
Сообщение #6





Группа: Участник
Сообщений: 11
Регистрация: 21-09-11
Пользователь №: 67 312



Пробовал вот так
rs&=3;
if (sqwe) rs|=0x10;
if (out) rs|=0x80;
i2cSendStart();
i2cWaitForComplete();
i2cSendByte(0xd0);
i2cWaitForComplete();


i2cSendByte(7);
i2cWaitForComplete();
i2cSendByte(rs);
i2cWaitForComplete();
i2cSendStop();
Инициализация

И прочитать

i2cSendStart();
i2cWaitForComplete();
i2cSendByte(0xd0);
i2cWaitForComplete();
i2cSendByte(0);
i2cWaitForComplete();
i2cSendStart();
i2cWaitForComplete();
i2cSendByte(0xd1);
i2cWaitForComplete();
*sec=i2cGetReceivedByte(1);
i2cWaitForComplete();
*min=i2cGetReceivedByte(1);
i2cWaitForComplete();
*hour=i2cGetReceivedByte(0);
i2cWaitForComplete();
i2cSendStop();


И не получается =)))
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Дима 128   AVR Studio 5 + avrlib + DS1307   Sep 21 2011, 13:02
|- - haker_fox   QUOTE (Дима 128 @ Sep 23 2011, 00:48) Так...   Sep 23 2011, 08:02
|- - Дима 128   Ну не писать же библиотеку I2C С нуля если она там...   Sep 23 2011, 08:07
|- - haker_fox   QUOTE (Дима 128 @ Sep 23 2011, 17:07) Ну ...   Sep 23 2011, 11:47
|- - Дима 128   Да я на ассемблере запускал его соответственно зна...   Sep 23 2011, 14:59
- - paskal   Цитата(Дима 128 @ Sep 21 2011, 17:02) i2c...   Sep 23 2011, 16:55
|- - Дима 128   Вы про бит чтения.запись? Там получается что у уст...   Sep 23 2011, 18:30
|- - paskal   Цитата(Дима 128 @ Sep 23 2011, 21:59) Вы ...   Sep 23 2011, 18:37
|- - Дима 128   Как же реализовать это в этих функциях? Я думал та...   Sep 23 2011, 18:47
- - paskal   Поэтому надо писать свои функции. Для I2C это не с...   Sep 24 2011, 06:33
- - Дима 128   Да наверно придется что то самому придумать =(((   Sep 24 2011, 06:52
- - Дима 128   RE: AVR Studio 5 + avrlib + DS1307   Sep 25 2011, 16:27


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:43
Рейтинг@Mail.ru


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