|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
9 O+ a! k' `4 h5 {, F4 Q3 f' O- P1.。DSP解算出来的数据是存在哪里?
b# m& o/ W" W8 p5 ?- e2.。在例程中有这段代码:
1 I6 ?8 ^% O% Q0 r1 d unsigned int int_id = 0;5 H# h' Q* `8 H, S
8 u. E. y* ]! ]8 s9 z // 确定中断源
* f$ ^6 Q7 }- u6 }$ { v# n int_id = UARTIntStatus(SOC_UART_2_REGS);
- l- B" [; Y2 @- X# {
* R7 l. i# a# W, D // 清除 UART2 系统中断
( d4 ^/ v* @+ X8 ]) i. g IntSystemStatusClear(SYS_INT_UARTINT2);
& c2 }7 `, y) E; |! j5 g( ?6 I7 A; \) M+ t: }; N' g; k
// 发送中断" _0 T+ r) r% ^+ \5 t" c8 m
if(UART_INTID_TX_EMPTY == int_id)* G8 |8 y1 |/ x, ]! @. ?
{+ [0 z9 k2 N- G# D( Q; [$ d
if(0 < length): n( ?# F7 o" f' B. ]
{
0 r8 ^( L) L7 K& |/ t3 I // 写一个字节到 THR, J- {- t; a7 G5 m Q& t5 `; ?
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);2 d, C, ]# P6 T Z2 G
length--; C3 }0 B3 r" R5 ?7 \* G
count++;
/ n' A5 @3 h" S: E }; |. S, O& Z/ A2 X6 P* D( V: b
if(0 == length) S) x9 N- T6 B5 k& M
{
$ s8 T6 g% F% J- Q* T. @# Q' j // 禁用发送中断7 }' e+ l# X6 b I
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);) k' R4 G E/ M0 H5 e) N" ^% ?' \
}) s" d+ p- _$ g' F) L7 Z; p
}
; K, X7 i' N2 T' K5 m我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|