VB sending serial data to PIC


Closed Thread
Results 1 to 8 of 8

Hybrid View

  1. #1
    Join Date
    Feb 2005
    Location
    Essex, UK
    Posts
    154

    Default

    Don't quite know what i have done, but i am getting some kind of comms.

    If using the text1 box i put a 1 in there and send it, the PIC doesn't do anything. If i use ANY character first, such as Z1, then the LED flashes fine.

    I have also put a text box to read a line coming back of the PIC. If a 1 is successfully received then the PIC should output "That Worked". However i'm getting "??????2rked" in VB.

    It also takes two button presses in VB, one to send the 1 which will flash the LED, another press gets the garbled "IT WORKED", and then another press will flash the LED again. Who can this be done with one button push. ie, each time the button is pressed it sends the 1 and displays the input message. Do you have any exmaples of what you have done which you wouldn't mind sharing ?

    Obvioulsy haven't quite mastered this yet !!

    Cheers,

    Steve

  2. #2
    Join Date
    Dec 2005
    Location
    Corum,Turkiye
    Posts
    15

    Default

    You look at this program.
    Attached Files Attached Files

  3. #3
    Join Date
    Feb 2005
    Location
    Essex, UK
    Posts
    154

    Default

    Thanks elektroline, your VB allowed me to compare with what i had and the reason the serial data coming back was goofed was because of one of the setting in Comm1.

    I'm still not convinced i have the PIC code right though, does this look right?

    As i say, if i send a 1 from VB nothing if i send t1 or a1 or any letter followed by 1, then the LED flashes and the command is sent back to VB.

    Code:
    include "modedefs.bas"
    
    Clear
    DEFINE OSC 20          
    DEFINE LOADER_USED 1
    ADCON1 = %00001111
    
    In      VAR PORTA.5
    Out     VAR PORTA.4
    Loop    Var Byte
    LED     VAR PORTB.1
    test    var word
    
    test = 1
    
    TRISB = %10000001       ' Set PORTB (0)INPUT (1-5)OUTPUTS
    
    Start:
       SERIN IN, N2400, [#TEST]
        IF TEST = 1 THEN 
            GOSUB FLASH
        ENDIF
    
        write 3, test
    '    IF test = 1 THEN GOSUB FLASH
        pause 500
    '    low PortB.1
        read 3, test
        SEROUT out, N2400, ["That Worked ", #test + 5] ' Senda the wording "That Worked" and a number
    GOTO Start
    
    Flash:
        For loop = 1 to 5
            LED = 1
            Pause 100
            LED = 0
            Pause 100
    Cheers,

  4. #4

    Default try this...

    Try changing your "test" variable to a byte. Then don't bother with the serial qualifier, just jump right to the data input, and do a compare.

    -----------------PICSTER--------------

Similar Threads

  1. Parsing Serial data stream
    By boroko in forum Serial
    Replies: 5
    Last Post: - 26th October 2008, 11:12
  2. Forward Serial Data from pic to pc
    By Muller in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 2nd September 2008, 21:46
  3. PIC serial going to sleep!
    By stma in forum Off Topic
    Replies: 0
    Last Post: - 31st October 2007, 08:17
  4. wireless serial data?
    By Scott in forum Serial
    Replies: 0
    Last Post: - 13th January 2006, 01:44
  5. USB, PIC18F2550 and VB
    By Tissy in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 27th November 2005, 18:37

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts