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

 
 
> Часы реального времени + MSP430
ice126
сообщение Mar 7 2017, 18:50
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 7-02-17
Пользователь №: 95 339



Бросьте в меня примером на С по работе с часами реального времени по I2C.

Реально перелопатил много - не нашел.
Наверное туплю в плане адреса устройства. В даташите написано 0xA3, но у меня Протеус тупо зависает в ожидании завершения передачи.
Часы у меня PCF8563. МК в Протеусе MSP430F2132
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ar__systems
сообщение Mar 8 2017, 12:03
Сообщение #2


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Не тратьте время на протеус.
Go to the top of the page
 
+Quote Post
ice126
сообщение Mar 8 2017, 13:27
Сообщение #3





Группа: Участник
Сообщений: 9
Регистрация: 7-02-17
Пользователь №: 95 339



Цитата(ar__systems @ Mar 8 2017, 15:03) *
Не тратьте время на протеус.

Согласен, есть в нем грешки. Уже неоднократно 100% рабочий код просто валил Протеус в фатал еррор или в зависание, но в любом случае в Протеусе проще играться, чем 1000 раз перепрошивать МК.

Цитата(Lagman @ Mar 8 2017, 14:57) *
А вы читали даташит?
И если ваша библиотека i2c умеет сама контролировать бит записи/чтения в адресе (7bit) устройства то надо опрашивать устройство с адресом 51h.

Так в даташите ж и написан адрес. Вот только я не могу понять, почему Вы рекомендуете 51h ?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 8 2017, 15:24
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(ice126 @ Mar 8 2017, 15:27) *
Так в даташите ж и написан адрес. Вот только я не могу понять, почему Вы рекомендуете 51h ?

Может потому, что в 7-битном режиме I2C адрес 0xA3 невозможен? Не задумывались об этом?
Go to the top of the page
 
+Quote Post
ice126
сообщение Mar 8 2017, 17:37
Сообщение #5





Группа: Участник
Сообщений: 9
Регистрация: 7-02-17
Пользователь №: 95 339



Цитата(jcxz @ Mar 8 2017, 18:24) *
Может потому, что в 7-битном режиме I2C адрес 0xA3 невозможен? Не задумывались об этом?

не так, чтоб задумывался... сложно после 10 лет прикладного снова на МК возвращаться.
Короче, победил частично. Часы работают, время устанавливается, а вот с будильником засада.
По-любому что-то намутил я. Скорее всего с BCD.
В 0х01 пишу 0х06 - бит будильника + бит прерывания
Ну а дальше в 0х09 пишу 0х01 - пусть на первой минуте будет прерывание.
Реакции никакой. Закипаю уже...
Даташит http://www.nxp.com/documents/data_sheet/PCF8563.pdf
Цитата(Lagman @ Mar 8 2017, 19:33) *
В i2c младший бит адреса (0 бит) показывает на вид операции - чтение (1) или запись (0).
51h = A3h >> 1
Но надо знать как работает ваш код с адресом устройства и от этого отталкиваться.

Спасибо, уже разобрался. осталось как-то будильник побороть. Обленился. Оно же проще каждый день одно и то же, а тут новое нужно осваивать.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 13th August 2025 - 23:00
Рейтинг@Mail.ru


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