|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问8 s3 l2 U* g/ s: V( V, V
1.。DSP解算出来的数据是存在哪里?
- X+ v+ J8 w2 {4 H6 `# m2.。在例程中有这段代码:
/ [; {7 F' W8 H0 ] unsigned int int_id = 0;
+ Q; ]- O# V8 }7 j# e8 b* J
4 z7 I& g+ G8 p1 K. M5 T( F // 确定中断源* X* B! Z. N! r& a( J" e: H
int_id = UARTIntStatus(SOC_UART_2_REGS);
; h5 X( Y" R2 y! s" b- F
; ~8 t) H S) e( n) C2 v1 { // 清除 UART2 系统中断: {9 h9 {& i: _+ }6 q6 r3 n; i
IntSystemStatusClear(SYS_INT_UARTINT2);8 u& W5 ~4 h X
, J2 X& t8 D( E
// 发送中断
( q* L$ {2 t# k/ `. @/ d if(UART_INTID_TX_EMPTY == int_id)
% F9 a" Q& M& _* s! u9 U% o {6 F7 ?9 e3 N* A& a& w# b( k3 b
if(0 < length)
5 [7 U# _+ a/ Y* U ?; S {
, _9 s5 j7 q4 r" H7 c1 C- P5 T // 写一个字节到 THR, g8 |' ?+ z' b0 V
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);5 n: M% j* k4 d9 o } `2 x0 q3 |
length--;
: |' v, ~6 ?- ?5 _ count++;
/ ^2 ^8 ~. Q: u& E+ L- g6 \ }
; f$ n) E2 M0 {4 e4 o. d/ i/ P if(0 == length)
0 |! G& W; \+ }5 l; u% m$ _ {
* O8 b' r7 r% l% E // 禁用发送中断
# E* N) E" Y1 V( q UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);3 x L1 w, T) b9 L! [; Q# I- L
}
- J; ?9 d7 ?3 C9 s! g; Y }( O2 H, d$ i' Z# g' i0 s
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|