Hello,
I don't define vector table as shown in different examples.
(
typedef void (*near tIsrFunc)(void);
const tIsrFunc _vect[] @0xFF80 = { /* Interrupt table */
UnimplementedISR, /* vector 63 */
UnimplementedISR, /* vector 62 */
UnimplementedISR, /* vector 61 */
UnimplementedISR, /* vector 60 */
UnimplementedISR, /* vector 59 */
.............
)
I initialize interrupt procedures as in Keil:
(
interrupt 7 void Int_RTI() { //real-time interrupt
uchar c;
c_rti ++;
.................
)
And it works. The interrupts vectors I watch at memory in simulation are true. So I think that interrupt vectors addresses define already in some lib or CW settings.
But I'll try to create interrupt map, as shown in examples.
This problem isn't critical. I'll solve it.
But tommorow evening I was very confused that when I burn my programs to controller (with .s19 file) it don't work correctly! E.g. it works but not that I need. In place of blinking LED it turn on the LED, in place of ansver me by terminal (when I push some key on keyboard must return simbol: 1 -> return '1') it ansvers by some other simbol.
I check COM settings of my computer and controller, replace interrupt vectors in s19 file to right (to 0xf7c0 from 0xffc0), count right checksumms. Also I notice that when I generate S0 string (head of S19) and without it my controller works different. But S0 must not burn to controller!
I've done all as in evalution board manual write but where was no effect. Burner says "Programmed", but realy program do something other.
I use single memory space, as I read s19 used as bunked but I think it isn't principial.
I don't know what to do now. Today evening I'll try to burn by other programm.
Have you any minds about this? Thanks.