12F1840 config issues


Closed Thread
Results 1 to 14 of 14

Hybrid View

  1. #1
    Join Date
    Jul 2003
    Location
    Lancashire
    Posts
    50


    Did you find this post helpful? Yes | No

    Default Re: 12F1840 config issues

    Many thanks, I will run through these and see. These seem tricky beasts to set up and I am sure I have probably not set something I need to. Will report back! Cheers Pete

  2. #2
    Join Date
    Jul 2003
    Location
    Lancashire
    Posts
    50


    Did you find this post helpful? Yes | No

    Default Re: 12F1840 config issues

    I now have the code below. The serial data appears to come out at intervals of one second but is complete garbage still. Replacing the PIC with an appropriately configured 12F683 all functions fine. I am wondering if anyone else can replicate a serout2 on the 12F1840 and see if its the same. If the code looks good I am wondering if its a problem with PBP?. Cheers Pete

    Code:
    :
    #CONFIG
     ;----- CONFIG1 Options --------------------------------------------------
     __config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_ON & _CLKOUTEN_OFF & _IESO_ON & _FCMEN_ON
    
     ;----- CONFIG2 Options --------------------------------------------------
     __config _CONFIG2, _WRT_OFF & _PLLEN_ON & _STVREN_ON & _BORV_19 & _LVP_OFF
     #ENDCONFIG
    
     ' ************************************************** ******************
     ' SYSTEM INITIALIZATION
     ' ************************************************** ******************
     clear
     'PORTA = %00000000
     TRISA  = %00001101	   ' Make A0,A2,A3 inputs,A1,A4,A5 outputs
     OSCCON = %11110000 'PLL ENABLED,8Mhz,FSOSC<2:0>
     OSCTUNE	= %00000000	' Internal osc Adjustment
    WHILE !OSCSTAT.3	' Wait for stable OSC ...
    WEND
     INTCON = %00000000 'CLEAR GIE,PEIE,TMR0IE,INTE,RBIE,TMR0IF,INTF,RBIF
     PIE1 = %00000000 'CLEAR ALL INTERRUPT ENABLE BITS
     PIR1 = %00000000 'CLEAR ALL INTERRUPT FLAGS
     PIE2 = %00000000 'CLEAR ALL INTERRUPT ENABLE BITS
     PIR2 = %00000000 'CLEAR ALL INTERRUPT FLAGS
     APFCON = %00000000 'ALL DEFAULTS
     ANSELA      = %00000000    'Select all digital
     CPSCON0 = %11001100 'ENABLE CAP SENSE,DAC/FVR,HIGH RANGE
     WPUA		= %00000000    'weak pull ups disabled
     ADCON0 = %00000000 'CHS2:0,GO/DONE,ADOFF
     ADCON1 = %11100000 'RIGHT JUSTIFIED,FOSC/64,VSS,VDD
     SRCON0 = %00000000
     SRCON1 = %00000000
     CM1CON0 = %00000000 'CLEAR/DISABLE COMPARATOR
     CM1CON1 = %00000000 'CLEAR/DISABLE COMPARATOR
     CMOUT = %00000000 'DISABLE OUTPUT REGISTER
     DACCON0 = %11001000 'ENABLE DAC,ENABLE POS REFERENCE,SOURCE IS FVR
     DACCON1 = %00001000 'SET FOR 1/4 SCALE (8) ~ 1.024
     FVRCON = %10001100 'ENABLE VOLTAGE REFERENCE,4,096
     OPTION_REG = %00000000 'INTEDG,T0CS,T0SE,PSA,PS
     T1CON = %11000001 'CAPOSC INPUT,PRESCALER 1/1,START TIMER 1
     T1GCON = %00000000 'NO GATE CONTROL
     T2CON = %00000000 'POSTSCALER 1/1,STOP,PRESCALER 1
     TMR2 = 0 'CLEAR TMR2 MODULE REGISTER
     PR2 = 255 'SET PERIOD ((((1 / 32,000,000)*4) * 1 PRESCALE) * (1+255 PR2)) = 31.25 KHZ.
     CCP1CON = %00000000 'PLACE CCP1 INTO DISABLE MODE
     CCPR1L = $00 'CLEAR CCP1 LOWER 8 BITS
     CCPR1H = $00 'CLEAR CCP1 UPPER 2 BITS
     PSTR1CON = %00000001'DEFAULT 
     FVRCON		= 0            'Fixed voltage reference disabled
    
    DEFINE OSC 32
    
    initialise:
    serout2 PORTA.5,16468,["Waiting for X200",13,10]
    pause 1000
    goto initialise
    Last edited by Archangel; - 14th February 2015 at 10:13.

  3. #3
    Join Date
    Dec 2010
    Posts
    409


    Did you find this post helpful? Yes | No

    Default Re: 12F1840 config issues

    I guess SEROUT2 has changed for PBP3, because in PBP 2.6, the number 16468 is definitely wrong.
    Anyway, are you seeing any characters correctly? If so, you may need to put a pause between characters. I needed to do this with the 1840 talking to some devices.
    The clock may also be slightly off, causing some characters to get messed up.

  4. #4
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,612


    Did you find this post helpful? Yes | No

    Default Re: 12F1840 config issues

    According to the manual 16468 would be 9600, driven, inverted, no parity. Bit 15 is set which means driven, bit 14 says inverted, bit 13 says no parity. The rest of the bits says 84 which according to the formuala (1000000 / baud - 20) should result in 9600 baud.

    /Henrik.

  5. #5
    Join Date
    Jul 2003
    Location
    Lancashire
    Posts
    50


    Did you find this post helpful? Yes | No

    Default Re: 12F1840 config issues

    Yes 9600 inverted and the same line works correctly on other PIC types I have tried, its only with the 12F1840 it doesnt

  6. #6


    Did you find this post helpful? Yes | No

    Default Re: 12F1840 config issues

    if you cant check clock with frequency meter.......... add in loop once per second (on serout) increment or decrement osctune to see if characters come in view then try to figure about how far off and in what direction (raise/lower freq)
    amgen

  7. #7
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default Re: 12F1840 config issues

    Try Turning off the fail safe clock monitor, if I understand correctly it monitors an EXTERNAL clock. . .
    I would TRY altering bit 1 in OSCON just to see if it has any effect . . .

    I would add to config1
    _IESO_OFF ; Internal/External Switchover mode is disabled

    and I would disable WDT while troubleshooting at least once to judge if it has any effect.

    Oh yes, I would make a blinky program to test my configs without any serouts . . . a stopwatch using a blinky will give you a rough idea as to whether or not you are running at expected OSC speed.
    Last edited by Archangel; - 12th February 2015 at 21:15.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

Similar Threads

  1. Problem converting 12F683 code to 12F1840
    By RossWaddell in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 14th March 2013, 01:55
  2. PBP Support for 12F1840 8-Pin Device?
    By springtank in forum mel PIC BASIC Pro
    Replies: 17
    Last Post: - 10th November 2012, 08:32
  3. Timer1 issues
    By mitchf14 in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 9th January 2009, 16:21
  4. 12c508a Device Config. And Burning Issues
    By sayzer in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 29th March 2006, 16:50

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