|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
* I: _# C0 g/ l: P8 N: E1.。DSP解算出来的数据是存在哪里?# K- f: a* N# I. m8 W# g( e
2.。在例程中有这段代码:
5 J# ~, v+ P1 S! B7 [7 i, D6 R unsigned int int_id = 0;1 x. Q: E [. O! r" w9 O
5 A( ]6 x% l( ^& s' K // 确定中断源
9 D: a6 }0 O4 M3 I' N+ v. i int_id = UARTIntStatus(SOC_UART_2_REGS);
# X) a& w8 ~8 H
4 d1 e; F* X5 L) \% |+ j // 清除 UART2 系统中断5 ]" a; y2 R8 ^" j. G7 h; Y
IntSystemStatusClear(SYS_INT_UARTINT2);
' R2 J" S, U0 s, V! z$ b3 j0 r1 G2 H& B9 J
// 发送中断
/ M7 l' z( _8 J. G4 y* P0 P9 S$ O# M% v if(UART_INTID_TX_EMPTY == int_id)/ K) N9 c9 @- Z
{
6 c1 U/ K: {- ^5 ? if(0 < length)
' N* ~9 p9 v3 D! D4 d {
- Q2 e* J% V T# l: l& m% ~' P% A // 写一个字节到 THR
3 t& s) u, r1 D( R* U UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);+ p* V, ~, k& d4 ^, q
length--;
' ^4 Q% f% Q& c3 |, {) E: M count++;
, V$ N) }7 L2 T- ~ }
8 k4 g9 @6 u( z4 ?! w8 N& A, N/ r if(0 == length)( w+ m, D% D1 @2 p( l' j( d
{* @6 n" a1 j1 U
// 禁用发送中断
& F; s9 p7 D3 N UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);" b9 h1 D: j7 g% R0 w+ H
}$ S: i2 U4 \# r. l, q) f
}
3 r6 z" g1 M& @/ x我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|