Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: DAlexV, ivan_fd  
USB HID + VB6 отладка
AndreyD Дата: Сб, 06.12.2014, 22:57  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 03.12.2014

Статус: Offline

Собрал прибор по проекту.
Возникли сложности. 
1) Заработало только с такими настройками:
// настроечные фьюсы
Config
   PLLDIV = 5,
   CPUDIV = OSC1_PLL2,
   USBDIV = 2,
   FOSC = HSPLL_HS,
   
   PWRT=OFF,
   BOR= ON,
   BORV =3,
   VREGEN = ON,     
   
   WDTPS =32768,
   WRTB = ON,
   
   MCLRE=   ON,
   LPT1OSC= OFF,
   PBADEN=  OFF,
   CCP2MX = ON  
2) Подключил подстроечный резистор  для регулировки напряжения на входе АЦП (вх АН0)
обнаружил, что напряжение  например 2,04 и 2,4 вольт выводятся на экран одинаково 2,4 вольт.
Ну это правиться в проекте: Старший байт *100 + младший байт.
3) А вот совсем засада:
До напряжения 2,5 вольт все нормально выводиться, Потом напряжение меняешь, а с PIC данные все равно 2,5. Потом прыгает до 4-х, далее до 5 нормально.
Подсобите, кто может.

PS 
VB6 виснет при прогоне программы , если до останова не отключить прибор.
ЯНДЕКС Дата: 06.12.2014
ADMIN Дата: Вс, 07.12.2014, 18:44  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Vref, однако, смотреть надо. Что-то, возможно по АЦП недостроено. А по зависанию vb по отладчику смотреть надо, в каком месте и почему виснет
AndreyD Дата: Пн, 08.12.2014, 13:56  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 03.12.2014

Статус: Offline

Похоже. Файл adc.bas  в проекте для других pic
**************************************************************
Name    : ADC.bas                                                        *
*  Author  : David John Barker                                              *
*  Notice  : Copyright © 2007 Mecanique                                   *
*          : All Rights Reserved                                            *
*  Date    : 12/01/2007                                                     *
*  Version : 1.0                                                            * 
*          : 1.1 Corrected bitnames for 18F1220, 18F1320 devices   
********************************************************************
придется  разбираться.
demanik Дата: Пн, 08.12.2014, 16:10  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Цитата AndreyD ()
Собрал прибор по проекту.
Выложите полностью. посмотрим.


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

AndreyD Дата: Пн, 08.12.2014, 20:56  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 03.12.2014

Статус: Offline

RE\\Выложите все... - я не понял.  Проект с этого сайта
USB HID + Visual Basic 6 все просто
http://www.picbasic.ru/publ....-1-0-28

ADC.bas  из дистрибутива SWORDFISH (тоже с сайта)
Это нужно?
Мне бы хотелось просто считать байты из 4х АЦП , а любой пересчет вести в приложении
Прикрепления: ADC.bas (9.4 Kb)

Сообщение отредактировал AndreyD - Вт, 09.12.2014, 18:48
demanik Дата: Пн, 08.12.2014, 21:25  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Цитата AndreyD ()
RE\\Выложите все... - я не понял.  Проект с этого сайта USB HID + Visual Basic 6 все просто 
http://www.picbasic.ru/publ....-1-0-28
Я хотел увидеть как у ВАС инициализирован ацп.


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

demanik Дата: Пн, 08.12.2014, 21:28  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

AndreyD, отредактируйте 5-сообщение и разместите листинг между тегами "код" так будет компактнее.

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

AndreyD Дата: Вт, 09.12.2014, 18:51  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 03.12.2014

Статус: Offline

В том и засада, что никак не пойму где настройки АЦП в проекте. wacko
Мне бы хотелось просто считать байты из 4х АЦП , а любой пересчет вести в приложении.
demanik Дата: Вт, 09.12.2014, 20:00  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Попробуйте добавить инициализацию:

    ADC.SetConvTime(FOSC_16)
    ADC.SetAcqTime(4)


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

AndreyD Дата: Ср, 10.12.2014, 22:03  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 03.12.2014

Статус: Offline

demanik
Вы мастер! 
ЗАРАБОТАЛО! 
Спасибо.

