|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问% _# R6 o$ Z, D; O' o: g; |
1.。DSP解算出来的数据是存在哪里?( O8 c% Z+ M* @/ n
2.。在例程中有这段代码: }2 w! F, `; F+ Q' |- J: {3 ^
unsigned int int_id = 0;! j h9 ^7 l1 H8 F# A6 {
. G( p3 X8 R! f6 S. ?4 F5 Z // 确定中断源
( r7 K9 _' c, y int_id = UARTIntStatus(SOC_UART_2_REGS);8 M# r0 h. V4 [+ Y9 X3 C( |: {3 m
& S0 B" \7 h+ x4 l i9 a
// 清除 UART2 系统中断5 t& N- k* M8 ?8 m; {
IntSystemStatusClear(SYS_INT_UARTINT2);7 S" k( x2 }- u# Y
) m2 ]" v2 w" `$ z4 J( L. B // 发送中断
: u9 l0 f R- {- k4 h if(UART_INTID_TX_EMPTY == int_id)6 n9 T3 z% _" D
{- l' E0 Y! x$ l4 a
if(0 < length)
# [+ W$ c" Q$ m" I1 H {
6 b$ O& d' `8 `! C( A/ e: R2 q // 写一个字节到 THR( N' G. C" x$ c
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
* g$ @7 h* l8 X% L/ K- C length--;8 s' {# ?1 Y4 W+ Y# A9 {% C% ~; E
count++;
- T( R! h" R" ]1 X, k& X }! h! E R$ o( e2 f4 k9 p9 x
if(0 == length)# |4 C1 O& m8 Y0 _3 ]5 M
{
4 M' r) C% J5 H9 u+ e% T6 }0 q( E // 禁用发送中断; X1 P' f& [0 X- X- y
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
' F! W5 ], f5 M3 ^* ]: l! L }& W9 E$ y' q1 c% N4 n- n9 O3 u' z
}/ l/ g- t- t& i8 h& g4 T
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|