|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问7 ?5 J" [' P! W( i: o: Z2 l
1.。DSP解算出来的数据是存在哪里?
8 Y9 q9 [0 J# A( ? v) {4 S2.。在例程中有这段代码:5 F3 ] U4 j& v. t* B1 E/ d
unsigned int int_id = 0;
: n. N! ]! b6 b1 a9 [9 f( O6 _( H; ~5 d
// 确定中断源* V1 q% a# Y$ x
int_id = UARTIntStatus(SOC_UART_2_REGS);, B- _, h5 k! s8 e) b, j+ j4 }
- {* ]; }% O2 |' p+ G9 @
// 清除 UART2 系统中断
, P. C! t! W# ?1 G# B# t5 P2 w1 m* e IntSystemStatusClear(SYS_INT_UARTINT2);0 h# X# x; d' ]- \# q o# `
) }$ e% F0 i* G
// 发送中断
" N; t% p9 W1 n if(UART_INTID_TX_EMPTY == int_id)
3 M' G& G l3 m1 l3 k; F {) `! J$ y0 a6 {- r4 q
if(0 < length)( e. y! X. M$ I. k8 Q- U( a a
{- o4 `0 n. \1 r, a4 J0 P$ ~6 n
// 写一个字节到 THR
# k5 J2 |# z5 Z" S$ x UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);. M% \+ d/ |( v- T! {- b
length--;9 _8 A0 l% i; |3 c0 k3 f+ _+ i
count++;
M4 @5 Y- f6 [) z# }/ w) H% q8 ]/ ` }' O* D! k) B0 A
if(0 == length)
1 p5 i' p$ X* h2 j X {2 a# u2 |5 y) ~1 o8 t+ V1 X' k
// 禁用发送中断
6 I2 H* f5 q4 @7 r7 |! z1 d X UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
/ y* j* h& u2 \6 u. B6 A# p& q }
9 ?4 f3 j& b% z }
/ V A! O4 m) j0 o# s我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|