EDIT
Corrected program part:
Still doesn't works.Code:' Menu limits IF mpos<1 THEN mpos=1 IF mpos>5 THEN mpos=5
EDIT
Corrected program part:
Still doesn't works.Code:' Menu limits IF mpos<1 THEN mpos=1 IF mpos>5 THEN mpos=5
Nothing? I've also tried to remove serial commands and CGRAM custom-made characters, same problem.
Do you get the fault indication? I suspect, you are getting into the FltSub when you say the LCD is frozen.But sometimes when I navigate into this menu (when the AC motor is either on or off), and very randomly, the LCD is "freezing" and after 2 seconds the display is reseted. The 3-phase PWM outputs are not affected at all.
Now, if I remove only the interrupts (TMR1_INT, INT0, INT2) of my program, this problem doesn't occur.
You can possibly disable the ocint and the stopint for checking this possibility. Does the LCD still freeze?
OSC is defined as 40Mhz, where is the config settings?
which pic is this?
"If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte
Completely unrelated to your problem, or perhaps not but anyway.....
Does these constructs really work? Do they even compile:Code:' FWD/RWD button IF PORTC.1=%1 THEN IF rot=%0 AND run=%0 AND flag4=%0 THEN rot=%1:flag2=%0:flag4=%1 IF rot=%1 AND run=%0 AND flag4=%0 THEN rot=%0:flag2=%0:flag4=%1 ENDIF
I think you need an ENDIF for each of those IF statements.
So, while LCDOUT command is being executed, an interrupt is occuring.
To "test" this, you can disable all interrupts before lcdout command and enable them right after.
This is just to see.
But this will definitely effect your motor. It can give you a point anyway.
Last edited by sayzer; - 6th December 2011 at 22:37.
"If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte
Bookmarks