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

 
 
> Microchip I2C: interrupt driven routines, Надо или нет. Исследование сделал
A. Fig Lee
сообщение May 26 2014, 22:51
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



В общем валяется у мена PIC18F14K50, которым можно было бы считывать ADC по I2C и переправлять по USB
в компьютер. Онако вопрос - успею ли читать в цикле да еще и USB обслуживать.
Посмотрел на свой MAX9611 - 400 кГц, хорошо. Ну вроде они все поддерживают.
Поискал interrupt driven routines, не нашел. Народ говорит: зачем, че его там читать/писать?
С одной стороны да. С другой стороны бабка 10 копеек, 10 бабок, уже рубль.
Например, читаем структуру из нескольких байт: адрес дивайса, адрес регистра, адрес дивайса, несколько байт.
Итого набегает.

Провел эксперимент. Взял чтение 3х байт подряд из MAX9611 стартуя с регистра 0х08.
Результаты: при 400 кГц I2C порядка 2/3 времени освобождается для других задач.
При 100 кГц освобождается 89%!! Хорошая прибавка к пенсии.

Код не особо продуман и оптимизирован, но можно на нем базироватся.
Пытался сделать универсальным для большинства случаев:
память с одним байтом аддресса, двумя байтами, и без аддресса.

Делюсь, там комменты есть.

Прикрепленные файлы
Прикрепленный файл  Archive.zip ( 2.25 килобайт ) Кол-во скачиваний: 39
 


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 04:57
Рейтинг@Mail.ru


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