|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
2 D' H1 l/ j, K- p1.。DSP解算出来的数据是存在哪里?
9 [4 H; h$ H: b0 D( i' v/ F2.。在例程中有这段代码:9 n( l! X9 p1 s) J$ ~
unsigned int int_id = 0;
8 _/ Y& ]% ^. {5 p, a! v
% T- d+ \; f+ h // 确定中断源: P) O- I$ [. m' u) Y7 @& I- a
int_id = UARTIntStatus(SOC_UART_2_REGS);; T4 E$ m+ m; J' k5 n
% p" G3 w! A* G3 P // 清除 UART2 系统中断
2 ^3 l/ c3 J( v* ]" Y2 a2 y IntSystemStatusClear(SYS_INT_UARTINT2);) V. U; C- w0 z& K$ ~2 f' Q& |
: j2 X5 u8 c) ? // 发送中断
9 v! W5 i. |; |6 B" ~ if(UART_INTID_TX_EMPTY == int_id)& s/ v( t6 r; b: ]% s( c( H
{
4 f! ?) f0 l, W" x- o3 I" m7 Z if(0 < length)- X6 n- w x: m5 J
{2 S% X/ |# w5 K) u/ N, m
// 写一个字节到 THR
8 [/ t% m# O1 m { UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);$ Z; [* J6 x/ u: p8 M
length--;
3 C3 W. g% ^6 E9 B7 Z* z4 u* N count++;
' n7 E$ ~; |6 t7 n }
; l) x- P J# A if(0 == length)
$ x9 s. {- @; a# ^1 F2 W7 u( J: w Q {9 J0 N8 r8 u( g7 o' y8 s" `! H5 o
// 禁用发送中断
9 Z# e4 f: _$ C( U; {: o1 L, o UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);3 y o5 X! { f
}- L: I8 T$ a$ J# f' U5 @8 A' c) l
}# w% t' g# l+ O8 n1 ?
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|