HSEROUT at Quarter Rate!


Closed Thread
Results 1 to 7 of 7

Hybrid View

  1. #1
    Join Date
    Jan 2011
    Posts
    6

    Default HSEROUT at Quarter Rate!

    Hi All,

    Currently using a PIC18LF26K80, and have found the HSEROUT command to outputing data at quarter of the specified rate.

    Here is the header to my code:
    Code:
    #config
        CONFIG RETEN = OFF              
        CONFIG INTOSCSEL = LOW
        CONFIG SOSCSEL = LOW
        CONFIG XINST = OFF
        CONFIG FOSC = INTIO1
        CONFIG PLLCFG = ON
        CONFIG FCMEN = OFF
        CONFIG IESO = OFF
        CONFIG PWRTEN = OFF
        CONFIG BOREN = OFF
        CONFIG BORV = 0
        CONFIG BORPWR = LOW
        CONFIG WDTEN = OFF
        CONFIG WDTPS = 1
        CONFIG CANMX = PORTC
        CONFIG MSSPMSK = MSK7
        CONFIG MCLRE = OFF
        CONFIG STVREN = OFF
        CONFIG BBSIZ = BB1K
        CONFIG CP0 = OFF
        CONFIG CP1 = OFF
        CONFIG CP2 = OFF
        CONFIG CP3 = OFF
        CONFIG CPB = OFF
        CONFIG CPD = OFF
        CONFIG WRT0 = OFF
        CONFIG WRT1 = OFF
        CONFIG WRT2 = OFF
        CONFIG WRT3 = OFF
        CONFIG WRTC = OFF
        CONFIG WRTB = OFF
        CONFIG EBTR0 = OFF
        CONFIG EBTR1 = OFF
        CONFIG EBTR2 = OFF
        CONFIG EBTR3 = OFF
        CONFIG EBTRB = OFF
    #endconfig
    '*****
    '* Defines and Device Configurations
    '*****
    define OSC 8                        ' Internal OSC runs at 8MHz
    define HSER_RCSTA1 90h              ' Enable USART1 Receiver
    define HSER_TXSTA1 20h              ' Enable USART1 Transmitter
    define HSER_RCSTA2 90h              ' Enable USART2 Receiver
    define HSER_TXSTA2 24h              ' Enable USART2 Transmitter
    define HSER_BAUD1 9600
    define HSER_BAUD2 9600
    TRISA=%00000001                     ' Make PORTA.0 an input
    ADCON0=%00000001                    ' Turn on ADC AN0
    ADCON1=%00000000                    ' Turn off PORTB ADC's
    ADCON2=%00000000                    ' Turn off PORTC ADC's
    INTCON=%11000000                    ' Enable Interrupts
    PIE1=%00100000                      ' Enable USART1 Interrupt
    OSCCON=%01100000
    REFOCON=%10100111
    OSCTUNE=%10000000
    By connecting at 2400 baud, the comms works fine, but I am hoping to find the real reason behind my errors...

    Cheers
    Mark

  2. #2
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166

    Default Re: HSEROUT at Quarter Rate!

    what crystal are you driving the PIC with? I notice you have the PLL enabled which will multiply the crystal freq. by 4 times. You have declared the operating frequency as 8 Mhz. If you have set the internal frequency as 8 Mhz then you are generating 24 Mhz. I would check your settings....
    Dave Purola,
    N8NTA
    EN82fn

  3. #3
    Join Date
    Jan 2011
    Posts
    6

    Default Re: HSEROUT at Quarter Rate!

    Thanks Dave,

    I am currenty using the internal osc, as set by CONFIG FOSC = INTIO1 and it should be running at 8MHz by the OSCCON=%01100000 configs. In regards to the PLL, by switching it on - by either the PLLCFG or OSCTUNE, it enables the HSEROUT command to operate at the correct baud, but this results in the rest of the pic running at 4 times...

  4. #4
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166

    Default Re: HSEROUT at Quarter Rate!

    Gitchie, That is because you have declared to PBP that you are running the code @ 8 Mhz. by the statement:
    define OSC 8 ' Internal OSC runs at 8MHz

    This statement tells PBP to scale all timing statements like PAUSE and the like to use an 8 Mhz. oscillator. You should be setting the DEFINE statement to 32 Mhz. which is the frequency that the processor is actually being clocked at.
    Dave Purola,
    N8NTA
    EN82fn

  5. #5
    Join Date
    Jan 2011
    Posts
    6

    Default Re: HSEROUT at Quarter Rate!

    That's correct, but then the hserout runs at quarter speed... For the moment, I've set the baud to 9600 and will run it at 2400...

  6. #6
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166

    Default Re: HSEROUT at Quarter Rate!

    Don't you understand? Just set the baudrate to the desired rate and set the DEFINE OSC 32. Everything will work correctly.....
    Dave Purola,
    N8NTA
    EN82fn

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