|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问) d) t( E3 d+ h# J) b
1.。DSP解算出来的数据是存在哪里?
$ s( C' p" N, K3 o7 m# K9 G2.。在例程中有这段代码:8 @2 \/ s' R( \
unsigned int int_id = 0;9 l }6 J7 ]1 x( J8 g. I5 u
- s" t& i. z, l; {& N // 确定中断源
6 G( j# I& h/ j3 D9 h" z& @' z int_id = UARTIntStatus(SOC_UART_2_REGS);* v- l" a# I+ P5 ]
; u" ?. y" x3 a* `% S
// 清除 UART2 系统中断
" V6 ~- b% F9 v0 Z; T. w0 U IntSystemStatusClear(SYS_INT_UARTINT2);( z5 P/ \, m# ~" s- k3 l/ t, o5 r* ~
6 O2 j+ Z9 R v: L, ^" A$ T
// 发送中断1 ?. P1 h3 Y* p( R
if(UART_INTID_TX_EMPTY == int_id)
$ ~# I$ K( x# A `4 _3 F& i9 X {$ D S9 ~1 a$ \ B
if(0 < length)
* n9 M( {+ f5 \ o {
6 } s4 r; D6 B; g0 m$ c // 写一个字节到 THR
" g+ X& m# \- o2 |! E8 N8 e( L UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);1 T1 h$ ?; T' o, @
length--;- `7 @$ U2 \' o* \+ @ x
count++;
. u( K+ ?3 R( Z# t' k/ B } v; i" x" D) I4 @1 k' s5 s
if(0 == length)
& E" y/ Q. A; @1 e7 x L {( a: C+ a' N2 s. F
// 禁用发送中断
2 ^# l9 K% J W* Y, F UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
) r- ~1 f$ d* l1 r& v" t2 g }
9 Q) x8 q7 i ?0 j8 O: W9 J }! G% R* `- d k% K* `) Z! R
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|