Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » USBINIT, USBIN, USBOUT кто нибудь использовал? (можно ли написать программу моста USB-UART для PIC18Fxx50?)
USBINIT, USBIN, USBOUT кто нибудь использовал?
vsky Дата: Пт, 16.01.2009, 11:19  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 41
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2008

Статус: Offline

Два вопроса:

USBINIT, USBIN, USBOUT кто нибудь использовал?
можно ли написать программу моста USB-UART для PIC18Fxx50?

Живьем кристаллов нет, поэтому интересует мнение уважаемых форумчан.

ЯНДЕКС Дата: 16.01.2009
demanik Дата: Пт, 16.01.2009, 14:59  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Тут коечто есть для PicKit2 он сделан на базе 18F2550 :http://microchip.com.ru/1010/Support/USB%20apps.html
правда не на пикбейсике.


Попробуй всё и вся... может быть пол...


Сообщение отредактировал demanik - Пт, 16.01.2009, 15:03
vsky Дата: Сб, 17.01.2009, 14:35  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 41
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2008

Статус: Offline

пробовал компилировать примеры из USB18, выдаёт:

ERROR: Macro USBINIT? not found in macro file.
ERROR: Macro USBSERVICE? not found in macro file.
ERROR: Macro USBOUT?CBCL not found in macro file.

что нужно подправить?

DAlexV Дата: Вс, 12.04.2009, 00:33  |                                                                                                                Сообщение # 4
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 691
Репутация: 17   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (vsky)
ERROR: Macro USBINIT? not found in macro file. ERROR: Macro USBSERVICE? not found in macro file. ERROR: Macro USBOUT?CBCL not found in macro file.

У теня такой косяк был со SwordFish, пришлось лицензию купить, USB библиотек в бесплатной версии не было.
Хотя у меня PBP библиотека USB вроде есть.


Будьте оригинальны - не повторяйте чужих ошибок !!!!
Пишу только на Рыбе (SwordFish). Другую пищу не предлагать, на шерсть влияет :)
demanik Дата: Вс, 12.04.2009, 11:01  |                                                                                                                Сообщение # 5
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (DAlexV)
пробовал компилировать примеры из USB18, выдаёт:

Вот файлы примеров они у меня компилятся нормально.
Прикрепления: USB.rar(5Kb)


Попробуй всё и вся... может быть пол...

vsky Дата: Пн, 13.04.2009, 10:27  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 41
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2008

Статус: Offline

спасибо, разобрался smile
с компилятором для 18 серии был косячок biggrin
DAlexV Дата: Пн, 13.04.2009, 16:13  |                                                                                                                Сообщение # 7
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 691
Репутация: 17   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (vsky)
с компилятором для 18 серии был косячок

И чего за косяк, у меня то же самое. Ошибки лепит.


Будьте оригинальны - не повторяйте чужих ошибок !!!!
Пишу только на Рыбе (SwordFish). Другую пищу не предлагать, на шерсть влияет :)
vsky Дата: Пн, 13.04.2009, 18:22  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 41
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2008

Статус: Offline

Папку с микрочиповским компилятором (ассемблером) назвать строго MPASM (без цифр) и проследить, что бы после поиска (установки) внешнего компилятора, путь был строго на этот компилятор. smile
DIKTATOR Дата: Пн, 13.04.2009, 23:45  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 76
Репутация: 2   ±
Замечания:   ±
На сайте с 24.07.2008

Статус: Offline

помогите с самым простым примером работы с юсб:

Компилирую все проэкты через командную строку pbpro4,5 , мплабом не пользуюсь. В книге чак хелибейка отсутствует описание команд по работе мк с юсб, искал в гогл примеры не помогло. Раньше прогаммировал pic16f876a, pic16f877a, и программы для них писал без проблем.
Мне нужно чтоб из компьютера через юсби в мк и наоборот передавались данные размером 32 или 64разряда в бинарном формате, 11000101110001011110010111111101 например, скорость 500кбит-12мбит будет достаточно до 2012-2013 года, тогда уже нужно скорости побольше ))).

требования к контроллёру.
свободных для использования 32 или 64(желательно) выводов + 6 каналов ацп.
память программ от 8к.
частота не ниже 20мгц.
возможность подключения к usb.

Примеры целиком на ассемблере не предлагать, из всех языков программирования знаю только pbpro, поэтому мне ещё надо прогу котораЯ будет отправлять на юсб бинарные 32/64 разрядные данные, прогу которая будет генерировать 32/64 разрядный бинарный код который поймёт мк сделаю при помощи GameMaker, а вот отправлять она ничего не сможет ))). Ссылки на сайты с английским языком ненавижу как и сам язык так и тех кто его придумал.

Цель:
контроллёр должен управлять станком 32 или 64 выводами, контролировать все его датчики. станок не простой, универсальный, механику и корпус уже знаю из чего делать, он будет сверлить отверстия, монтаж смд деталей с манипуляцией над всеми ресурсами внутри станка, а также много других операций о которых я не могу сказать пока это не будет запатентовано, да и в самом станке стока невероятных иноваций...