PS/
Я заценил шутку юмора DAlexV  -USB HID + Visual Basic 6 все просто
400 страниц -мануал PIC18F
100 стр - picbasic
100 стр SWORDFISH PIC BASIC
800 стр программирование на VB6
и месячишко танцев с бубном.
Прикрепления: 9565275.jpg (187.5 Kb)
DAlexV Дата: Чт, 11.12.2014, 21:00  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Цитата AndreyD ()
Я заценил шутку юмора DAlexV  -USB HID + Visual Basic 6 все просто
Да не какая это не шутка. Мануалы читать то же иногда нужно.
А если уже пошло изменение его, то могут возникнуть кракозябры. Полного кода Мы не видели.
Плюс ко всем дело может быть и в железе. Не зря не пошло в выложенной в статье конфигурации.
   
Цитата demanik ()
ADC.SetConvTime(FOSC_16)
ADC.SetAcqTime(4)
возможно кварц стоит на меньшую частоту.
Что гадать на кофейной гуще.

Цитата AndreyD ()
VB6 виснет при прогоне программы , если до останова не отключить прибор.
это нормальное явление при работе с HID. Хотя и в режиме CDC если прервать не закрыв порт, то потом его не откроешь, предварительно не закрыв(проходит невсегда).
Ну если вопрос снят, тогда снят. 
Успехов  wink


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
ЯНДЕКС Дата: 11.12.2014
AndreyD Дата: Пт, 12.12.2014, 12:14  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 03.12.2014

Статус: Offline

Еще вопросик.
Как в SwordFish скомпилировать программу так, что-бы она в PIC начиналась не с 0 адреса?
Хочу заливать программу в PIC через USB без программатора прогой "PICDEM™ FS USB Demo Tool.
Попробовал с демопрошивкой, все работает. 
Т.е зашиваю ботлоадер программатором, а свою прошивку   потом "PICDEM- ом.
Но нужно сделать еще вот это:
при создании основной программы, которую впоследствии будем вшивать в ПИК, необходимо, во первых, указать с какого адреса памяти программ она стартует. А во вторых, с каких адресов "уходить" в обработчики прерываний. Ниже приведен пример реализации этих процедур на ассемблере: 

;=============================================================================
; На адрес 0х0800 перенесен вектор сброса процессора
;=============================================================================
org 0x0800 ; Новый адрес вектора сброса
GOTO START ; Переходим на старт программы;=============================================================================
; На адрес 0х0808 перенесен вектор прерываний с высоким приоритетом
;=============================================================================
org 0x0808 ; Новый адрес вектора прерываний высокого приоритета
GOTO HIGH_INT_ROUTINE ; Переходим на обработчик соотв. прерываний;=============================================================================
; На адрес 0х0818 перенесен вектор прерываний с низким приоритетом
;=============================================================================

org 0x0818 ; Новый адрес вектора прерываний низкого приоритета
GOTO LOW_INT_ROUTINE ; Переходим на обработчик соотв. прерыванийСледует учесть, что вся остальная программа должна быть расположена уже после указанных команд.
 

И как это сделать на Бейсике в  SwordFish?
DAlexV Дата: Пт, 12.12.2014, 12:32  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Цитата AndreyD ()
Еще вопросик. Как в SwordFish скомпилировать программу так, что-бы она в PIC начиналась не с 0 адреса?
Самому не приходилось с данной задачей сталкиваться. Нашел на офф. форуме в помощь:
Поисковый запрос bootloader
http://sfcompiler.co.uk/phpBB3....=Search

http://sfcompiler.co.uk/phpBB3....tloader
http://sfcompiler.co.uk/phpBB3....tloader
http://sfcompiler.co.uk/phpBB3....tloader

из увиденного да. 
Удачи  wink


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
AndreyD Дата: Пт, 12.12.2014, 21:45  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Новенький
Сообщений: 7
Репутация: 0   ±
Замечания:   ±
На сайте с 03.12.2014

Статус: Offline

Шикарно! Все получилось. rah
Сделал так:
в файле USB_VBA_Project.bas
// устройство и частота
Device = 18F4550
Clock = 48
#option org_reset = $800  '    вектор сброса процессора
#option org_program = $808  '   Новый адрес вектора прерываний высокого приоритета??
// настроечные фьюсы
......
Теперь без программатора можно заливать прошивку. А то задолбался перетыкивать PIC.
И записывает быстро 1-2 сек.
Громадное спасибо!!!! heart

Сообщение отредактировал AndreyD - Пт, 12.12.2014, 22:16
AndrF Дата: Пн, 15.12.2014, 12:25  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Цитата AndreyD ()
Теперь без программатора можно заливать прошивку. А то задолбался перетыкивать PIC.

И пошаговой отладкой, небось, никогда не пользовались?
  • Страница 1 из 1
  • 1
Поиск: