|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
# k t; T W* n1.。DSP解算出来的数据是存在哪里?
1 p. C* l0 B* L# u" _9 \2.。在例程中有这段代码:1 J. F) C! w# i0 B; R# f# t; ^8 ~& W
unsigned int int_id = 0;
; j; e" t R9 i% W. d
3 c: B5 V% ^% b3 b+ @- T! e // 确定中断源
' {- ]) H, ~8 u int_id = UARTIntStatus(SOC_UART_2_REGS);
+ m/ T8 I& J. C) |: N7 [2 }
/ t% Z5 I; g3 D7 V! w // 清除 UART2 系统中断 b+ h: M$ w8 Z+ Q: r2 P
IntSystemStatusClear(SYS_INT_UARTINT2);
" S4 c5 n2 b, O; o A2 [) E7 ]! L5 h( T
// 发送中断1 e" {1 b! ]( N5 h' D0 B
if(UART_INTID_TX_EMPTY == int_id)1 t( l0 [' Q6 ~+ I Q2 i" j& L
{" ?+ R! V2 D5 w" X4 E
if(0 < length)
3 T: K5 Y5 \# M i {
+ r/ m4 O6 R" D5 ^ // 写一个字节到 THR
' ]8 P8 h8 O2 S UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
6 [% [3 i; \" U# v length--;3 }! w7 j) Q+ k- p3 n$ p
count++;
/ ~9 X0 Y2 D2 n- [! o- j+ r }
5 r! M/ t8 H7 @) e+ @( { if(0 == length)/ P# E. y+ h! ~: C; Y5 `8 b [* Q; j
{4 y0 A- P+ T2 J2 {8 ~
// 禁用发送中断5 a: H/ Z4 J6 {, ?& @; V; [. }
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
3 T. Y. V/ | W: z9 f1 D9 Q }
b, W/ K; r8 F1 Q }5 w' U/ y- W& f# g q& y
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|