---=---

А также хочу разобраться зачем семейству pic18 с выводами от 64 столько много ног питания ???? можно как-то обойтись питанием всего от 2х ног??? просто плата на которой будет этот контроллёт 1 слойная с перемычками на задней стороне, микросхемы для нагрузки сделаны отдельно...
Пример программы хочу видеть на picbasikpro без коментарий, просто пример, в языке разберусь.


Используйте симулятор ПРОТУЕС !!! Реальная вещь!!
Я снова тут, но не всегда свободен.

Сообщение отредактировал DIKTATOR - Вт, 14.04.2009, 01:15
vsky Дата: Вт, 14.04.2009, 12:34  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 41
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2008

Статус: Offline

Для такого станка, управляющая плата должна быть минимум двухслойная surprised
DIKTATOR Дата: Вт, 14.04.2009, 12:51  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 76
Репутация: 2   ±
Замечания:   ±
На сайте с 24.07.2008

Статус: Offline

У меня каждый модуль(напрмер контроллёр, драйверы двигателей,стабилизаторы) распологается на отдельных платах, разводил 80 выводный мк в сапр все ноги и штырки соединяются на 1 слое без всяких перемычек, когда соединяю ноги питания тудже проблемы ((((( куча перемычек.
Метализировать отверстия для двухслойных плат пока немогу, потомучто нечем...

Я задал вопрос по программной части, обсуждение схемотехники тут не надо )))
мк должен быть дешёвым, с буквой А в конце... 80выводный мк мне будет в самый раз, не больше не меньше.

====================--+--=================!------->
конкретно интересует полное описание - USBINIT, USBIN, USBOUT(на русском!!english no cool) и я продолжу своё хобби)))
====================--+--=================!-------<

Электроникой занимался дед отец и я буду тоже как они заниматься этим всю жизнь, такчто готовые контроллёры для станков меня не интересуют, ктомуже нет таких которых способны обрабатывать 64 вывода(может и есть но цена...)


Используйте симулятор ПРОТУЕС !!! Реальная вещь!!
Я снова тут, но не всегда свободен.
vsky Дата: Ср, 15.04.2009, 12:48  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 41
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2008

Статус: Offline

надеюсь, что станок не из фанеры будет smile

посмотрите вот это, может поможет
http://startusb.narod.ru/,
кстати на русском

Quote (DIKTATOR)
Пример программы хочу видеть на picbasikpro без коментарий, просто пример, в языке разберусь.

чем Вас не устраивают примеры приведенные на этой странице?

DIKTATOR Дата: Ср, 15.04.2009, 18:11  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 76
Репутация: 2   ±
Замечания:   ±
На сайте с 24.07.2008

Статус: Offline

Device = 16C765
XTAL = 24
USB_DESCRIPTOR = "MOUSDESC.ASM"
USB_CLASS_FILE = "HIDCLASS.ASM"
USB_COUNT_ERRORS = False
USB_SHOW_ENUM = False
Dim BUFFER[8] as Byte
Dim LOOPCNT as Byte
Dim DIRECTION as Byte
Symbol LED = PORTA.5
Symbol USB_WRITE_ERROR = _USB_WRT_ERR.WORD
Symbol USB_BTO_ERROR = _USB_BTO_ERR.WORD
Symbol USB_OWN_ERROR = _USB_OWN_ERR.WORD
Symbol USB_BTS_ERROR = _USB_BTS_ERR.WORD
Symbol USB_DFN8_ERROR = _USB_DFN8_ERR.WORD
Symbol USB_CRC16_ERROR = _USB_CRC16_ERR.WORD
Symbol USB_CRC5_ERROR = _USB_CRC5_ERR.WORD
Symbol USB_PID_ERROR = _USB_PID_ERR.WORD
ON_INTERRUPT Goto USBINT
Goto START

USBINT:
Movlw (Service@USBInt >> 8)
Movwf PCLATH
Btfsc PIR1, USBIF
Call (Service@USBInt)
Context Restore

START:
ALL_DIGITAL = True
Low LED
USBInit
High LED
STR BUFFER = 0,0,0,0,0,0,0,0

MOVECURSOR:
DIRECTION = 0
Repeat
LOOPCNT = 0
Repeat
If DIRECTION = 0 Then BUFFER#1 = 0 : BUFFER#2 = -2 : Goto SENDIT
If DIRECTION = 1 Then BUFFER#1 = -2 : BUFFER#2 = 0 : Goto SENDIT
If DIRECTION = 2 Then BUFFER#1 = 0 : BUFFER#2 = 2 : Goto SENDIT
If DIRECTION = 3 Then BUFFER#1 = 2 : BUFFER#2 = 0
SENDIT:
USBOut 1, BUFFER, 4, SENDIT
Inc LOOPCNT
Until LOOPCNT = 16
Inc DIRECTION
Until DIRECTION = 4
Goto MOVECURSOR

