Anybody knows how to reload timers in ADuC7128? It is written in datasheet to write TxICLR register, but when I'm using this code: #include "ADuC7128.H" #include "rs232.h" #define LED_LOW GP0CLR = 0x00400000 #define LED_HI GP0SET = 0x00400000 void peripheryInit(void) { GP0CON = 0; GP0DAT |= 0x40000000; // LED -> OUTPUT } int main(void) { unsigned int T1VAL_prev; POWKEY1 = 0x01; POWCON &= ~0x03; POWKEY2 = 0xf4; ConfigUART115200(); peripheryInit(); T1CON = 0x03cf; T1LD = 1; for(;;) { if(T1VAL_prev != T1VAL) { T1VAL_prev = T1VAL; while(!(0x040==(COM0STA0 & 0x040))); COM0TX = T1VAL; if(T1VAL >= 5) { T1ICLR = 1; LED_LOW; } else LED_HI; } } } ... I get values: ... 3, 4, 5, 6, 7, ... - so timer is not reload (when T1VAL >= 5). Do I make any mistake?
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.