pic18f4550 usb usart uygulaması sorunu

Başlatan dnaci, 28 Ocak 2012, 10:29:07

dnaci

Merhaba arkadaşlar, basicte usb ve usart uygulaması üzerinde çalışıyorum ancak bir problemle karşılaştım ve çözümü bir türlü bulamıyorum. Projeyi proton basic üzerinde geliştiriyorum, biliyorum burası pic basic pro ile ilgili bir forum ancak mantık aynı ikiside basic.

usb bağlantısı ve usart konusunda bir problemim yok, usart projesi geliştirebiliyorum. usb projeside, ancak ikisi bir arada iken usb bağlantım kopuyor, nasıl bir kodlama tavsiye dersiniz.  veriyi nasıl buffera aktarabilirim. (kod ham koddur, hatalar olabilir, fikir vermesi için ekliyorum, hserin komutu pc ile programın bağlantısını koparıyor. projeyi gerçekte donanım üzerinde çalıştırıyorum)

Device = 18F4550XTAL = 48   Declare PORTB_PULLUPS 1Declare ADIN_RES 8Declare ADIN_STIME 50HSERIAL_RCSTA = 90H ; Enable continuous receiveHSERIAL_TXSTA = 20H  ; Enable transmit, BRGH = 1HSERIAL_SPBRG = 25 ; Baud Rate Generator ValueHSERIAL_CLEAR = On  ; Clear overflow automaticallyRCSTA = 144 ; Enable continuous receiveTXSTA = 36  ; Enable transmit, BRGH = 1SPBRG = 129 ; Baud Rate Generator Value' descriptor file, located in \inc\usb_18 - a copy' is located in the same folder as this file   USB_DESCRIPTOR = "picusbproject5desc.inc"Symbol USBBufferSizeMax = 32Symbol USBBufferSizeTX  = 8Symbol USBBufferSizeRX  = 32Dim    USBBuffer[USBBufferSizeMax] As Byte' some useful flags...Dim PP0 As Byte SYSTEM        ' USBPOLL status returnSymbol CARRY_FLAG = STATUS.0  ' high if microcontroller does not have control over the bufferSymbol ATTACHED_STATE = 6     ' is USB attached    ' ************************************************************' * main program loop - remember, you must keep the USB      *' * connection alive with a call to USBPoll, USBIn or USBOut *' * every couple of milliseconds or so                       *' ************************************************************' ************************************************************TRISA = %11111111TRISB = %11111111TRISC = %11111111' ************************************************************ALL_DIGITAL=trueGoSub AttachToUSBveri=usbbuffer[0]ProgramLoop:HSerIn [Wait("test"),veri]  'kopmaya neden olan satır. pc ile donanım arasındaki bağlantıyı koparıyor.'USBBuffer[0]=0USBBuffer[1]=0USBBuffer[2]=0USBBuffer[3]=0USBBuffer[4]=0USBBuffer[5]=0USBBuffer[6]=0USBBuffer[7]=0          USBOut 1, USBBuffer, USBBufferSizeTX   USBIn 1, USBBuffer, USBBufferSizeRX, ProgramLoop   GoTo ProgramLoop ' ************************************************************' * receive data from the USB bus                            *' ************************************************************DoUSBIn:   USBIn 1, USBBuffer, USBBufferSizeRX, DoUSBIn   Return  ' ************************************************************' * transmit data                                            *' ************************************************************DoUSBOut:     USBOut 1, USBBuffer, USBBufferSizeTX, DoUSBOut   Return' ************************************************************' * wait for USB interface to attach                         *' ************************************************************AttachToUSB:   Repeat                                     USBPoll          Until PP0 = ATTACHED_STATE   Return   

Powered by EzPortal