что делает это прога мне не очень понятно.
Где ставится название продукта, компании, версия продукта, и хорошо а вот чем мне из компа послать в мк допустим цифру 25 ? Скорость нужна не ниже 1мб/сек, 12 мне черезчур много но и это можно, если это проще организовать... Вообщем попробую разобраться с этим примером.
А пример мне нужен такой, чтоб мк отвечал на какието команды из компьютера по юзби например цифрой 100 обратно в компьютер, всякие проверки ацп я сам сделаю...

Станок будет сделан качественно и с осторожностью, алюминиевые профили kanya итд, ходовые винты(нечто похожее на швп но большего размера изза того что будет сделан самостоятельно, цена смешная в отличии от швп), датчики положений самодельные которые надо запатентовать(гораздо эфективней чем любой другой который я видел и дешевле), двигатели полностью заменяющие гидравлические и пневматические - особенность работает от электричества и огромная мощность(поднял 3кг при токе 200ма и 5вольт) тоже надо патентовать, станок после постройки будет модернизироватся , напрмер через несколько месяцев после того как я его сделаю будет разработана приставка позволяющая делать обьёмный(или 3д монтаж) мелких деталей типа смд и tqfp - позволяет делать схемы например в виде кубика, микросхемы и все детали залиты эпоксидом поэтому маловероятно возможное копирование изделия, и вовсе невозможно(таких видов схемотехники я не видел такчто наверно тоже надо патент)))
Патенты продавать не собираюсь, патриот России...

Добавлено (15.04.2009, 4:26:29)
---------------------------------------------
Этот пример мне больше понятен, но некоторые команды я никогда не видел в PBP... Repeat wend например.

Device = 18F4550
XTAL = 48
REMINDERS OFF
USB_DESCRIPTOR = "CDCDESC.INC" ' Point to the CDC DESCRIPTOR file (located in the INC\USB_18 folder)
Dim PP0 as Byte SYSTEM ' USBPOLL status return
Dim USB_BUFFER as String * 20 ' USB buffer
ADIN_RES 10 ' Set the resolution to 10
ADIN_TAD FRC ' Choose the RC osc for ADC samples
ADIN_STIME 100 ' Allow 100us for charge time
Dim AD_RESULT as ADRESL.Word
Dim VALUE as Word
Dim VOLTS as Byte
Dim MILLIVOLTS as Byte
Symbol CARRY_FLAG = STATUS.0 ' High if microcontroller does not have control over the buffer
Symbol TRNIF = UIR.3 ' Low if USB Busy

Delayms 200 ' Wait for things to stabilise
Clear
Repeat
USBPoll ' Wait for the USB interface to become attached
Until PP0 = %00000110
TRISA.0 = 1
ADCON1 = %10001110
ADCON2 = %10000000
While 1 = 1
USBPoll ' Keep the USB interface alive
AD_RESULT = ADIN 0 ' Read the ADC
VALUE = 489 * (AD_RESULT / 10) ' Quantasize the result
VOLTS = VALUE / 10000 ' Split off the Volts
MILLIVOLTS = (VALUE // 10000) / 100 ' Split off the MilliVolts

USB_BUFFER = Str$(Dec1,VOLTS) + "." + Str$(Dec2,MILLIVOLTS) + " Volts\r"
Repeat
USBOut 3, USB_BUFFER, AUTO ' Poll the USB and transmit the string from endpoint 3
Until CARRY_FLAG = 0 ' Keep trying if the microcontroller does not have control over the buffer
Repeat : Until TRNIF = 1 ' Wait for completion before continuing
Wend ' Go wait for the next buffer input

Добавлено (15.04.2009, 6:11:52)
---------------------------------------------
http://startusb.narod.ru/ попробую понять ассемблер который там=))), у меня контроллёр должен быть 80выводный.


Используйте симулятор ПРОТУЕС !!! Реальная вещь!!
Я снова тут, но не всегда свободен.

Сообщение отредактировал DIKTATOR - Ср, 15.04.2009, 16:17
demanik Дата: Ср, 15.04.2009, 18:29  |                                                                                                                Сообщение # 14
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (demanik)
Вот файлы примеров они у меня компилятся нормально.

А... bash
Я не написал мои примеры из протона.


Попробуй всё и вся... может быть пол...

vsky Дата: Чт, 16.04.2009, 12:33  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 41
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2008

Статус: Offline

виноват, не смотрел что в архиве smile

примеры из PBP

Прикрепления: usb.zip(2Kb)

Сообщение отредактировал vsky - Чт, 16.04.2009, 12:38
Форум Picbasic.ru » Программирование МК » PicBasicPro » USBINIT, USBIN, USBOUT кто нибудь использовал? (можно ли написать программу моста USB-UART для PIC18Fxx50?)
Страница 1 из 212»
Поиск: