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

Передача данных с PIC12F679 в ПК

Здравствуйте!

Мне необходимо передовать данные с этого МК на ПК, так чтоб компьютер видел устройство как виртуальный COM порт. Я думаю задействовать CP2102. Читая даташит на этот конвертер UART=>USB наткнулся на такую схемку:

21fAJ.jpg

 

Так вот, у моего МК всего 6 ножек, как подключить PIC12F679 к CP2102? И как писать программу на Си для работы с USB компа через этот конвертер, есть какая нибуть библа???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RXD, TXD (25,26) подключайте к контроллеру. И землю. Остальное лишнее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

библа

Слово-то какое мерзкое, прямо наизнанку выворачивает. Что, русский язык так оскудел, что нужно переходить на гоблинский слэнг ?

С USB вам работать на стороне ПК не придется. А вот с COM - портом придется. Почитайте статью Титова Олега:

 

http://kazez.net/book_9141_glava_1_Rabota_...ionnymi_po.html

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. Fig Lee, спасибо!!! А что, другие совсем не нужны, будет ли без них работать???

 

 

С USB вам работать на стороне ПК не придется. А вот с COM - портом придется. Почитайте статью Титова Олега:

 

http://kazez.net/book_9141_glava_1_Rabota_...ionnymi_po.html

 

Я забыл указать, что с виртуальными COM портами уже работал, и писал даже для себя пару модулей, чтоб потом легче было. Так же на основе этих своих модулей сделал простенький COM терминал.

 

Программа на стороне ПК меня не интересует, так как соих знаний Delphi вполне хватит для её реализации, а вот с МК особо не работал. Вот и спрашиваю, как отправить байт в порт???

Изменено пользователем vovken1997

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот и спрашиваю, как отправить байт в порт???

Тут без изучения документации на МК вы не обойдетесь. Изучите, и ваш вопрос решится сам собой, там все просто.

 

RXD, TXD хватит, если данных немного (десятки-сотни байт). Если больше, то вам понадобится аппаратное управление потоком, поэтому придется задействовать еще и RTS, CTS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подойдёт ли этот даташит, свою марку не найти.

И я в англ. мало шарю. Можете пальцем тыкнуть, где идёт описание взаимодействия по USB, да и как быть с тем, что я через конвертер делаю???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И я в англ. мало шарю.

Работать с МК без знания английского сейчас практически невозможно. Подтяните английский. Без этого в современной электронике делать нечего ...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подойдёт ли этот даташит, свою марку не найти.

И я в англ. мало шарю. Можете пальцем тыкнуть, где идёт описание взаимодействия по USB, да и как быть с тем, что я через конвертер делаю???

Нет. не подойдет.

2. Забудьте про USB. У вас обычный UART.

3. Да, посылать как в обычном UARTe, отключить flow control

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где Вы взяли такой "PIC12F679" ? На сайте микрочипа таких нет, а гугл выводит на алибабу где китайцы банчат чем-то странным под таким названием. Может PIC12F629 или 675 ? Только у них нет UART

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. Fig Lee, спасибо!!! А что, другие совсем не нужны, будет ли без них работать???

Пожалуйста, постарайтесь все-таки подключить четыре сигнала: RX,TX, RTS, CTS.

RTS и CTS используются для аппаратного притормаживания потока данных, если какое-то из устройств занято. Это очень полезно. В крайнем случае можно и только RX/TX оставить, но качество сильно пострадает.

Так что закладывайте аппаратно 4 сигнала, а будете ли Вы их использовать- это решите потом. Особенно это важно если Вы учитесь. Лучше сразу привыкать к хорошим манерам :)

 

 

И еще практический совет: если есть возможность, заложите в параллель простой драйвер RS-232 (что-то типа MAX3232), идеально если можно будет одновременно оба впаять на плату, а сигналы подавать либо на этот драйвер либо на USB преобразователь интерфейса (CP2102) посредством перемычек(джамперов). Тогда Вы можете отлаживаться по частям: отдельно устройство (через прямое RS232 подключение, отдельно USB. Или хотя бы предусмотрите вохможность подключения к плате внешнего преобразователя TTL/RS232.

Я, помню, когда подобное делал- тоже много грабель активизировал, пока аппаратный хендшейк не применил.

 

Можно еще и XON/XOFF программное управление потоком данных использовать, но мне сигналы давать как-то сподручнее (особенно учитывая что все больше и больше кристаллов имеют даже аппаратную поддержку RTS/CTS, а не только RX/TX). Но если с выводами совсем труба и ножек нет- то сразу подумайте об XON/XOFF (если этот CP2102 это поддерживает).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где Вы взяли такой "PIC12F679" ? На сайте микрочипа таких нет, а гугл выводит на алибабу где китайцы банчат чем-то странным под таким названием. Может PIC12F629 или 675 ? Только у них нет UART

Блин, перепроверил, точно PIC12F629.

 

Да, посылать как в обычном UARTe, отключить flow control

Не хочется позорится, но я не знаю как в обычном UARTе...

 

Работать с МК без знания английского сейчас практически невозможно. Подтяните английский. Без этого в современной электронике делать нечего ...

Надо надо, но в языках я не силён...

 

Ruslan1, учту, хватит н анём ножек, там их 6. 4 подключу к конвертеру, и ещё один к ИК датчику TSOP1738. Хочу сделать устройство для управления ПК при помощи обычных ТВ пультов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

точно PIC12F629
В нём нет аппаратного UART'а, так что придётся софтово.

А это - не более 4-6 kBps. А у Вас процессор ещё и декодированием ИрДы должен заниматься.

Можно, конечно, увеличить частоту, поставив внешний кварц, но это две ноги дополнительные. Если более никаких входов не использовать, то, вроде хватает.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пожалуйста, постарайтесь все-таки подключить четыре сигнала: RX,TX, RTS, CTS.

RTS и CTS используются для аппаратного притормаживания потока данных, если какое-то из устройств занято. Это очень полезно. В крайнем случае можно и только RX/TX оставить, но качество сильно пострадает.

Так что закладывайте аппаратно 4 сигнала, а будете ли Вы их использовать- это решите потом. Особенно это важно если Вы учитесь. Лучше сразу привыкать к хорошим манерам :)

Я вот думаю, что RTS/CTS будет мало, некачественные байты будут передаваться. Нужно ещё DTR/DSR, DCD и RI. Вот тогда байты будут ядрёные, высококачественные. А с парой сигналов RX/TX даже два байта переслать проблема, биты теряются, байты плесневеют, даже на скорости 300, а о 9600 и подумать страшно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

чтоб компьютер видел устройство как виртуальный COM порт. Я думаю задействовать CP2102.

Мышиная возня. В таких случаях обычно берут, например, такое:

 

http://www.nix.ru/autocatalog/adapters_swi...M9M_113489.html

 

и либо пользуются как есть, т.е. втыкая ответную часть, либо расковыривают корпус, выкусывают DB9 и подпаиваются напрямую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вот думаю, что RTS/CTS будет мало, некачественные байты будут передаваться. Нужно ещё DTR/DSR, DCD и RI. Вот тогда байты будут ядрёные, высококачественные. А с парой сигналов RX/TX даже два байта переслать проблема, биты теряются, байты плесневеют, даже на скорости 300, а о 9600 и подумать страшно.

Это шутка? Если да, то обозначьте ее смайликом, если нет- то дайте развернутый ответ, включающий определение понятий "ядрёные", "высококачественные", "плесневеют" и прочих перлов, не имеющих общепринятой расшифровки применительно к передаче данных.

 

Мышиная возня. В таких случаях обычно берут, например, такое:

 

http://www.nix.ru/autocatalog/adapters_swi...M9M_113489.html

 

и либо пользуются как есть, т.е. втыкая ответную часть, либо расковыривают корпус, выкусывают DB9 и подпаиваются напрямую.

Ну и не забываем китайцев. переходников USB-TTL море, и оптом и на рОзлив, начиная с $1.99 (только RX/TX) и с $7.76 с цепями RTS/CTS

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...