After a few projects with PIC 16F series, I try to move on to the more advanced PIC 18F series. But already at the very beginning I got stuck. I tried already to solve it for days, but I have no more clue…
The hardware setup: PIC 18F458, 20Mhz Xtal on pins OSC1 and OSC2, two 15p caps for the Xtal, an LED with resistor on PORTD.2 (pin 21)
define OSC 20 ' Quarz = 20 MHz
ADCON1 = 15 ' all digital
LED var portd.2
RxTx var portc.5
RS485Rx var portc.7
RS485Tx var portc.6
I had to change the __CONFIG lines in the .inc file in order to work with MPLAB like this:
"Error: PM does not support this device. Use MPASM."
LIST p = 18F458, r = dec, w = -311, w = -230, f = inhx32
INCLUDE "P18F458.INC" ; MPASM Header
;__CONFIG _CONFIG1H, _OSCS_OFF_1H & _HS_OSC
;__CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
;__CONFIG _CONFIG4L, _LVP_OFF_4L
EEPROM_START EQU 0F00000h
BLOCK_SIZE EQU 8
It compiles and burns into the PIC with no errors.
What happens when I turn on power is that the LED is always lit. No blinkin’, nothin’
How can I check if the Xtal works? Or any other hints what to do anyone?
Thanx & keep on PICin’
Hi, we are pleased to
see that you are using our forum.
We'd like you to
become a member of our community. Membership is FREE,
please REGISTER and view our forums
without these annoying reminders!
you may post on the forums, download from the file areas and use the
WIKI without interruption.
It may be working just perfect. In your loop the first thing you do is toggle the led. Then you pause for half a second. Then you set the output low and instantly go back to the top of the loop, where you will toggle again turning on the led. As was suggested, remove the low led command. Or you could add another pause after it so you will have time to see it go low.
The glass is not half full or half empty, Its twice as big as needed for the job!
All three of you where right. Thank you all. Deleted the "LED low" command (wich I added after nothing happened). Added "CMCON = 7" as Shawn suggested. Now it works. Grrrmmm three lousy bits, many days no sleep...
@Demon: Both ways work. But if the CONFIG is in the include file, it mustn't be in the program and vice versa.