|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
! U, z6 s1 T% Q' M, ?9 x0 x% M7 Y* s1.。DSP解算出来的数据是存在哪里?
# P; e* a4 u. @5 ^! J s- U( G2.。在例程中有这段代码:- @$ H7 r* M$ \' s& ^
unsigned int int_id = 0;
* q7 I5 ?% y5 I3 g5 D/ l3 C$ ?, p/ O4 R
// 确定中断源4 h, K$ Q' }# r ?) M8 D* Y
int_id = UARTIntStatus(SOC_UART_2_REGS);& d, b* [8 [% v" R' W5 Y9 _
: E5 J0 H% S" z7 b
// 清除 UART2 系统中断
9 B, ]- x* g# T! I IntSystemStatusClear(SYS_INT_UARTINT2);. J# C$ ]4 v+ |. ~4 j' T& }
6 b& m" Y8 b2 i D, b+ i4 N& T- d
// 发送中断9 Y, \# Y; F% F0 i3 {
if(UART_INTID_TX_EMPTY == int_id)
6 T5 K2 I x4 Y+ m1 ?# V {# r8 t! d( |. J( A' \
if(0 < length)
4 f8 q1 B2 R1 R1 X {
5 x2 u! F' n5 ?8 l' ~' ] // 写一个字节到 THR! l0 k5 Z, n- M$ u+ D/ I @
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
" v( |9 M% Y1 Z; F length--;6 T. A) p) j9 P+ }1 A; A
count++;( I, u% t: k6 f' d1 R/ r
}1 _/ n! F% w! x0 k
if(0 == length), W. a: a* r1 X" F
{
# y* H3 t% V+ H- \/ t // 禁用发送中断 E0 K0 m) C8 f8 l" i1 s
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
: Z* m) |' V9 O }
" y8 A7 W5 ]' _0 R) s0 S3 v1 X }" h$ z6 s* r; t* B7 H/ X9 [
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|