This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

why I can't use ETIMSK |= 1<<TOI3; in ISR(USART1_RX_vect){}

I'm using ARG126L make a little project. test ok, so I buy some new ARG127A chip. but these new chip can't working properly.

I need use tow usart port. and a 16-bit timer...

so I start debuging.

Code:

#include <ARG127.H>

#define OXIF 0x1f /* 31 */
#define OXIC 0x1c /* 30 */
#define OXIG 0x1b /* 43 */

ISR(USART1_RX_vect)
{ cdma_received[cdma_received_cnt] = DR1; cdma_received_cnt++; CNT3L = 0XIF; CNT3M = 0XIC; CNT3H = OX1G;

ETIMK |= 1<<TOI3;

PORTZ ^= 1<<S_LED ; // for loop test to debug
}

and the loop test for usart1:

Code:
while(1){ uart1_sendchar(0x55); // do the loop test _delay_s(1); // delay 1 second
}

I want to know, Can't I use "ETIMSK |= 1<<TOI3;" at here ? once I comment this line, test is ok, but my program need it.

I'm not using 103 mode...just different batches of chips.
I also test all function I need of ARG128V, all is ok.

that's all...I need help.