FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Среда, 22.11.2017, 23:21
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: support, Сергей, Anydy, Олег 
Форум » Основной » Железо (контроллеры, шилды, датчики и др.) » Внешняя EEPROM по шине I2C (Серия 24Схх(02, 04,....256))
Внешняя EEPROM по шине I2C
fsergei70 Дата: Понедельник, 04.09.2017, 12:35 | Сообщение # 16
Майор
Группа: Проверенные
Сообщений: 133
Награды: 2
Репутация: 2
Статус: Offline
Цитата Sancho ()
Вопрос не совсем понятен - где будет текст изначально? Если в памяти - то просто считывать нужный блок(страницу). Если просто передавать - то память здесь причём. Проясните идеюХочу
Хочу через блютуз или rs485 загонять текст в память а потом выводить на дисплей.
 
Sancho Дата: Понедельник, 04.09.2017, 15:05 | Сообщение # 17
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
Цитата fsergei70 ()
Хочу через блютуз или rs485 загонять текст в память а потом выводить на дисплей.
Я вносил текст в память через терминал. Но текст у меня содержал номер(файл в архиве), по которому он полу-автоматически заносился в соответствующую страницу, только нажимал Write.
Для остальных случаев нужно сделать  блок записи с выбором страницы.
Пришли микрухи пообъёмнее, буду переделывать на 64 байтные страницы - первые 32, как и раньше, личные данные, вторые 32 байта - для записи времени последних и общего количества "проходов". А есть ещё у меня и на 128 и 256 байт/страница... smile


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
fsergei70 Дата: Понедельник, 04.09.2017, 15:54 | Сообщение # 18
Майор
Группа: Проверенные
Сообщений: 133
Награды: 2
Репутация: 2
Статус: Offline
Цитата Sancho ()
Я вносил текст в память через терминал. Но текст у меня содержал номер(файл в архиве), по которому он полу-автоматически заносился в соответствующую страницу, только нажимал Write.Для остальных случаев нужно сделать  блок записи с выбором страницы.
Пришли микрухи пообъёмнее, буду переделывать на 64 байтные страницы - первые 32, как и раньше, личные данные, вторые 32 байта - для записи времени последних и общего количества "проходов". А есть ещё у меня и на 128 и 256 байт/страница...
Александр я на али заказал модули 24с256 для экспериментов. ссылка под спойлером. Когда дойдут не знаю, пока мучаю память с часов 3107. Нужен блок чтоб только строковые переменные можно было писать/читать в eeprom  с ком порта .  .64 байтные страницы это хорошо но и на 32 байта в принципе пойдет, буду использовать несколько страниц если что.. Первые 32 байта с личными данными, как раньше в твоем блоке Uart_to_EEPROM_32_v5 было сделано  мне не нужны.
 
Sancho Дата: Пятница, 08.09.2017, 10:25 | Сообщение # 19
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
Цитата fsergei70 ()
Нужен блок чтоб только строковые переменные можно было писать/читать в eeprom  с ком порта
Пишем из терминала, читаем на дисплее.
Текст для записи должен содержать четыре дополнительных первых символов для вычисления адреса страницы, в память пишутся 32 последующих. Например: 012 Hello, FLProg....... - в 12 страницу.
Скорость порта стоит 9600, меняйте по желанию.

Добавлено (08.09.2017, 10:25)
---------------------------------------------
Обновлено в блоках польз. выше описанный - добавился вход Work для режима чтения в каждом цикле страницы по адресу Page_num. пример UART-EEPROM_5.

Прикрепления: UART-EEPROM_4.flp(338Kb) · Uart_to_EEPROM_.ubi(196Kb)


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Понедельник, 04.09.2017, 16:51
 
Iron Дата: Понедельник, 02.10.2017, 19:29 | Сообщение # 20
Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 1
Репутация: 1
Статус: Offline
Уважаемый Sancho.
В часах DS3231 в регистре по адресу 0x10 находится  компенсация точности хода.
Можно ли помощью  вашего блока прочитать и изменить его значения.
 
Sancho Дата: Вторник, 03.10.2017, 10:14 | Сообщение # 21
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
Цитата
Уважаемый Sancho.
В часах DS3231 в регистре по адресу 0x10 находится компенсация точности хода.
Можно ли помощью вашего блока прочитать и изменить его значения.


Пробуй, надеюсь, знаешь назначения всех битов...
Прикрепления: DS3231_0x10_rea.ubi(10Kb) · DS3231_0x10_wri.ubi(11Kb)


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Вторник, 03.10.2017, 10:16
 
