Соединение PIC18F<->ПК посредством USB.
Соединение PIC18F<->ПК посредством USB.
Доброго времени суток, прошу помочь в обучении с работой юсб и пик18ф2550. Смысл поставленной задачи отправить на устройство число в ответ получить число*2. Перечитал много статей и инфы, но пока нет стратегии как подойти к решению задачи,все в куче в голове. Пока более менее последовательная статья мне попалась http://www.gaw.ru/html.cgi/txt/publ/int ... sb_pic.htm. Помогите с последовательностью действий для решения задумки, пока только сконфигурировал МК.
- Реклама
- Gurvinok
- Нашел транзистор. Понюхал.
- Сообщения: 198
- Зарегистрирован: Вт ноя 07, 2006 00:09:58
- Откуда: Москва
- Контактная информация:
Re: Соединение PIC18F<->ПК посредством USB.
То есть дескрипторы в МК настроены как HID устройство и ПК видит USB девайс?пока только сконфигурировал МК
Я не волшебник, я только лечусь
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Соединение PIC18F<->ПК посредством USB.
Действительно, не понятно в чём проблема.
Что конкретно не получается ? На чём затык ? В чём, вообще, вопрос то ?
Что конкретно не получается ? На чём затык ? В чём, вообще, вопрос то ?
Re: Соединение PIC18F<->ПК посредством USB.
Постараюсь яснее изложить вопрос. До этого не сталкивался с интерфейсами для связи мк и пк работал только с SPI,I2C. На настоящий момент ничего не сделано, стараюсь разобраться в подключении pic 18f как CDC устройство. Прочитал много интересной литературы, но как говорится смотрю в книгу вижу ... Загвозка у меня в видении программы, если в SPI,I2C, все логично и просто, то тут не понимаю логики работы.
Задача научится работать с юсб, виртуальным ком портом.С помощью программы терминала отправлять и получать данные с МК.
Примерный план:
Задаем мк #include <pic18f2550.h>
Подключаем необходимые модули ...
Настраиваем биты конфигурации, так что бы при используемом генераторе в модуль USB поступала частота 4 Mhz (исходя из даташита)
Объявляем переменные и функции
Высокий вектор прерываний. //пока разбираюсь запрещаю все прерывания.
Низкий вектор прерываний.
Функции работы с юсб.
Основной код main.c
В основной части настраиваю все порты как цифровые.
И дальше пока не могу разобраться.
Исходя из прочитанного, для общения с пк нам необходимы несколько команд:
putrsUSBUSART
putsUSBUSART
mUSBUSARTTxRom
mUSBUSARTTxRam
mUSBUSARTIsTxTrfReady
getsUSBUSART
mCDCGetRxLength
Берем эти функции в исходнике AN956 от микрочипа,переносим в наш проект.Пользуюсь старыми исходниками, где фигурирует только один 18f4550.В новых библиотеках сложно разобраться, код оптимизирован по разные мк и демо платы.Еще немного осложняет перенос функций из исходника компилятор С18, сам пользуюсь ХС8.
Устройство должно авторизоваться на шине как я понимаю, то есть это и есть дескрикт. Определенная последовательность чисел или таблица.Его беру из исходников микрочип.
И не могу разобраться как ,в какой последовательности отправлять эти данные.
Вот в целом какое видение у меня,прошу направить нужное русло.
Задача научится работать с юсб, виртуальным ком портом.С помощью программы терминала отправлять и получать данные с МК.
Примерный план:
Задаем мк #include <pic18f2550.h>
Подключаем необходимые модули ...
Настраиваем биты конфигурации, так что бы при используемом генераторе в модуль USB поступала частота 4 Mhz (исходя из даташита)
Объявляем переменные и функции
Высокий вектор прерываний. //пока разбираюсь запрещаю все прерывания.
Низкий вектор прерываний.
Функции работы с юсб.
Основной код main.c
В основной части настраиваю все порты как цифровые.
И дальше пока не могу разобраться.
Исходя из прочитанного, для общения с пк нам необходимы несколько команд:
putrsUSBUSART
putsUSBUSART
mUSBUSARTTxRom
mUSBUSARTTxRam
mUSBUSARTIsTxTrfReady
getsUSBUSART
mCDCGetRxLength
Берем эти функции в исходнике AN956 от микрочипа,переносим в наш проект.Пользуюсь старыми исходниками, где фигурирует только один 18f4550.В новых библиотеках сложно разобраться, код оптимизирован по разные мк и демо платы.Еще немного осложняет перенос функций из исходника компилятор С18, сам пользуюсь ХС8.
Устройство должно авторизоваться на шине как я понимаю, то есть это и есть дескрикт. Определенная последовательность чисел или таблица.Его беру из исходников микрочип.
И не могу разобраться как ,в какой последовательности отправлять эти данные.
Вот в целом какое видение у меня,прошу направить нужное русло.
Re: Соединение PIC18F<->ПК посредством USB.
Только не изобретайте велосипед. Скачайте MLA (желательно иметь версии (от 2010 года)), там куча примеров с USB, начните с загрузчика USB.EclipsV писал(а):Задача научится работать с юсб, виртуальным ком портом.С помощью программы терминала отправлять и получать данные с МК.
Примерный план:
- Реклама
- КРАМ
- Друг Кота
- Сообщения: 25270
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Соединение PIC18F<->ПК посредством USB.
Не очень понятно какую литературу Вы читали, если даже термин "дескрипторы" Вы пишите с ошибками.EclipsV писал(а): Устройство должно авторизоваться на шине как я понимаю, то есть это и есть дескрикт. Определенная последовательность чисел или таблица.Его беру из исходников микрочип.
Прежде чем что либо писать для CDC USB device, нужно ознакомится с описанием спецификации на USB и CDC USB на сайте usb.org. Это два объемных документа, прочитайте их хотя бы выборочно...
А насчет MLA Вам подсказали совершенно верно.


