We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi.. I have a problem with the xc167ci. Its I/O-Pins toggle too slowly. If I have e.g. pin 4^0 toggeling, it only works with 2,85 MHz instead of 40 MHz (system clock). I use the following sourcecode: while(1) { P9_0 = 0; P9_0 = 1; } In EBC-Mode the pins are pretty fast, they work on a 25 ns basis. Why does that not work on normal I/O-Pin operations? Thanks, Erwin
Just a guess: maybe your program execution is generally slow, say, because it is being executed from external memory with slow access times. Besides, I got the impression that Keil's startup code for XC16x does not enable CPU speedups, such as Branch Prediction, Zero Cycle Jump, Instruction FIFO etc. I'm not very familiar with XC16x, so please look that up in the manuals. - mike
Hi.. I did enable all speedups in the Startup-File. The program is executed from internal Flash. Does anybody have an idea? Thanks, Erwin
Is rise/fall time ok? May be crystal/oscillator is running at a wrong harmonic?
I do not think so, for EBC-timings for example work fine. The time between execution of two instructions is 25 ns, I measured that. The Factor between the pin toggle frequency and the oscillator frequency is 14. Do I work in a strange MODE like debug mode? (Debug itself is disabled). What other modes exist?