Having dabbled with PICs now for long enough now that I probably can't get away with calling myself a n00b, I'm having to face my inner demons & declare that I just don't really understand, exactly which config sets the oscillator!

I'd always thought it was a case of

Code:
@ __CONFIG _CONFIG1, _FOSC_INTOSC
define osc 4
If I'm truthful, I've never worked out what's doing what - it's just worked (& I'm from the school "If it works, if it works"...my head has limited RAM & as I get older, some of it has CRC errors)

Ok, so now I applied that same OSC setting method to a new PIC variant I'm now dabbling with a PIC16F1823, but something went askew. Basically I needed to set my Hypertem for a completely different speed setting to get it to display properly (a big warning sign that the osicllator is wrong), but get this a pause command of 500ms, works out much longer (didn't actually time it, but probably about 4 seconds)


Ok, to cut a long story short.....this setting seems to have solved it....

Code:
Osccon = %01101010
My 500mS pause now is a 500ms pause, my serial term speed setting is as it should be, blah blah.

But what gives here....it seems I need a config fuse settin.g a define osc command (which appears not to work?) and now an osccon register setting too?

The datasheet says that this PIC defaults to 500kHz clock....so I'm figuring the define command simply tells the compiler what speed the oscillator is going to be running at - hence (until I found the right OSCCON settings) commands like pause taking 8 times longer than they should?