|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
/ C( l+ T- _$ q, [& R, f1.。DSP解算出来的数据是存在哪里?1 Q1 I% \3 Z: l" a
2.。在例程中有这段代码:
1 ]2 @' w y0 x) G% W% z8 z5 a unsigned int int_id = 0;
$ _9 w, C0 \. }+ s/ X+ C4 G$ t: ]- F( f7 e2 h5 N
// 确定中断源* m* X$ k0 ^+ D
int_id = UARTIntStatus(SOC_UART_2_REGS);! D( | W( X+ t+ |
) Q0 }1 a s1 F1 F" G( b* {
// 清除 UART2 系统中断
% A$ w+ R' l4 ?+ Q6 \ IntSystemStatusClear(SYS_INT_UARTINT2);
4 a" |/ X! A6 _* M& v7 D3 r$ |6 T3 P7 `) }7 {5 `- g! A
// 发送中断
, m3 a* o* H' V5 \. S! b/ V/ v' t Y if(UART_INTID_TX_EMPTY == int_id)
. {8 b' {6 v% r* G& O {! r% S. b' P' |4 c4 t: Q8 Q( g* r
if(0 < length)2 I7 n# F7 `" |6 `9 {
{
* G: a4 P; d5 Q // 写一个字节到 THR
1 S! I; O$ k3 {$ t) N q/ k UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
& J) n& A; q* s length--;
0 M- P$ c# Y1 w/ N o* ]/ d. } count++;
7 @' s% F" S& ~8 K } z/ ?8 C. y6 u
if(0 == length)' o* i% M( E/ A( _5 \# e& ~
{
$ C! L0 u( Z& [1 c // 禁用发送中断
6 O7 X* z: ~7 L n5 W+ A9 m' z UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);1 t$ H0 j; I; S6 t
} g3 b) }) F- T' H& ~2 l; i
}8 W, p( m: D: w: b, G# h
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|