|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
' P, u. d6 J1 g; l3 f! U# v2 u1.。DSP解算出来的数据是存在哪里?
, Y& G4 }6 k/ E! V; t) {# H2.。在例程中有这段代码:: h/ B) ~ \+ M+ F
unsigned int int_id = 0;
7 f6 z( s# p8 y2 v6 A) r: \( L9 V \9 Q. N# f( T4 W; O
// 确定中断源
& C& R- a: D4 E* C int_id = UARTIntStatus(SOC_UART_2_REGS);3 Y6 _2 [0 B W. Y/ D" ]
% ?8 A7 p9 M; l: v
// 清除 UART2 系统中断3 v4 `9 x+ g8 E+ s" J
IntSystemStatusClear(SYS_INT_UARTINT2);
; [9 J$ k" G8 X# Q
4 i7 E( Y2 A) M- a: l* f" i // 发送中断- q6 i5 g- t: t8 R# _4 j+ X: D. C B
if(UART_INTID_TX_EMPTY == int_id)1 z( Z+ x" D/ S" T: x
{& K: p' C' W9 D( W
if(0 < length)$ Z ]; e. C% i# r
{3 N( f. H# [% G1 I
// 写一个字节到 THR
; Y$ j* X9 T* `( g n7 ? UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);! [# T2 G% S% ~2 s2 ^6 M9 v! u
length--;
$ `: D: B9 L1 M count++;
0 Z! m3 |% M* \9 u7 s }' q" w0 _, ?. F. q4 b1 R ?
if(0 == length)& f" c+ M m: K
{; }- p: r3 V9 _, |. V- w2 ^
// 禁用发送中断
1 A# J h0 _$ O8 l* K: E9 ~- I UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);+ q' ~, _: l) j8 x9 n: `) j
}! K; I9 {3 L* z8 X
}( Y) {8 e1 n, L5 l: |- @( n
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|