|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
/ r! Y9 K9 s* B/ D) G( `1.。DSP解算出来的数据是存在哪里?7 o) i: B# H9 E, }" ~: N
2.。在例程中有这段代码:
4 V7 Y) n6 e* I$ l' K unsigned int int_id = 0;
! I+ R/ W. w! c
: S: M' j) ]- R! P. D/ ]1 o1 M // 确定中断源
9 [6 K9 F) @; a4 m int_id = UARTIntStatus(SOC_UART_2_REGS);( S- T$ ?& m7 V" p5 o
+ K G8 y- c: w
// 清除 UART2 系统中断
$ v( M: g) T* Q6 b1 c* X/ ]: M IntSystemStatusClear(SYS_INT_UARTINT2);3 T& H; h* C2 K0 ^
! J- m$ t/ R1 H: }: h // 发送中断$ s7 o& d! r# d
if(UART_INTID_TX_EMPTY == int_id)
; F* w+ {! ` |7 X" V8 ] {& C( c8 v0 w; u8 J- w& e
if(0 < length)
/ s6 ?5 J- {$ u. [$ F7 J {2 m- T6 D1 d/ [) U" z
// 写一个字节到 THR8 [2 l/ J8 h- N
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
1 U; ~9 J+ }2 I7 \3 R5 D4 q2 Z length--;8 f/ X# ?" }4 `$ L+ s1 A+ t" o
count++;
+ x i/ K. j4 ^9 B }
) B0 P7 U& C; I9 T& E8 Q if(0 == length)
- ]5 Z0 S0 L( K {: b4 Y( a+ X# r4 ~# F: S
// 禁用发送中断8 n1 i( n0 f6 w) \1 _
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);1 q; M! p6 U1 U2 d9 \5 p
}
; ~5 _9 \. w0 ^3 ]% P }
3 x M$ N; O% L$ Q F" P, \我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|