|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问2 f/ a) C" n g. y: D R8 d9 | ^1 s
1.。DSP解算出来的数据是存在哪里?1 U% Z# R9 L( q" M( R9 t
2.。在例程中有这段代码:
# o; ?: R# W' A5 M7 M7 h unsigned int int_id = 0;
5 e2 k$ S0 [% B/ j4 e7 _8 B; G2 h# L$ x9 i4 H2 Y1 @3 f
// 确定中断源
" l! T# t0 i1 o- i9 f int_id = UARTIntStatus(SOC_UART_2_REGS);6 U1 Q7 E- }" _- Q
P7 [; Q! `0 A( ^3 e
// 清除 UART2 系统中断
1 C& R* [( W8 O8 R IntSystemStatusClear(SYS_INT_UARTINT2);. n6 ~8 J, w2 M
0 w. k& A2 \+ [1 U! B. j
// 发送中断
9 {' f' E" V+ z! K8 o" a- } if(UART_INTID_TX_EMPTY == int_id)
9 |, U8 f! o& _ {, U; ?! H4 x5 N* }' I7 H3 d
if(0 < length)9 R6 c# @/ D* f* Q" b
{* M, o7 D" G" n3 p& t% M, n
// 写一个字节到 THR
' A! @; g! B- C8 A q$ ^ UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
1 R7 I0 M" ^* z; J0 v# r length--;0 L: M5 E' s5 `. Y' ^. e
count++;
$ T7 G' \& m: r% x4 r/ B& Q }
# [7 d3 u+ [" X( H2 l if(0 == length)
3 r2 g! l0 W6 k {
, m6 s, O$ x1 n5 h2 y6 N // 禁用发送中断 H" H8 c& w% W8 l( t/ k
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
: s- ]( r+ A& | }! b2 t @# j+ V& c# a' j$ |1 Z
}" s# Q4 d1 \, f0 g6 M
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|