0 Пользователей и 1 Гость просматривают эту тему.
Для ведомого i2c необходимо постоянно читать порт
А почему именно COM, а не LPT?
Действительно, только чистый ДОС. Под виндой не вспомню точного таймера (порядка 10 мкс), да и планировщик процессов, на сколько я помню, тактируется сотнями мс. Реализовывал под ДОС задержку в 14-17 мкс (это минимум, который удавалось достичь на i386). Для ведомого i2c необходимо постоянно читать порт - для винды это зависон, так как сканирование порта придётся делать в realtime приоритете процесса. Любое переключение задачи в винде(даже дёргание мышой) может привести к нестабильному считыванию - пропуск состояния шины...
На счет USB на атмеге, я в эти выходные и-нет перекопал, есть огромное количество готовых, завершенных проектов на HID-устройства. Если знать Атмегу, можно переделать эти проекты под что угодно, хоть эмулятор программно-аппаратный...
V-USB, поди, тогда вотhttp://we.easyelectronics.ru/electro-and-pc/usb-dlya-avr-chast-1-vvodnaya.html
а вот ещё идея: повесить тормоз на линию сцл: rscd тригер. S посадить на землю, R - вывести на порт компа, С - прямо на SCL, D - на землю, прямой выход через диод плюхнуть на сцл. любой из выходов - тож на порт. тоесть случись сцл перепасть с нуля до единицы, то на этосреагирует тригер, но при этом он же будет удерживать сцл в нуле, до тех пор пока комп не сбросит тригер.
вторая половина тригера уйдёт на отлов условия старт.
Цитата: tridentxp от 21/06/2011 12:20:53вторая половина тригера уйдёт на отлов условия старт.Тоже правильное решение, достаточно шину SDA инвертировать и на вход С подать,на входе D соответственно SCL, больше ничего и не нужно (S всегда на +)
Цитата: SkaT от 21/06/2011 13:52:19Цитата: tridentxp от 21/06/2011 12:20:53вторая половина тригера уйдёт на отлов условия старт.Тоже правильное решение, достаточно шину SDA инвертировать и на вход С подать,на входе D соответственно SCL, больше ничего и не нужно (S всегда на +)уху,но - жаба давит: хотелось бы меньшим количеством обвесухи. авось n-p-n кой с резюком обойтись.
... Почитайте повнимательнее про I2C.
Ребята, вы еще забыли в выходном каскаде поставить лампу 6П14П и тогда все заработает. (шутка)Почитайте повнимательнее про I2C.
мы бы и рады заюзат в усмерть этого зверя заморского PCF8584, да вот где бы достать его оперативно, и угрохать время на его изучение - программирование.
Чем дело-то закончилось? Получилось что-нибудь?
Программная эмуляция слэйва на Винде принципиально не возможна, из-за слишком больших задержек Винды в работе с портами
Цитата: SkaT от 22/02/2012 19:12:51Программная эмуляция слэйва на Винде принципиально не возможна, из-за слишком больших задержек Винды в работе с портамиЭто только через драйвер.
потом напиши программулину, что меандр формирует на LPT (я через асму обращался прямо в порт) - получишь шум, а не меандр, и драйвирь не причём.
0 - кольцо защиты - уровень асмы, системы. она туда драйвирь не пустит.
и как и что с этим будет делать потенциальный драйзвирь ?
Ещё про LPT - http://progrex.narod.ru/
- всё зависит от битовой маски "закрытия" портов (есть такая шняга начиная с i80386)
исключение или
что слэйва И2Ц на микромягкевских продуктах делать прграммно себе в ущерб имея альтернативные решения.