|
|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问6 x! E4 [0 \2 D2 ?' V
1.。DSP解算出来的数据是存在哪里?8 s- q h. J) ~( E( @
2.。在例程中有这段代码:
, }* I4 K* ?6 \& m unsigned int int_id = 0;
* K8 z k. \4 v# @8 O& ^* `" e$ H
// 确定中断源
; p5 a& M5 P( w int_id = UARTIntStatus(SOC_UART_2_REGS);
( I. t+ t# [* }$ F8 ~
' _- O; L4 [2 J5 u% P // 清除 UART2 系统中断
! k0 S; H$ i7 y! |# p' T% D5 [ IntSystemStatusClear(SYS_INT_UARTINT2);
! |" p e6 B; V S S! O, p- ~6 R9 V6 O2 T: t9 k6 Z/ e# I+ |1 S; ]
// 发送中断
- Q3 M& _* f8 V. v, b | if(UART_INTID_TX_EMPTY == int_id)
! J. C4 g* K2 L. U7 m {( m* r9 r6 Z- g9 X& q
if(0 < length)
( w9 y8 s% q3 g6 D {
$ z! f( ?* T" U1 c // 写一个字节到 THR
2 H' h+ Q% s7 H+ A1 c+ F1 v: z UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);! D" h' U4 C8 n/ j! k& I
length--;
" T0 J+ X8 j; {1 j* V count++;
9 c0 J- _1 j K+ I2 H }2 D6 R3 M3 W+ g* h
if(0 == length)
; G+ u9 o1 X! \! k {
0 t( @, r' Z b- M. X9 T. w" a2 e // 禁用发送中断
( U7 f$ } Q4 W UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);$ l6 c0 |/ S" q- s: J2 w9 q
}
% z, H! F& `! ^8 o+ c$ g! E }
5 U' N+ k/ i" F4 R' F我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|