UART0 działa na IRQ z pomoca SWI bez problemu.
Obecnie chciałem do tego dołożyć jeszcze UART1, i mam problem.
inicjalizacje porobione dla UART0, UART1, __SWI poprawnie wykonane dla 1 i drugiego UART-a, tablice SWI uaktualnione o UART1, UART0.
RTX nie mam, dlatego dałem SWI6, SW7, SWI8, SWI9.
- na symulatorze działa poprawnie.
- w programie głównym jak dam linię:
- to działa ten UART który jest w tej linii ostatni.
- nie mogę wymusić aby dziłały oba UART-y.
SWI.s końcówka jest tak jak poniżej.
Obecnie chciałem do tego dołożyć jeszcze UART1, i mam problem.
inicjalizacje porobione dla UART0, UART1, __SWI poprawnie wykonane dla 1 i drugiego UART-a, tablice SWI uaktualnione o UART1, UART0.
RTX nie mam, dlatego dałem SWI6, SW7, SWI8, SWI9.
- na symulatorze działa poprawnie.
- w programie głównym jak dam linię:
/* Initialize Serial Interface */
timer_init();
com1_initialize ();
com_initialize ();
- to działa ten UART który jest w tej linii ostatni.
- nie mogę wymusić aby dziłały oba UART-y.
SWI.s końcówka jest tak jak poniżej.
SWI_Dead B SWI_Dead ; None Existing SWI
SWI_Cnt EQU (SWI_End-SWI_Table)/4
SWI_Count DCD SWI_Cnt
IMPORT __SWI_6
IMPORT __SWI_7
IMPORT __SWI_8
IMPORT __SWI_9
SWI_Table
DCD SWI_Dead ; SWI 0 Function Entry
DCD SWI_Dead ; SWI 1 Function Entry
DCD SWI_Dead ; SWI 2 Function Entry
DCD SWI_Dead ; SWI 3 Function Entry
DCD SWI_Dead ; SWI 4 Function Entry
DCD SWI_Dead ; SWI 5 Function Entry
DCD __SWI_6 ; SWI 6 Function Entry
DCD __SWI_7 ; SWI 7 Function Entry
DCD __SWI_8 ; SWI 8 Function Entry
DCD __SWI_9 ; SWI 9 Function Entry
; ...
SWI_End
END