Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PIC18 + C18 + Proteus = I2C ?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
comper
Может кто сталкивался с такой проблемой:
пытаюсь работать с RTC в протеусе. На них нареканий нет, они все воспринимают и отображают.
Использую родную библиотеку из C18 для работы по I2C. отправляю ПИКом данные в часы. А посылается всякая чушь. Отслеживаю I2C дебагером. То 0xDO пройдет нормально, за ним адрес нулевой 0х00, то вместо нулевого адреса отправится 0х01. То посылаю туда 0xD1 для записи, а отсылается 0xD0, за ним Ack приходит а заним уходит 0x01...осциллографом смотрю - там какие-то импульсы короткие проскакивают по SDA, как будто случайные в то время, как по SCL идут тактовые импульсы на передачу байта.
пробовал на pic18f452 а потом еще на pic18f45k20 попробовал - то же самое.
при этом на атмеле i2c работает.

использую proteus 7.7 SP2
подскажите, если можно по этой краткой информации что-то сказать, может это протеус че-то мутит, или это библиотека c18 что-то не то делает??
заранее спасибо
fox2trot
Цитата(comper @ May 15 2012, 00:09) *
Может кто сталкивался с такой проблемой:
пытаюсь работать с RTC в протеусе. На них нареканий нет, они все воспринимают и отображают.
Использую родную библиотеку из C18 для работы по I2C. отправляю ПИКом данные в часы. А посылается всякая чушь. Отслеживаю I2C дебагером. То 0xDO пройдет нормально, за ним адрес нулевой 0х00, то вместо нулевого адреса отправится 0х01. То посылаю туда 0xD1 для записи, а отсылается 0xD0, за ним Ack приходит а заним уходит 0x01...осциллографом смотрю - там какие-то импульсы короткие проскакивают по SDA, как будто случайные в то время, как по SCL идут тактовые импульсы на передачу байта.
пробовал на pic18f452 а потом еще на pic18f45k20 попробовал - то же самое.
при этом на атмеле i2c работает.

использую proteus 7.7 SP2
подскажите, если можно по этой краткой информации что-то сказать, может это протеус че-то мутит, или это библиотека c18 что-то не то делает??
заранее спасибо

Определите восьмибитный режим. У вас по умолчанию стоит 16 бит похоже.
comper
Цитата(fox2trot @ May 15 2012, 00:12) *
Определите восьмибитный режим. У вас по умолчанию стоит 16 бит похоже.


а разве там вообще можно передавать данные по 16бит? там только выбор между 7-и и 10-и битным адресом, и то в слэйв режиме. А данные только по 8 бит.
Я может просто не вижу ничего такого...но в настройках MSSP модуля про 16бит вообще ничего нет.
и в софтверном режиме пробовал и хардверную библиотеку подключал.

в софтверном происходит то что я выше описал, а в хардверном вообще проходит пару байтов и то неверных и куча знаков вопроса в дебагере...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.