|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
5 _5 }7 R- T, l- q& g4 L8 p @) ]1.。DSP解算出来的数据是存在哪里?- n* i( z! l" G; q/ N
2.。在例程中有这段代码:
' X- E0 G! M# [9 i. a6 X; v' n unsigned int int_id = 0;1 m; \2 F- G1 U/ u( ?; e
5 [& a% I1 G; p T* X E# T' \ // 确定中断源
& j" Y) l2 u3 o- t, Z2 n int_id = UARTIntStatus(SOC_UART_2_REGS);4 ?" e. e! d9 i, l
1 k! [, e6 k# \
// 清除 UART2 系统中断' P( K" j0 W$ ]. u8 j
IntSystemStatusClear(SYS_INT_UARTINT2);5 u1 K' j# o& M% k( Q* P
5 z# |# c) v2 c/ y. k& A3 t% V% V- q // 发送中断
1 s, ?* R5 \8 V5 b' v$ t if(UART_INTID_TX_EMPTY == int_id)
7 `& ] `- v2 ~% W" _ i {
3 g: |' m4 w m) [' q* z* s! p if(0 < length)
) a# f4 V' F# ?5 ^ {$ L1 D3 y" v, `0 N* J
// 写一个字节到 THR4 Q5 d4 ] @+ q! \0 F7 U- U
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
6 p* }! @9 k2 P$ `* R5 ? length--;& K8 R2 R, @( h
count++;/ G7 }1 g! p* h+ P/ |+ W
}
, A& q& o/ m0 K) C- e0 m; o% W( u if(0 == length): {9 b% E& g- |' P3 m: ]
{
5 ^+ u' y+ y3 ^ // 禁用发送中断9 A$ `$ s! g9 s! {
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);1 ^/ h- R) m ~; D7 A8 E7 \
}
+ X# n7 i T2 P' V1 M- @" H }
8 J6 z* \6 M& ^0 B我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|