Dale Botkin says:
...the delay_ms() function is nice to have, but don't try to use TMR0-driven interrupts [at the same time]!
David Knott says:
ANSI non-conformance. Around here, we call the CCS Compiler a "Rapid development system with C-like syntax".I would really like to see this compile with CCS's PCM eventually, as it would with any ANSI conforming C compiler:
void main(void) { int nIndex; nIndex=.... { int nVeryLocalVariable; nVeryLocalVariable=nIndex; .... } ... }The bracing would help localize reusable variables without having to place them all at the same scope as main() or make them, God forbid, global.
Currently, it appears that the only way to get PCM to reuse local variable memory is to declare them at function scope. This causes you to either:
- A: Declare shared memory at global scope. (ick). thusly
int g_nIndex; void myFunction() { int nVeryLocalVariable; nVeryLocalVariable=g_nIndex; .... } void main(void) { g_nIndex=.... myFunction(); }- B: Pass the shared variable as an argument, which may or may not cause overhead, thusly
void myFunction(int nIndex) { int nVeryLocalVariable; nVeryLocalVariable=nIndex; .... } void main(void) { int nIndex; nIndex=.... myFunction(nIndex); }
Interested: