|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问& F2 q, b& q) ?2 b2 A0 U
1.。DSP解算出来的数据是存在哪里?/ e- O* R+ n7 Q0 X
2.。在例程中有这段代码:0 s) g4 v) y5 N* [
unsigned int int_id = 0;6 S/ a+ t: y9 J5 e$ V
& ?! D" h* ^" |- p# C \( r9 a // 确定中断源
( u, m. `+ U" m+ z% M3 V int_id = UARTIntStatus(SOC_UART_2_REGS);" A* u9 n0 b- b: h
) Y. e9 o1 [6 S; a0 w
// 清除 UART2 系统中断
, _: |$ F* V+ M( \: t0 | IntSystemStatusClear(SYS_INT_UARTINT2);
: G% Q" s2 j6 O% i& J. K) T3 m! R) z
- n' J: ~. P* k // 发送中断: F- \- O# N: [
if(UART_INTID_TX_EMPTY == int_id)
" O' p5 C1 _" ~ {- R8 r5 W. V$ X$ `) Y1 e" I O
if(0 < length)
' e3 [1 w% P: @ {1 o( S* A4 v* w
// 写一个字节到 THR# t( \( V/ J, B3 ]7 A
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);& C2 ~+ {6 B L, p+ \+ K
length--;8 C! ?/ z: \! o* [" Y& j7 ^
count++;) i+ Y7 E, y. `. S& ]9 s2 r
}7 ?; S0 G. J9 ]* M: U+ J
if(0 == length)
- s3 A5 j( w/ w* i2 e2 }* F {
7 @5 }# c; T2 ~* R/ z' J7 l$ y/ u6 J. |% K // 禁用发送中断 ~3 `1 e/ P/ x2 A! x" _4 C
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
$ Z- A Z9 o/ j* y- e1 {5 j }
& b$ j- {5 K: Q; g% {! e/ Q }
& l7 F/ r# f# ~+ d* g, |, N( T; M7 z我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|