|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问3 C% ^: R+ q+ g/ ?' v o ?) Z
1.。DSP解算出来的数据是存在哪里?
1 Z5 D2 I, y' }2.。在例程中有这段代码:5 T& d# y4 i3 J) g) b3 w
unsigned int int_id = 0;4 R( z9 O7 j! }
8 I& @, w; W* _2 c
// 确定中断源
' \* P: U% t s3 f I0 Z! h& R% z; S int_id = UARTIntStatus(SOC_UART_2_REGS);* R& g1 Z2 Y: p& [; i
0 b e& B& L# f h) f
// 清除 UART2 系统中断+ _" M/ ?! {0 X; {, S# E* s
IntSystemStatusClear(SYS_INT_UARTINT2);8 _0 o l6 t* q2 S1 u
) y( s9 ]* v# n- f$ r5 ^3 d+ Q8 z$ G
// 发送中断
/ b1 f% S! i* s& G& Y* ] if(UART_INTID_TX_EMPTY == int_id)
! c, i+ h0 p+ D: J {
. S( ?9 D+ u4 @/ o7 n* _6 }& _! @ if(0 < length)
9 t( F+ \' c, e; Q* M {
4 ^( g+ T* R# ~2 K- T // 写一个字节到 THR
A, ?0 {+ T- N: ]+ P( E) A UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
4 T" V }' Z! g9 |9 J. L; m- C length--;
, {! I% R# n8 ?2 s+ k count++;
& x" \0 J7 i2 e, n: E }
0 m R. Q. p8 W* l. Y; N if(0 == length)
" W# t8 D% A& U& _3 k* K {
- V3 p T1 F& d4 [6 D; M! }2 O% g // 禁用发送中断+ ]4 W: J4 O( v
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);# x- ~% {7 |; G" G! |* C4 i
}& m- X' |' ?* k$ s# p. }
}$ x* Z! B$ b, W6 ?3 |. B4 v% O
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|