|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问9 a6 b( F" X" R2 T
1.。DSP解算出来的数据是存在哪里?1 d2 I" j3 C H7 v
2.。在例程中有这段代码:
7 [6 k* M7 D ^ i5 b2 o' I( E unsigned int int_id = 0;
! K: {' j* f4 r2 W% y& I
- v: I/ J) U8 ]2 J // 确定中断源& I O3 |, N+ b
int_id = UARTIntStatus(SOC_UART_2_REGS);
+ L! I" F7 K6 w" e& O+ @$ N3 W. _0 ]
// 清除 UART2 系统中断2 N5 f# f8 S7 |7 n \+ i
IntSystemStatusClear(SYS_INT_UARTINT2); A0 j+ A$ m; t K/ T0 C6 D
1 |+ Z/ o) e" B // 发送中断
7 r" N4 p; w$ X2 q4 A8 K4 O if(UART_INTID_TX_EMPTY == int_id)& ~4 m$ ~7 r+ u, |6 T
{
% j' J' x5 s4 w( {9 D5 l if(0 < length). `! t6 V1 p9 |9 X. B/ M$ y
{: h( K. h, F" Y7 V$ [, L! R
// 写一个字节到 THR
9 H3 E) B1 Z: E UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);0 K" m! F; Y6 @* M8 Y: a) B h
length--;
7 ]% O# ^. i9 t4 }4 Q count++;
# D2 s# ^# q' E i }
) @, b9 ~! q# m% q if(0 == length)9 v) @/ F5 b, }0 `3 v8 g# F
{& i& ~- s' u8 `/ i) Y& _' V, V; f
// 禁用发送中断( b/ P; T2 ^# K p
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);1 T6 U2 U1 {6 D. ]2 l! h4 X% U3 T
}
( [! Z! k! \6 a& v, J! G; m }
' h9 F3 a/ x/ O0 z+ ^! I" v0 u( y我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|