|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问0 m- ^" ~0 S) d
1.。DSP解算出来的数据是存在哪里?. L0 S' u/ @. G4 x' J; F& Y8 u! P
2.。在例程中有这段代码:, W/ s; v* t4 M# O. D6 S4 {
unsigned int int_id = 0;' R0 @9 K9 G& U" Y
& o+ r! o( M' t8 n* a5 b+ @0 m
// 确定中断源: O9 Z9 t C% p) U* ~. \
int_id = UARTIntStatus(SOC_UART_2_REGS);
h; r/ ^" }. ~" f+ H- h4 Q) M7 w0 n: f% C! o5 u
// 清除 UART2 系统中断
3 e2 }( D, o" m( g/ W IntSystemStatusClear(SYS_INT_UARTINT2);! b) ]/ Y, m6 U3 M# ^' u8 C7 p
2 c0 ^5 @5 i% f1 w& O5 X // 发送中断# h7 m. B% |+ n/ w1 T7 j7 n
if(UART_INTID_TX_EMPTY == int_id). ^4 R$ `5 m: \$ ]
{0 Q, C0 Q: n9 `, ]' M( ^
if(0 < length)
1 t4 ?- C% p& ?1 m' ^* D$ t {! ~6 D1 F- ]3 @0 \
// 写一个字节到 THR
+ m& p* Y' w& [$ [& S UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
6 S7 G) `9 o, {8 [6 f: G( S$ Z! j length--;
3 _& O$ _, E8 W7 _/ ?* ` count++;
! e, N h& G/ E U7 u }& c4 o; X1 L% p. @, O1 N, ^
if(0 == length)# v0 E: Z! k- ?1 D2 i
{) R% o4 X/ \9 ~% l, s& U8 l4 {# Y
// 禁用发送中断4 j5 N( l3 F# O/ T4 ~3 w
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
) t( |0 X% ^5 }; F) X, J }
+ y4 Q/ Q( K/ U( w9 X n& r: Q }' G1 Y2 L7 ~( P% p' h5 M( v
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|