|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
) [, S! `( \! J# d$ ~1.。DSP解算出来的数据是存在哪里?
: ?# ?: ]4 i5 F! u, e2 e2.。在例程中有这段代码:
* e1 B4 Z* b, g5 c unsigned int int_id = 0;
) k1 E M3 {7 B+ n' y: X1 y4 A+ ]4 W' o1 |9 }# Q# d) t
// 确定中断源9 H v$ R9 R9 V; C1 A9 O& P9 @
int_id = UARTIntStatus(SOC_UART_2_REGS);1 a) s+ n, p R
( f' g# C7 x$ b( y( M
// 清除 UART2 系统中断0 [. e N. ?( u5 W& \
IntSystemStatusClear(SYS_INT_UARTINT2);! u3 G: Y1 N* [) e
5 I( ~ e; |; ? Y // 发送中断
$ E! u& G1 o$ F/ x, G if(UART_INTID_TX_EMPTY == int_id)( _% x, b0 ?" B: b6 [) p) Z- E
{
: J+ Q% P1 w8 F# B if(0 < length)
# O7 J$ |) Y+ U' d/ E# C {
, G# O+ O/ n* z0 c$ A% I // 写一个字节到 THR: B0 t& i& P% x+ i$ `% {9 w
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);1 x, F7 B0 Z5 y$ ~& n0 n; e: j
length--;
! i6 @, Y5 G- z7 ~9 x- o! x% r count++;1 b* e6 x% b; A) t& ~
}- Z3 K( X2 D; a1 \ V3 w! |& K
if(0 == length)
) o% Q/ ]/ W* m( Q {
4 o& f( P% J8 ~2 q$ C // 禁用发送中断
& P& {: |! e% V( h UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);6 D! v+ |5 I% h
}* D3 K/ U* q6 ]" U
}7 h- ]1 w3 s# z0 u5 q3 k# }
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|