|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问+ O! Q& W+ P/ R( d
1.。DSP解算出来的数据是存在哪里?, O k4 @% b% N: s, _- h
2.。在例程中有这段代码:* c! M6 W" O: j
unsigned int int_id = 0;
0 A$ K4 a$ ?' r" `/ Z" q: U/ U h: w) I
// 确定中断源
" C1 R0 y# m9 H. K0 {* p" G int_id = UARTIntStatus(SOC_UART_2_REGS);: e2 ~/ H, Y9 N& J" n; ~# ~ o
0 P$ D. z) E J // 清除 UART2 系统中断6 W8 w4 t- ~8 C0 K3 i3 q7 X
IntSystemStatusClear(SYS_INT_UARTINT2);
8 g7 z( A7 a. `$ c% ^4 r. ^$ S; K6 i7 V6 X
// 发送中断; D" p& I/ {. x# R6 b, n5 `
if(UART_INTID_TX_EMPTY == int_id)0 T8 c* ]7 J& H0 h- R; I2 t
{
5 I) n7 F+ z, U( E) ^1 g1 U; O if(0 < length)
9 n6 x' d9 u8 K) ~0 I {, j5 i/ N4 n) y" G; l
// 写一个字节到 THR8 \* N# o, N* P. k2 z# r* |) X
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);9 ]& u; ?! a2 B3 W& l( Q
length--;
" x6 H9 W6 o5 U$ d* C* ?* @( l. t count++;) N& n& ?" z% N* O4 q7 K
}
" L& V( z8 B( P1 T6 K. y if(0 == length)2 h0 K8 {" P# q4 Y! k, X5 I/ |, W
{
# i8 n3 N) A5 e/ V2 f- W // 禁用发送中断/ e- d5 B3 J8 J! n. W
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);1 K- J# l' f0 V6 e' L
}' @) y8 B8 n2 d0 C9 ~) ?: a
}# c \, R' C0 A# Q, }- O
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|