Iron Дата: Среда, 04.10.2017, 18:28 | Сообщение # 22
Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 1
Репутация: 1
Статус: Offline
Уважаемый Sancho.
Благодарю за ваше внимание!
Проверил оба блока. Пишут и читают изменения.
НО! 
При чтении вижу 0. Пишу 120, пишу 250 это не влияет на выход 32K. Частота остается неизменной 32,76кГц. Может я в чем то ошибаюсь. Но мне казалось что точность часов должна как то соответствовать с частотой на выходе 32К. Не могло быть ошибки с адресом в блоке.
 
Sancho Дата: Четверг, 05.10.2017, 09:45 | Сообщение # 23
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
Цитата Iron ()
Проверил оба блока. Пишут и читают изменения.НО!
При чтении вижу 0. Пишу 120, пишу 250 это не влияет на выход 32K. Частота остается неизменной 32,76кГц. Может я в чем то ошибаюсь.
Посмотрим, что пишут о DS3231
" На DS3231 является серийным RTC обусловлен температурной компенсацией кварцевый генератор 32 кгц. В TCXO обеспечивает точность и стабильность опорного тактового сигнала, а также поддерживает часы реального времени с точностью ±2 минуты в год точность от -40°C до +85°C."
Что это значит?
365 дней / 120 сек = 3 дня/сек; один день 0.3 сек; один день = 86400 сек.
86400    * 32768 = 2 831 155 200      норма(герц в день)
86400,3 * 32768 = 2 831 165 030,4    +0.3 сек в день
86400    * 32767 = 2 831 068 800        если станет 32767
Думаю, Вам теперь видна точность кварца после запятой( мили-доли герца) ?
А Вы пытаетесь уловить коррекцию частотомером за 1 секунду?
Надеюсь, не перегрузил циферками и понятно объяснил, насколько хороша DS3231.

Добавлено (05.10.2017, 09:13)
---------------------------------------------
P.S. Но Вы всё-таки можете проверить работу данного регистра другим способом:
Делаете счётчик импульсов либо частотомер с тактированием от выхода микросхемы, предварительно разделив его вначале на 32768, а затем, например, на 10. В итоге 10 сек интервал.
На вход устройства подаёте 10-50 МГц от высоко-стабильного образцового генератора.
При коррекции регистра изменения результатов будут видны, в герцах.

Добавлено (05.10.2017, 09:29)
---------------------------------------------
Блоки корректные, адреса тоже. Проверил на железе.

Добавлено (05.10.2017, 09:45)
---------------------------------------------
Возможно, также из даташита:
The offset register is added to the capacitance array during a normal temperature conversion, if the temperature changes from the previous conversion, or during a manual user conversion (setting the CONV bit).
Контрольный регистр (0Eh)
.
Бит 5: Температура преобразования (Conv). Установка этого бита равным 1 заставляет датчик температуры преобразовать температуру в цифровой код и выполнить алгоритм TCXO для обновления блока емкости генератора. Это может произойти только в том случае, если преобразование еще не выполняется. Пользователь должен проверить бит состояния BSY перед тем, как заставить контроллер запустить новое выполнение TCXO. Преобразование температуры, инициированное пользователем, не влияет на внутренний 64-секундный цикл обновления.
Пользователь инициировал преобразования температуры не влияет на BSY bit примерно 2мс. CONV bit остается на 1 от момента записи до завершения преобразования, в которой как раз и BSY bit идти к 0. Бит Conv должен использоваться при мониторинге состояния преобразования, инициированного пользователем
Перевод тындекса

Значение в регистре 10h со знаком, т.е 255 -> -127

Пост будет удалён через пару дней - не к месту...


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Четверг, 05.10.2017, 09:53
 
Iron Дата: Четверг, 05.10.2017, 11:26 | Сообщение # 24
Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 1
Репутация: 1
Статус: Offline
Спасибо Sancho.
По пунктам.
1.Циферками не перегрузили, все очень доходчево. shy 
2. Не выйдет по причине отсутствия оборудования sad 
3. За блоки вам большое спасибо, думаю они будут нужны не только мне.
4. Вот тут не все понятно, но постараюсь разобраться.
 
Форум » Основной » Железо (контроллеры, шилды, датчики и др.) » Внешняя EEPROM по шине I2C (Серия 24Схх(02, 04,....256))
Страница 2 из 2«12
Поиск:

FLProg © 2017
Яндекс.Метрика