|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问0 ~. Z, H4 J9 o, w/ l+ Y
1.。DSP解算出来的数据是存在哪里?7 l- q4 ~% ?+ o |# C. S
2.。在例程中有这段代码:) t4 ^7 s x5 ? ]. E7 g
unsigned int int_id = 0;
) O: j+ d' A% u. v- d: ~( z' c- X0 \- h! U4 l) F1 n
// 确定中断源
1 h, {- q' Q$ j& G int_id = UARTIntStatus(SOC_UART_2_REGS);0 Q4 ]/ c0 ]. e- E! T7 x, @
6 {& m7 n) c9 f+ k Z
// 清除 UART2 系统中断; p* ^3 a% }* D
IntSystemStatusClear(SYS_INT_UARTINT2);3 I& ?. z" ]& j
8 p- o; A( D/ H& o
// 发送中断2 k, g0 r/ N1 c0 A. a, n
if(UART_INTID_TX_EMPTY == int_id)
4 ^$ z t: P* f6 e* E {
/ ?; _2 q. X6 i! _ if(0 < length)0 x0 N h0 l9 X! A$ n
{6 p( n( z' a% H; B" S* U/ d
// 写一个字节到 THR0 L" o$ @9 a4 T: z5 E
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);9 j1 F( _0 N; X% w. K, q7 h
length--;9 o, |( ~. m, h, ?1 [* C# l: U
count++;' t" w( x! s; O% Z- e. P
}2 ^! z: [6 W, L. Q2 E. y9 [) l
if(0 == length)7 Q! m! H2 r4 e$ W9 Z8 y& u1 ^
{
6 P1 e& Y5 ^: t: x // 禁用发送中断- S) n# @% k# m8 L+ X$ |
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);5 Q8 \; k% t7 J( R4 @! @, o
}
7 V) P# w: F6 W# R }1 X1 |- B$ h2 z; z d9 k- K" F
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|