Перейти к содержанию
    

ALexx

Свой
  • Постов

    244
  • Зарегистрирован

  • Посещение

Весь контент ALexx


  1. Как вариант - использование объединения: union{ uchar Bytes[2]; uint Word; }Val16; ... //где-то в программе... Val16.Word=0x1234; PORTA=Val16.Bytes[0]; // PORTA=0x34 PORTB=Val16.Bytes[1]; // PORTB=0x12
  2. Bluetooth <-> rs232

    Если не затруднит, поделитесь, пожалуйста: dealex77 <dog> ukr.net :beer:
  3. Присоединяюсь к просьбе. Богатые на данный Гуид, поделитесь, пожалуйста! :beer:
  4. К счастью (или к несчастью:-) ) понимание этого факта имеет место, о чем свидетельствует "и(или)" в фразе "... у Вас закончатся порты и(или) соизмеримы ли будут затраты на подобную избыточность с полученным эффектом...". Т.е. либо у вас закончатся порты (случай с многопортовым подключением), либо у вас будет плата с одним УАРТом, содержащая N-ое количество драйверов (затраты на увеличенный размер платы+затраты на N драйверов). К тому же, имеем "некоторое неудобство" при желании расширения системы. Сейчас 7 пультов - завтра 32 потребуется. Переразводить плату концентратора? Или делать ее сразу на заведомо бОльшее количество? Или "бутербродную" конструкцию применять? Гимор, однако, как для такой относительно простой системы. ;) ЗЫ: Не имею привычки считать тупым собеседника, имеющего просто другую точку зрения. За сим - видимо, вы просто не правильно меня поняли. К тому же никто никого в тупости не обвинял. Или я не прав? ;)
  5. Т.е. по-Вашему: если есть несколько абонентов, с которыми надо поддерживать связь нужно выделять отдельный канал на каждого из абонентов? Ничего личного.. Просто интересно как быстро у Вас закончатся порты и(или) соизмеримы ли будут затраты на подобную избыточность с полученным эффектом от "сверхнадежности" системы. ;-) Я не против резервирования. Я за резервирование в разумных пределах и там, где это действительно требуется. И вообще.. Видимо, Вы уже переходите на личности.. Не гуд :-) Пусть лучше желающие еще идей автору темы подбросят, а мы с Вами останемся каждый при своем.
  6. Вот неплохая книга. Есть примеры программ. http://publ.lib.ru/ARCHIVES/N/NOVIKOV_Yu._...kov_Yu._V..html
  7. Студентом был, но никогда не додумывался "втыкать иголочку в кабель". Можетя был неправильным студентом:-))) Однако вокруг были все такие же неправильные;-) А нынче - еще проще регулировать этот процесс - удар по карману за испорченное оборудование - действенный метод. Поверьте уж.. Я 5 лет преподавал в техническом ВУЗе. А вцелом - против лома нет приема... Вы на объекте протягиваете связь. Есть вероятность, что некий залетный дядя Вася с перепоя перерубит линию топором. Тянете вторую линию в обход пути миграции оного дяди Васи? Где вероятность, что дядя Петя (родственная душа дяди Васи) не перепилит вторую линию из пролетарской солидарности?? Человек просил идею. Ему ее дали. Никто не говорит. что надо делать "как я сказал". У нас не планерка у начальства, а обмен мнениями. +1. Можно и должно!
  8. 1) А кто говорит, что "звездой" ?? Рекомендую прочитать внимательней и обратить внимание на фразу " (можно объединять по Дейзи-цепочке)" 2) "соответствующее кол-во УАРТ-ов"... Вот тут точно система будет "золотая" :-) 3) "...то UART-то можно и один, но драйвер RS485 на каждого абонента (пульт) свой" ЗАЧЕМ??? В концентраторе стоит ОДИН драйвер и , естественно, по одному в каждом пульте. Сбило с толку название "КОНЦЕНТРАТОР"? Назовем его КОНВЕРТЕР :-)
  9. Вцелом поддерживаю, но добавлю... 1)Пульт Опроса Студента. В качестве интерфейса выбрал бы RS-485 - ведь не факт, что студенты будут ближе 15-ти метров от центрального ПК. А так - хоть километр... 2) Центральный ПК. Не думаю, что стоит делать ставку на СОМ-порт. Современней и удобней будет использовать USB. 3) Система вцелом. Система состоит из N-ого количества Пультов Опроса Студента, к которым от КОНЦЕНТРАТОРА идут по две пары проводов (можно объединять по Дейзи-цепочке). Первая пара - связь, вторая питание. 4) Теперь о КОНЦЕНТРАТОРЕ. Он содержит: - мост USB-UART - драйвер RS-485 - опторазвязка (опционально) - стабилизатор или DC-DC преобразователь для питания Пультов Опроса питание на концентратор можно подавать непосредственно от БП компьютера, равно как можно данный концентратор встроить в корпус оного ПК. Вот в общих чертах...
  10. Но и среди данных может появиться подобный байт. Вариантов масса: 1) Если есть возможность - данные сделать 7-битными, а единица в старщем разряде будет индицировать то, что в данном байте команда. 2) Разбивать данные на тетрады и в старших 4-х разрядах данных слать нули, а в старших 4-х разрядах команды слать единицы (как Вы и хотели) 3) и т.д. И все таки... каким боком "пользователь" имеет доступ к SPI? В законченном устройстве предусмотрена возможность внешнего доступа к этому интерфейсу??
  11. 1) Вот одно из решений: 2) Потому, что это разные типы интерфейсов и устройство с 232-м не только "не поймет" устройство с 422-м, но и они могут сжечь друг друга
  12. Досчитает, сбросит значение TCNT1 в ноль, установит бит TOV1 в регистре TIFR, и не остановится, а продолжит счет с нуля. В основном цикле программы отлавливаете установку бита TOV1 в регистре TIFR. Сброс его осуществляется записью единицы.
  13. Не путайте! RS-232 не одно и тоже что UART ! Простыми словами RS-232 - интерфейс с уровнями сигналов -15...+15В А UART - более общее понятие, регламентирующее ПРАВИЛА обмена по последовательному каналу, но не регламентирующее уровень сигналов (UART может иметь уровни и 0...3В и 0...5 и -15...+15) А по поводу моста USB-LPT - вам решать. Хотите таким образом от микроконтроллера отказаться? Тогда надо быть уверенным. что непредсказуемые задержки в канале USB-LPT никак не скажутся на работе всей системы. И еще. Если заметили: "Обращаем внимание, что микросхема поддерживает работу с LPT портом только в режиме SPP (Standart Paralell Port), т.е. обеспечивает однонаправленную передачу от хоста к устройству." Т.е. на считываение информации (если таковое необходимо) у вас будет всего 4 линии состояния (как в стандартном LPT)
  14. программа+драйвер -> USBкабель -> мост USB-UART -> микроконтроллер -> блок сопряжения с форсункой - > собственно форсунка 1) В вашем случае "программа-firmware" - это прошивка вашего МК. 2) А оно вам надо мучиться с VID/PID??? Взяли готовый мост со своим VID/PID и вперед! Дешевле будет. Тем более вам устройство не продавать... 3) для вашей задачи вполне какая-нибудь МЕГА от Атмела подойдет.
  15. Так если "управление шаговиком", то недостаточно просто " управлять частотой в пределах 200-1кгц(прямоугольник)" необходимо еще и соблюдать требуемый сдвиг фаз импульсных последовательностей.. Или я не прав?? Засим, вариант, предложенный Oldring - наиболее грамотный. Т.е. Для управления шаговиком используется какой-нибудь маленький микроконтроллер (например Тини2313), к которому через драйвер (аки ULN2003) цепляется шаговик. Микроконтроллер через мост USB-UART (FT232R) подключается к УСБ. А дальше - 2 программы : 1) Для микроконтроллера (управление ШД, прием обмен с РС) 2) Для РС (ввод информации (графический интерфейс), обмен с микроконтроллером)
  16. Это все один и тот же контроллер, но в разных корпусах... Внимательное чтение датащита снимет массу вопросов :-) Привыкайте задавать конкретные вопросы. чтобы получить ответы.. А так ваш вопрос только вызвал бурю новых: 1) Двустороннюю связь чего с чем? ATMega32 и РС? Так если вы собираетесь работать с СОМ-портом - аппаратно он поддерживает "двустороннюю связь", но реализация этой связи - на совести ПО контроллера и управляющей программы на РС. 2) Диод какой?? 3) Сообщение вывелось где (РС, бегущая строка)??
  17. http://www.usb-osc.narod.ru/help.htm http://ipribor.com/ И осциллограф и лог. анализатор и ... Если частоты не запредельные - то что надо. Сам пользуюсь уж 2 года - вполне неплохая штука для своей цены (брал за 70$, сейчас, наверное, чуть дороже )
  18. Если идти по такому пути, то я бы не ориентировался на LPT. Отмирает он по-маленьку :(.... Время заставляет ориентироваться на USB, а изготовители мостов (USB-UART, USB-FIFO) делают подобный переход практически безболезненным. Тот же самый ЖКИ можно прицепить к УСБ через FT232(FT245) в режиме BitBang, а управление индикатором сведется к уже известной процедуре передачи определенной последовательности байтов на шину данных ЖКИ и изменению состояния выводов квитирования индикатора. Т.е. схема проста: USB <-> FT232(BitBang) <-> ЖКИ, плюс программа верхнего уровня (Win32, Linux), обеспечиающая передачу информации на ЖКИ от РС. Дополнительный "плюс" данного решения - отсутствие необходимости во внешнем блоке питания, чего при работе с LPT достичь невозможно.
  19. К сожалению, "только программной частью" не отделаетесь. Судя по приведенному куску кода - пишете под ДОС или под Win9x... Если это так - даже не знаю, что Вам посоветовать... Если же это не так, то вот Вам лишь одно из множества решений данной задачи. Можно применить микросхемы от FTDI (мост USB-FIFO) в режиме BitBang. Выглядеть это будет следующим образом: 1)Платка, к которой подключаются устройства, с которых надо считывать (в которые надо выдавать) информацию. На плате установлен мост USB-FIFO (например FT245R) С платы отходит шнурок, включаемый в УСБ. С аппаратурой все. 2) Устанавливаются драйвера, поставляемые FTDI. Программа, обслуживающая устройство должна, используя прилагаемую DLL, обеспечивать выполнение функций записи/чтения в/из устройства. Вот в двух словах фронт работ. Естественно, имеется в виду, что у Вас ОС Win или Linux. Более подробная информация - на сайте производителя : http://ftdichip.com/Products/FT245R.htm
  20. Загляните на www.national.com или www.onsemi.com Там масса стабилизаторов (в т.ч. и ШИМ), информация. примеры применения.
  21. Например, ATMega32: 32к Флеша, 2к ОЗУ, 1к EEPROMа, USART, SPI, I2C. Довольно неплохой и проверенный камень как для простых так и для относительно сложных разработок. Масса примеров применения и доступность средств разработки.
  22. Никто ж не заставляет Вас гонять эти " огромные токи и напряжения" по данным сборкам. У меня они прекрасно работают и в слаботочных частях схем (5В 2-10 мА) Плюс стоят они копейки...
  23. Человеку через LPT надо отсылать.. Согласен. Я бы какую-нибудь 2-проводную FRAM поставил на нужный объем. К тому же ее можно программить отдельно (тем же понипрогом): Запрограммил нужное содержимое внешним программатором, а считывать его уже процом(at89s8252) в нужное время
  24. 1) По питанию кондеры (электролит + керамика) не помешают. 2) Используйте какой-нибудь простенький генератор ресета (типа DS1812) - это будет дополнительная гарантия целостности памяти.
  25. Посмотрите в сторону: ULN2803 - 8 транзисторов в одном корпусе. ULN2003 - 7 транзисторов в одном корпусе.
×
×
  • Создать...