Обращение к DS1307

AVR версия программы

Re: Обращение к DS1307

Сообщение MdMx1 (Максим) » 22 ноя 2013, 08:32

:D я тоже одну припалил в свое время по глупости...
Ник: MdMx1
Имя: Максим
(Житомир)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Обращение к DS1307

Сообщение onix (onix) » 23 мар 2014, 15:09

Здравствуйте.
Возник вопрос по поводу симуляции DS1307 в Протеусе: не устанавливается и не считывается дата DSки. Возможно глюк Протеуса, но проверял в двух версиях (7.10 и 8.2) - все одинаково. Дата по шине I2C, по графическому анализатору протеуса, передается правильно (Sout тоже, работает только на графике). Просмотрел все темы на старом и новом форумах, ничего похожего для версии FC 5.5 pic не нашел. Использовал инициализацию из проектов Мима и сам делал такие же 1 в 1 (по datasheet ds1307), но безрезультатно. Скорее всего ошибка FC (неправильные задержки?). Понимаю, что тема не новая, но может кто подскажет в чем может быть проблема.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: onix
Имя: onix
(Симферополь)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Обращение к DS1307

Сообщение mim (mim) » 23 мар 2014, 16:07

onix писал(а):не устанавливается и не считывается дата DSки
В этом примере все устанавливается и считывается... Смотри Макрос "Result_BUTTON", кнопка 2, условие по "See_DATA", адрес "4", дата читается в переменные
Код: выделить все
Temporary = Sec
Sec = Hour
Hour = Temporary
так сделано для экономии памяти (переменные ипользуются по несколько раз),
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Обращение к DS1307

Сообщение onix (onix) » 23 мар 2014, 16:15

Спасибо.
По поводу протеуса, разобрался - напряжение понизил до 4в и все заработало.
Это были тестовые файлы, чтобы разобраться с шиной. В основном проекте у меня в макросе локальные переменные которые сразу пересчитываются и заносятся в глобальные для дальнейших действий.
Тот архив я уже скачивал, сейчас пересмотрю еще раз.
Мим подскажите пожалуйста по поводу задержек в макросах I2C, они отличаются от 4 версии и я пока не придумал как правильно корректировать из самой FC без изменения файлов. Толком и в файлах еще не нашел. В 5 версии кардинально все переработали. Примеры из 4 версии не подходят.
Ник: onix
Имя: onix
(Симферополь)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Обращение к DS1307

Сообщение mim (mim) » 23 мар 2014, 16:45

onix писал(а):по поводу задержек в макросах I2C, они отличаются от 4 версии
О каких задержках идет речь? Сделай примеры для 4 и 5, и покажи в чем вопрос...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Обращение к DS1307

Сообщение onix (onix) » 23 мар 2014, 16:55

Извиняюсь, что не уточнил. Задержка после Stop I2C в 5 версии pic, она вроде 10мс. И при преходе Stop -> Start, тратится много времени. Раньше (в 4) можно было просто закомментировать delay_ms(10), а сейчас: %a_I2C_Master_Stop().
FC 4:
Код: выделить все
   #if %i_MX_HARDWARE == 1                           //Use Master I2C Hardware
      #ifndef MX_MI2C
         #warning "This chip does not have Master I2C capability"
      #else
         cr_bit(pir1,SSPIF);                     //Clear SSP interrupt flag
         st_bit(sspcon2,PEN);                  //Initiate stop condition
         while(ts_bit(sspcon2,PEN));               //Wait for stop bit to be generated
   //      delay_ms(10);                        //Wait before reusing the I2C BUS
      #endif
   #else                                    //Use Software I2C
      %i_CLEAR_SCL;                              //Set SCL Low
      %i_CLEAR_SDA;                              //Set SDA Low
      %i_MX_I2C_DELAY;
      %i_SET_SCL;                              //Set SCL High
      %i_MX_I2C_DELAY;
      %i_SET_SDA;                              //Set SDA High
      delay_ms(10);                           //Wait before reusing the I2C BUS
   #endif
Ник: onix
Имя: onix
(Симферополь)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Обращение к DS1307

Сообщение mim (mim) » 23 мар 2014, 17:03

onix писал(а):Раньше (в 4) можно было просто закомментировать delay_ms(10)
А теперь это делаешь в файле PIC_CAL_I2C.c
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Обращение к DS1307

Сообщение onix (onix) » 23 мар 2014, 17:11

Спасибо. В принципе я так и думал. Просто не хотелось каждый раз корректировать PIC_CAL_I2C.c. Значит только так.
Ник: onix
Имя: onix
(Симферополь)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Обращение к DS1307

Сообщение mim (mim) » 23 мар 2014, 17:20

onix писал(а): не хотелось каждый раз корректировать PIC_CAL_I2C.c.
Паузу нужно убрать и забыть... Кто такое выдумал - я не знаю. Если существуют временные параметры доступа к устройству, то задаются не таким образом.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Обращение к DS1307

Сообщение MdMx1 (Максим) » 28 мар 2014, 20:44

На просторах нета чего есть )))
http://radioparty.ru/index.php/prog-avr ... son-ds1307
может натолкнет на думы? или как?
Ник: MdMx1
Имя: Максим
(Житомир)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей

cron