Quantcast
Channel: MEL PICBASIC Forum
Viewing all articles
Browse latest Browse all 4787

18F26K22 slow startup

$
0
0
When I program the code, LCD toggle's right away. If I cycle power, LCD takes forever to toggle. Any ideas? Internal OSC.

Code:

#CONFIG
  CONFIG FOSC = INTIO67
  CONFIG PLLCFG = ON       
  CONFIG PRICLKEN = OFF
  CONFIG FCMEN = ON
  CONFIG IESO = OFF
  CONFIG PWRTEN = ON
  CONFIG BOREN = OFF
  CONFIG WDTEN = OFF
  CONFIG CCP2MX = PORTC1
  CONFIG PBADEN = OFF
  CONFIG MCLRE = INTMCLR
  CONFIG STVREN = ON
  CONFIG LVP = OFF
  CONFIG XINST = OFF
  CONFIG DEBUG = OFF
#ENDCONFIG

DEFINE OSC 32
OSCCON = %01100000
OSCTUNE = %01000000'01000000       
@ ERRORLEVEL -306  ; turn off crossing page boundary message
'Include "modedefs.bas"        ' Mode definitions for Serou


Baud      var    PortA.2  'Output Set Baud rate (high = force 9,600, low = 115 K or firmware setting)
Master    var    PortA.3  'Output high=automaster-mode Input to RN-42 with weak pulldown
TRISA=%010001

DEFINE DEBUG_REG PORTB      ' Set Debug pin port
DEFINE DEBUG_BIT 6          ' Set Debug pin bit
DEFINE DEBUG_BAUD 57600      ' Set Debug baud rate
DEFINE DEBUG_MODE 0          ' Set Debug mode: 0 = true, 1 = inverted
DEFINE DEBUG_PACING 200'200
                                                                                             
DEFINE DEBUGIN_REG PORTB    ' Set Debugin pin port
dEFINE DEBUGIN_BIT 7        ' Set Debugin pin bit
DEFINE DEBUGIN_MODE 0        ' Set Debugin mode: 0 = true, 1 = inverted

DEFINE HSER2_RCSTA 90h
DEFINE HSER2_TXSTA 20h
DEFINE HSER2_BAUD 57600

DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 20h
DEFINE HSER_BAUD 9600

LiftSwitch var    PortB.0  'When low, shut off rows.
STS        var    PortB.1  'Input Status, high when connected, low otherwise
Discover  var    PortB.2  'Output Auto discovery = high
Test      var    PortB.3
Defaults  var    PortB.4  'Output Set factory defaults Input to RN-42 with weak pulldown
LCD        Var    PortB.5
BTX        var    PortB.6  'Wireless transmit                                             
BRX        var    PortB.7  'Wireless receive
TRISB=%10000011
ADCON1.7=1
ADCON1.6=1
ADCON1.5=0
ADCON1.4=0
ADCON1.3=0
ADCON1.2=1
ADCON1.0=1

WRX        var    PortC.0  'Input
RadarIn    var    PortC.1  'Input
Config1    var    PortC.2  'Input
Config2    var    PortC.3  'Input
'NC                PortC.4
CTS        var    PortC.5  'Output
WTX        var    PortC.6  'Output
GRX        var    PortC.7  'Input
TRISC=%10001111

GPGGA      VAR    BYTE[64]
Blue      var    byte[64]
RadarLow  Var    Word                                                                                                                                                               
RadarHigh  var    Word
RadarTotal var    word
qI        VAR    Word          'Quotient-integer------------------Maybe change to Byte
qF        VAR    Word        'Quotient-fractional
GSpeed    var    word
Res        var    WOrd
hh        VAR    BYTE  'hours
mm        VAR    BYTE  'minutes
ss        VAR    BYTE  'seconds
sss        var    word  'milliseconds
fix        VAR    WORD  'GPS fix
latdeg    VAR    word  'degrees latitude
latmin    VAR    byte  'minutes latitude 
latmin2    var    word  'fractional minutes latitude
totallat  var    long
NS        VAR    BYTE  'north or south
londeg    VAR    word  'degrees longitude
lonmin    VAR    byte  'minutes longitude
lonmin2    var    long  'fractional minutes longitude
totallon  var    WORD  'long
EW        VAR    BYTE  'east or west
Knots      VAR    byte  'speed in knots (units)
Knotss    var    byte  'speed in fractional knots
course    var    word  'heading
dy        VAR    BYTE  'day
mt        VAR    BYTE  'month
yr        VAR    BYTE  'year
quality    var    byte
satnum    var    byte 
geoid      var    word
geoiddec  var    byte
dummy      var    byte
altitude  var    word
altitudedec        var  byte
altunit    var    byte
CBID      var    byte
CBCount    var    byte
RPM1X      var    word
RPM2X      var    word
RPM3X      var    word
RPM4X      var    word
RPM1R      var    word
RPM2R      var    word
RPM3R      var    word
RPM4R      var    word
RPM5R      var    word
RPM6R      var    word
RPM7R      var    word
RPM8R      var    word
RPM9R      var    word
RPM10R    var    word
RPM11R    var    word
RPM12R    var    word
RPM13R    var    word
RPM14R    var    word
RPM15R    var    word
RPM16R    var    word
RPM17R    var    word
RPM18R    var    word
RPM19R    var    word
RPM20R    var    word
RPM21R    var    word
RPM22R    var    word
RPM23R    var    word
RPM24R    var    word
RPM25R    var    word
RPM26R    var    word
RPM27R    var    word
RPM28R    var    word
RPM29R    var    word
RPM30R    var    word
RPM31R    var    word
RPM32R    var    word
RPM33R    var    word
RPM34R    var    word
RPM35R    var    word
RPM36R    var    word
RPM37R    var    word
RPM38R    var    word
RPM39R    var    word
RPM40R    var    word
RPM41R    var    word
RPM42R    var    word
RPM43R    var    word
RPM44R    var    word
RPM45R    var    word
RPM46R    var    word
RPM47R    var    word
RPM48R    var    word

RPM1T      var    word
RPM2T      var    word
RPM3T      var    word
RPM4T      var    word
RPM5T      var    word
RPM6T      var    word
RPM7T      var    word
RPM8T      var    word
RPM9T      var    word
RPM10T    var    word
RPM11T    var    word
RPM12T    var    word
RPM13T    var    word
RPM14T    var    word
RPM15T    var    word
RPM16T    var    word
RPM17T    var    word
RPM18T    var    word
RPM19T    var    word
RPM20T    var    word
RPM21T    var    word
RPM22T    var    word
RPM23T    var    word
RPM24T    var    word
RPM25T    var    word
RPM26T    var    word
RPM27T    var    word
RPM28T    var    word
RPM29T    var    word
RPM30T    var    word
RPM31T    var    word
RPM32T    var    word
RPM33T    var    word
RPM34T    var    word
RPM35T    var    word
RPM36T    var    word
RPM37T    var    word
RPM38T    var    word
RPM39T    var    word
RPM40T    var    word
RPM41T    var    word
RPM42T    var    word
RPM43T    var    word
RPM44T    var    word
RPM45T    var    word
RPM46T    var    word
RPM47T    var    word
RPM48T    var    word
RPM1O      var    word
RPM2O      var    word
RPM3O      var    word
RPM4O      var    word
RPM5O      var    word
RPM6O      var    word
RPM7O      var    word
RPM8O      var    word
RPM9O      var    word
RPM10O    var    word
RPM11O    var    word
RPM12O    var    word
RPM13O    var    word
RPM14O    var    word
RPM15O    var    word
RPM16O    var    word
RPM17O    var    word
RPM18O    var    word
RPM19O    var    word
RPM20O    var    word
RPM21O    var    word
RPM22O    var    word
RPM23O    var    word
RPM24O    var    word
RPM25O    var    word
RPM26O    var    word
RPM27O    var    word
RPM28O    var    word
RPM29O    var    word
RPM30O    var    word
RPM31O    var    word
RPM32O    var    word
RPM33O    var    word
RPM34O    var    word
RPM35O    var    word
RPM36O    var    word
RPM37O    var    word
RPM38O    var    word
RPM39O    var    word
RPM40O    var    word
RPM41O    var    word
RPM42O    var    word
RPM43O    var    word
RPM44O    var    word
RPM45O    var    word
RPM46O    var    word
RPM47O    var    word
RPM48O    var    word
TXID      var    byte
EPDCount  var    byte
BTPrefix  var    Long
SimYN      var    byte
T1                var    word  'Used to measure RPM
T2                var    word  'Used to measure RPM
T3                var    word  'Used to measure RPM
Prefix            con    $FE            ' needed before each command
LcdCls            CON    $51            ' clear LCD (use PAUSE 5 after)
CursorPS          con    $45            'Cursor Position
Backlight          con    $53            ' Backlighting 1-8
Contrast          con    $52            ' Contrast 1-50
Shit              var    byte
BTArray            var    byte[4]
Prefix1            var    byte
Prefix2            var    byte
Prefix3            var    byte
Prefix4            var    byte
RFCheck            var    bit

ADCON0.0=0                                                                                               
ADCON1=%00001111     
Symbol Capture = PIR2.0 ' CCP2 capture flag
Symbol Overflow = PIR1.0
INTCON.7 = 1 
INTCON.6 = 1
CCP2CON = %00000101    ' Capture mode, capture on rising edge
T1CON = %00110011      ' TMR1 prescale=1, clock=Fosc/4, TMR1=on
ANSELA=%00000000
ANSELB=%00000000
ANSELC=%00000000

Low Discover
high lcd
low Baud
Low Master
Low CTS

pause 200
'GOSUB INITIALIZE 
'gosub Send_BT
do until STS=1
  'gosub RFOOff 
  pause 50
  toggle lcd
loop
'GOSUB INITIALIZE
pause 100
 
CCPTMRS0.4=0            'CCP2 uses Timer1
CCPTMRS0.3=0            'CCP2 uses Timer1
PIE2.0=1                'CCPIE Enabled
IPR2.0=0                'Low PRiority Interrupt


Viewing all articles
Browse latest Browse all 4787

Trending Articles