12F629 maximun Baudrate


Closed Thread
Results 1 to 13 of 13

Hybrid View

  1. #1
    Join Date
    Nov 2005
    Location
    Zamora, Spain
    Posts
    11

    Default 12F629 maximun Baudrate

    Hi people, using a 12F629 and programming

    INCLUDE "modedefs.bas"
    DEFINE CHAR_PACING 1 'THIS DOES NOTHING HERE...

    'SET INPUTS AS DIGITAL
    CMCON = %00111111

    lazo:
    serout2 0,32,["1234567890"] '(1)
    pause 20
    goto lazo

    I can see the serial output on my oscilloscope's screen, going at about 19200 baud and repeating with pauses in between. Reading the manual I understand that to set the baud rate to, we can say, 50000 sps, I must program
    1000000/50000 - 20 = 0, instead of 32 in the line (1). If I program a value under 12, I get the pin going from 0 to 5volts (Vcc) randomly and of course no serial signal. The piece is running at 4Mhz from its internal RC oscilator. I read that 12bits PIC does not support serout2 because of its limitations, but it works (PBP v2.46) untill 19200 baud. What I am doing wrong?

    Thanks

  2. #2
    Join Date
    Sep 2003
    Location
    Vermont
    Posts
    373

    Default

    There is a lot of info on serial comms on this site. Do a search. Next, if you are going to run over 1200 baud, you NEED a crystal or resonator. RC is just too squirrley. That being said, you can run DEBUG instead of serin, up to 115200 baud....But only with a crystal. Cheers...

    Ron

  3. #3
    Join Date
    Nov 2005
    Location
    Zamora, Spain
    Posts
    11

    Default I folow your instructions

    Hi,
    I put a 12Mhz cristal to make run a 16F84A. Again, if I try to go faster than around 50K baud (I have got near 90Kbaud programming 57600 and making the PIC believe that its cristal was 3.5Mhz) I got the same rubish out the selected pin for serial output. It happens the same with 12F508, 12F629 and now 16F84A. Also, DEBUG seems to reach a higher baudrate than SEROUT2 on the same µ.

    All these nonsenses are puzzling me. I routinely programm in assembler for 16F876-20 and send data through a twisted pair cable at about 1.125 Mbit/sec.

    Has somebody push the commands SEROUT2 or DEBUG to the limits?

    Thanks.
    Maxi.

  4. #4
    Join Date
    Sep 2003
    Location
    Vermont
    Posts
    373

    Default

    Quote Originally Posted by MaxG
    Hi,
    I put a 12Mhz cristal to make run a 16F84A. Again, if I try to go faster than around 50K baud (I have got near 90Kbaud programming 57600 and making the PIC believe that its cristal was 3.5Mhz) I got the same rubish out the selected pin for serial output. It happens the same with 12F508, 12F629 and now 16F84A. Also, DEBUG seems to reach a higher baudrate than SEROUT2 on the same µ.

    All these nonsenses are puzzling me. I routinely programm in assembler for 16F876-20 and send data through a twisted pair cable at about 1.125 Mbit/sec.

    Has somebody push the commands SEROUT2 or DEBUG to the limits?

    Thanks.
    Maxi.
    I'm sorry, I just don't understand what you're trying to do here. Debug will run to 115K baud. If you want faster, go hardware, or shiftin/ shiftout with a faster clock.

  5. #5
    Join Date
    Nov 2005
    Location
    Zamora, Spain
    Posts
    11

    Unhappy

    Dear Ron,
    I am sorry for my poor way of self-explaining. I am only trying to transmit some data (16 bytes bursts) at 115Kbaud using a 16F84A, PBP and the command DEBUG or SEROUT. I started doing some testings on 12F629, 12F508... with their internal 4Mhz RC oscillators and I could not go faster than about 30Kbaud. I follow your advise and put a Crystal, 12Mhz, on a 16F84A to make my testings.

    It happens the same; PBP and PIC 16F84A can not go faster than about 80Kbaud, sometimes even slower. DEBUG can not be used with 16F84a and a 12Mhz EXTERNAL HS OSCILLATOR for reaching 115Kbaud. I suppose (I know) that in pieces with specific Hardware for Serial in/out, rates faster than 115Kbaud can be programmed but I would like to know why I can not reach 115Kb with the configuration noted above and where can be found a document with the limits for the commands DEBUG, SEROUT, SEROUT2. Again, I apologize for my short knowledge, and hope that you will be kind enough for taking a glance on my problem.

    Sincerely,
    Maxi.

  6. #6
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762

    Default

    The higher the baudrate the faster and more accurate the clock has to be.

    I doubt you can achieve reliable 115k with only 12MHz Clock speed.

    Try a faster (and calibrated) clock.

    If you have a DSO, scope the output and push it step by step to the limits.

    AND: I wouldn't put anything into production that is ways off specs.
    regards

    Ralph

    _______________________________________________
    There are only 10 types of people:
    Those who understand binary, and those who don't ...
    _______________________________________________



  7. #7
    Join Date
    Sep 2003
    Location
    Vermont
    Posts
    373

    Default

    I've had no issues with a 4 MHz xtal and Debug pushing 115200 baud. Am I doing something wrong(right)?

    Ron

Similar Threads

  1. 12F629 LDR - Light Dependant Resistor
    By Dennis in forum Schematics
    Replies: 15
    Last Post: - 18th February 2010, 22:33
  2. Basic help for 12F629
    By Gene Choin in forum mel PIC BASIC
    Replies: 5
    Last Post: - 22nd September 2009, 04:06
  3. sleep on 12f629
    By sirvo in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 8th February 2007, 14:08
  4. Servo control with 12F629
    By achilles03 in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 23rd June 2005, 23:34
  5. 12F629 I2C problems
    By AIW128ProGuy in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 11th November 2004, 23:41

Members who have read this thread : 1

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