|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问: h) M2 Z5 K- }/ Y, ^
1.。DSP解算出来的数据是存在哪里?
, @- z$ |+ Z6 j6 S/ r# t* {8 e2.。在例程中有这段代码:
4 R" `: p4 F, }% R! y' X1 m unsigned int int_id = 0;
0 B2 Q6 m" D3 H; n/ _: Z
: a3 j8 [- [6 k! I u# ^ // 确定中断源6 Q H$ b; [" y2 O
int_id = UARTIntStatus(SOC_UART_2_REGS);: x# h6 c, H' m1 G
6 h0 n9 F4 x8 W
// 清除 UART2 系统中断, u0 i ]4 M, I' ~% L3 p
IntSystemStatusClear(SYS_INT_UARTINT2);
' H. N( J- `4 ]2 s, c, w* k" w" V8 f9 |
// 发送中断
6 P' z- m5 ?0 G: K5 b if(UART_INTID_TX_EMPTY == int_id)
8 O1 h3 b1 v8 q, d2 _ {0 F1 j% N' x$ D7 b2 Z
if(0 < length)4 P* D+ G W5 G2 o
{
) ?2 Y! `" m0 ~0 V // 写一个字节到 THR* ?' f+ \( h& G0 Y2 S. |% f
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);1 ^. d( p, @, g7 L4 v/ {" {
length--;
# D- Y2 [5 V0 H6 e& ^4 m4 w count++;8 Q8 L1 L( r0 g- P- E' F
}+ ]8 M |) m8 [- Q: r7 C5 B4 K: k
if(0 == length) s8 `( P- E) }5 A4 _3 q, E
{; I5 Q0 y* T# W/ Q: [8 Q1 K# {1 `+ D
// 禁用发送中断4 ]. E7 s" R& J# k' x7 P, i
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
' m4 m4 ?# u8 t }: I+ Z( ]$ ]( G- w2 e
}
" ^7 ~6 d, n2 H+ c4 e. F2 s/ }我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|