|
AVR Studio 5 + avrlib + DS1307, Проблемы с I2C интерфейсом |
|
|
|
Sep 21 2011, 13:02
|
Группа: Участник
Сообщений: 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();
|
|
|
|
|
 |
Ответов
|
Sep 22 2011, 03:07
|

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

|
QUOTE (Дима 128 @ Sep 21 2011, 22:02)  Друзья подскажите как обмениваться данными с часами DS1307 Уважаемый Дима 128, сообщество будет благодарно, если Вы будете соблюдать нормы русского языка. Например, расставлять знаки припинания  Без них, поверьте, понять смылс иной раз невозможно (Казнить нельзя помиловать). По теме: Вам следует почиать стандарт на шину I2C. Там описаны старт условия, стоп условия, когда необходимо подтвержать прием, когда нет. Как мне кажется, задержки в 100 мс - совершенно лишние. Аппаратный модуль TWI в микроконтроллере сделает все "сам". Успехов!
--------------------
Выбор.
|
|
|
|
|
Sep 22 2011, 04:16
|
Группа: Участник
Сообщений: 11
Регистрация: 21-09-11
Пользователь №: 67 312

|
По теме: Вам следует почиать стандарт на шину I2C. Там описаны старт условия, стоп условия, когда необходимо подтвержать прием, когда нет. Как мне кажется, задержки в 100 мс - совершенно лишние. Аппаратный модуль TWI в микроконтроллере сделает все "сам".
Успехов!
Ну эта задержка уже так для эксперимента =))) Я читал про модуль и на ассемблере его запускал но хотелось бы узнать как функцией avrlib пользоваться раз она там есть уж =)))
Или AVR Studio + avrlib не наш метод?
|
|
|
|
|
Sep 22 2011, 09:32
|

Познающий...
     
Группа: Свой
Сообщений: 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 не наш метод? Да это-то тут при чем?  Используйте то, что Вам удобнее. Попробуйте посмотреть на форуме подобные темы.Народ не одну сотню DS1307 запустил))) Я тоже с ней работал, но это было давно ( 5 лет назад ). Исходников не осталось, к сожалению, иначе бы с удовольствием поделился бы)))
--------------------
Выбор.
|
|
|
|
|
Sep 22 2011, 15:48
|
Группа: Участник
Сообщений: 11
Регистрация: 21-09-11
Пользователь №: 67 312

|
Так вот и я запускал не одни часы =))) Но в CodeVision там вообще своя библиотека под них есть, но нет хорошей библиотеки для работы с графическим дисплеем, переписывать под CodeVision, avrlib библиотеку графического дисплея, еще хуже чем разобраться с функциями I2C Я просто не очень давно на си пишу и строчки длинные с математическими действиями над регистром меня ставят иногда в тупик =)))
|
|
|
|
|
Sep 23 2011, 08:07
|
Группа: Участник
Сообщений: 11
Регистрация: 21-09-11
Пользователь №: 67 312

|
Ну не писать же библиотеку I2C С нуля если она там есть просто не совсем ясно как пользоваться ей =)))
|
|
|
|
|
Sep 23 2011, 11:47
|

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

|
QUOTE (Дима 128 @ Sep 23 2011, 17:07)  Ну не писать же библиотеку I2C С нуля если она там есть просто не совсем ясно как пользоваться ей =))) А чего там писать?  Аппаратный модуль сам все сделает. Почитайте документацию, придет понимание, потом и библиотеку прикрутите))) Вот писать программный I2C - это да, трудно! Хотя, если честно, тоже просто  Я где-то в прикрепленной теме (библиотеки полезных программ) лет 5 назад выкладывал библиотеку, которая и аппаратный TWI использует, и позволяет программно шину реализовать. Если же хочется использовать именно avrlib, то читайте документацию. Там все должно быть. Ну, а для полного понимания - спецификацию на шину I2C. Я уже Вам это советовал. Когда-то все равно придется это сделать.
--------------------
Выбор.
|
|
|
|
|
Sep 23 2011, 14:59
|
Группа: Участник
Сообщений: 11
Регистрация: 21-09-11
Пользователь №: 67 312

|
Да я на ассемблере запускал его соответственно знаком с этим но что в библиотеки сишной, трудно понять для меня =))
Неужели никто не использовал avrlib?
|
|
|
|
Сообщений в этой теме
Дима 128 AVR Studio 5 + avrlib + DS1307 Sep 21 2011, 13:02    Дима 128 Пробовал вот так
rs&=3;
if (sqwe) rs|=0x10;
if... Sep 22 2011, 18:01 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|