|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问! e* V6 I& s) W6 K) S0 q
1.。DSP解算出来的数据是存在哪里?
' ]( }0 u# J% q. g, I6 C2.。在例程中有这段代码:
& e8 J1 p: I8 a6 G& W* j! n unsigned int int_id = 0;
0 T# S* j3 l* |. p( v& n2 D8 Q$ h" I7 l& V
// 确定中断源8 q) \8 Q& |( E6 \
int_id = UARTIntStatus(SOC_UART_2_REGS);
0 ^: [ D( |7 `
, ?! j) r- K, J% W1 x* A J // 清除 UART2 系统中断1 \: U! [/ u% Z1 ]4 K* }3 t. G
IntSystemStatusClear(SYS_INT_UARTINT2);) p4 V: ]$ J2 X% K
$ w5 g' A% C$ a% M/ \ // 发送中断' l& L/ c6 E' B! c2 C1 i
if(UART_INTID_TX_EMPTY == int_id)
3 l! R( p- R1 \ {
! C" g9 {) ]& J7 g' c( O: o: J! @ if(0 < length)
+ h% V: c5 B* w* j6 y q4 G2 N {
]- N, @* |. J1 ~2 I // 写一个字节到 THR
m! U% I4 R- F" e$ F# l UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
' T: u% \9 r" x+ w length--;
0 Q2 s7 J0 g' y3 E8 N4 S count++;
9 I2 ?/ v' ?2 U$ G" i" f3 j {/ U/ r }
# k1 g8 B1 }6 ^. f2 s; N" A if(0 == length)
/ E1 M* z( P& R {9 Y q. M% o6 d' q: L, w
// 禁用发送中断
5 l" L5 z: u6 F% v2 F' y$ M/ p UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
# D0 F' P5 v$ {# L2 M( D) F% h }: B$ G( n7 X8 v; a. i4 j3 P' B
}
5 J0 ~% K" t$ S# ^0 a( V' k& r/ P: n我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|