|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
( H# }( G. E& b1 [6 U6 |& W1.。DSP解算出来的数据是存在哪里?
2 i! i6 Z* V: T9 k2.。在例程中有这段代码:
9 o+ L' Y: N' o7 G! a% u* v unsigned int int_id = 0;
8 e5 r9 P- T \+ Y* r3 O# j# B6 D) W0 J5 l, }- l9 l
// 确定中断源
& ?, g) G0 s+ M7 y. Y1 I int_id = UARTIntStatus(SOC_UART_2_REGS);
9 s* D1 e$ O K" c2 W
3 n/ s3 c0 ~& L& a; T // 清除 UART2 系统中断
! B2 s3 Z. ~( N9 f' [8 w9 S IntSystemStatusClear(SYS_INT_UARTINT2);. F2 q# h) b4 r' K
) u' y; r _' m! Y+ m' S% z
// 发送中断
( W. d( F* ?5 W, [( N0 a8 J if(UART_INTID_TX_EMPTY == int_id)& B) S' E4 t3 j; b
{
+ ?. u: y9 q! H" U# X: E if(0 < length)( j$ W) O8 \* A$ {
{
; g5 \& y! t6 s8 c+ d: m // 写一个字节到 THR$ I2 h& A2 t7 I4 k9 U
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
1 I8 X7 _1 H. Y7 v- g V9 Q; m length--;& |7 ]6 e. A9 l
count++;
. _1 Y3 e. ^5 @# a8 s0 F7 b }
( u! F! y: N; a D4 Y if(0 == length)
6 ]5 |* j& e8 ]- S7 C' c {
# K! X- T' u" J // 禁用发送中断7 t; s2 j1 i8 F4 r3 V
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
5 D7 z) K) C& B5 i$ y }
/ C7 D: i6 F; Y1 q- t }
% i% H: I4 x+ a) \我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|