a) those you don't really need to worry about are SHIFTIN/SHIFTOUT, I2CREAD/I2CWRITE as they're synchronous one.- Not sure how bad Xin/xout/Owin/Owout behave.. I never used them.
- LCDOUT... well maybe, but in case you have problem with, it will me just a matter to change some DEFINEs values.
- SERIN/SEROUT/DEBUG/DEBUGIN will cause problems.. you just can't fine-tune them easy .
- SERIN2/SEROUT2... possible to adjust it.
- HSERIN/HSEROUT no problem if you manually set the internal baudrate register (SPBRG)
- Count/Frequout/SOUND possible to calculate it and adjust their results
- HPWM no real need to use it, manually write to the CCP register is easy 3-4 lines of code
- PAUSE/PAUSEUS will need to be manually adjusted.
b)it's up to you... let's say you use PAUSE 10 and set OSC 4.... pause will execute in 6/4 of the expected time, if you set OSC 8, it will execute 6/8 of the expected time.
c)once again it's up to you. I think it's a personal choice. I have some ideas... but i think they will mixed-up you more than help for now.
d)Using Macro, create your own routines, "hack" some PBP library... or just comment out some lines in your code. tons of possibilities.
As you see yes it's possible to use ANY crystal speed when really needed. Depending your application you may do some extra work or not. nothing really hard.. just something you don't need to do with the supported OSC speed.
HTH
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks