|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问3 j7 m( d" c$ f
1.。DSP解算出来的数据是存在哪里?# T' {; ]$ a b7 D3 b9 y. ]
2.。在例程中有这段代码:" B- B9 J2 R% ?" }1 p: T
unsigned int int_id = 0;
; ]- V0 x2 ]$ b& K+ |' t: ?- m! n- P7 p
// 确定中断源. v! D, r1 r$ \5 Y7 ]
int_id = UARTIntStatus(SOC_UART_2_REGS);9 S- D$ I( `& R. p* G/ k- x" z6 H
: K: O# ^1 v% J, B# X0 x
// 清除 UART2 系统中断6 K7 X' R% `1 C2 ~4 \, ^7 q
IntSystemStatusClear(SYS_INT_UARTINT2);$ p) _2 [4 Q$ U. {2 \% `8 ~
5 g8 e6 W+ N4 U5 X. V // 发送中断5 ^, I" D4 }& c: {& \- ^$ y) J6 G
if(UART_INTID_TX_EMPTY == int_id)
5 G% {3 K( z' r& Y: m+ a* l {
4 ]/ L0 m% `6 P& N8 n if(0 < length)5 e0 r" I/ e( U0 r& L* M; j1 { ]
{
/ g2 P7 a. U- K // 写一个字节到 THR; T A }+ `: `' T* n$ d
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);- t; R& ^+ t0 e- P. p8 u1 n7 P3 g3 p
length--;
) r5 |3 n5 o& Y/ L7 j5 S count++;, B: X( k9 Y( W- l2 d+ H
}
' ?+ B# ?$ L1 R9 n if(0 == length)
0 k! |, ~9 e# z& S: s$ L( F, e, e {
$ {% s$ o c5 F2 ^& ]- Q // 禁用发送中断, z2 D4 o# m% K! x4 s! X" v
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);; |* o/ H5 J$ y/ b( _
}
* w: ^9 l9 ]+ i. O$ g* j; |$ e- e }- T1 A; |/ S7 p3 {8 B9 H
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|