|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
) @4 V+ n3 {( h5 {3 f. ~1.。DSP解算出来的数据是存在哪里?2 A$ ~. U K$ x4 ?' v) p2 i
2.。在例程中有这段代码:5 D8 `+ f; b, c5 F) H# x' ^- g
unsigned int int_id = 0;; W1 j0 `; L9 K5 s
! E$ Q+ ~+ l5 [( I( |
// 确定中断源
6 i0 M' ]7 D3 m5 E8 h int_id = UARTIntStatus(SOC_UART_2_REGS);4 z& j3 c& Z! W) {: D# u; j. ~
: _+ j1 o W5 }9 S
// 清除 UART2 系统中断- t* Q# K6 v4 |. J& p1 T Z
IntSystemStatusClear(SYS_INT_UARTINT2);0 j& o8 t2 d* m& U7 z; ^
" H+ y+ p+ c4 N! w: |
// 发送中断# Y2 e" a- m" h/ D! b
if(UART_INTID_TX_EMPTY == int_id)
) t1 m: V# [! M5 w. {# [ {
+ D4 m# ~- P* n6 g1 Z. N5 ? k c4 Y if(0 < length)
$ {6 N9 E, I; e {
- _% c* n- v# @9 @+ ]7 [ // 写一个字节到 THR
$ ?9 B1 |7 I1 P, B7 H+ B0 u- {: v UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
1 [8 ]% I: I0 }7 w! w/ X( K length--;
: R+ m4 w+ L0 i' F3 |4 F. V) \ count++;
6 f- `! s" m2 K4 O( C' C }
Z5 O: ]5 j: b8 m1 O9 Y2 e if(0 == length)4 S! K5 G4 j" ]7 ^9 R# G1 I. ?
{8 X7 k' ] n- c6 C# g- |8 w+ _
// 禁用发送中断# L" I0 T1 j6 a3 I4 o2 x: s1 I
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
6 ]( M# Q3 ]7 C p* a' N }: H P! n, {: Q. g; K0 |1 x
}
8 ~ `8 ~" v: ?+ k! G6 w+ h我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|