|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
" h- M- w1 C( ]1 ~ {1.。DSP解算出来的数据是存在哪里? L1 U% ]+ j- q& e
2.。在例程中有这段代码:/ g7 o6 I& Q; y' C6 w
unsigned int int_id = 0;
. i, x1 F& u9 M8 m/ c2 _4 a. J9 V4 B, w" F! x
// 确定中断源
1 W6 I, w& d) i int_id = UARTIntStatus(SOC_UART_2_REGS);5 n" r; d! T8 z: A7 _
1 [0 ~4 M- T+ |/ P" V4 W // 清除 UART2 系统中断7 B: h5 Y0 k/ \; H+ S0 S
IntSystemStatusClear(SYS_INT_UARTINT2);
+ P* W! Y4 N" e0 _1 v" G& j* P8 k6 q& T6 V
// 发送中断- W. k: E) M% K8 u* f1 `
if(UART_INTID_TX_EMPTY == int_id)
1 ?/ c6 ~" ~2 c3 r5 Q% {. d! e {. ?9 Z& A( R8 @6 }7 `
if(0 < length)
5 `% ], A6 I' E& \; o4 I* |% u {
+ l- [) W' T) ]8 _8 E$ W // 写一个字节到 THR# m( o6 w$ X4 @( o# ~6 _- l
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
7 [# b9 Q5 \) t length--;3 m0 c& g0 `$ `3 w4 G
count++;
6 z# j' ~7 I' F+ U# _! k! d }
) e( u, l- _0 H. F9 L if(0 == length)
! ?/ x9 W! i, T( Y2 | {
9 k# M; { x Y. u // 禁用发送中断7 {8 j9 h/ x5 q& L0 A: E! d
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
! R) K7 @' R* h+ h2 ^9 Z }2 l7 |- A0 q: K: J
}
3 c; g. h4 V/ b6 r0 O# Z& X我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|