|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
4 ]% ~- U+ H! e# O0 z1.。DSP解算出来的数据是存在哪里?
2 u' ~% b' h5 ^. e, N* J5 p) D2.。在例程中有这段代码:4 g A. H8 S. q% \, i5 R
unsigned int int_id = 0;
- P7 E& L; N, ^$ g: b9 P) M2 r
1 B3 W. s/ F, g // 确定中断源7 J' Y( T: j4 v/ Z1 o |+ @
int_id = UARTIntStatus(SOC_UART_2_REGS);
. K% R9 V% j& b2 f4 A
; o3 c" d+ ^* w7 R: i% S( P // 清除 UART2 系统中断
& y3 e% F! f# Q* y5 [0 [ IntSystemStatusClear(SYS_INT_UARTINT2);+ y/ s' z: n! a2 ^- F& `
& ]# d. L# O% z4 k" H4 M! v // 发送中断7 K' A9 j* F, k/ Q; U# s
if(UART_INTID_TX_EMPTY == int_id)
0 p/ A" T# h+ t' p {8 ?5 |- ~+ \+ O# t
if(0 < length)
; `! ?, |# k7 ]9 u {! ^0 d5 L) o1 K
// 写一个字节到 THR. ~. I& |3 u8 [& \5 N
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
7 K% ?! \9 _1 N8 k length--;/ T; _2 I( q$ _. m3 e4 L7 l2 E
count++;: x& b" n$ I2 J8 N' w1 N9 o0 a# F, @, ]
}( d- |* q' N3 w( `1 D* `1 X4 e
if(0 == length)7 X3 G0 P. z* x1 J5 @
{
0 M+ R9 T1 p( u- c // 禁用发送中断
4 A. p& P3 H* b2 t3 Z3 N, \; f/ b3 f- R UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
2 I h/ S& q% J0 Y+ \6 n# r }' [! X: c$ i) [ r, r1 X% u( d
}5 a* m) @% R4 l6 Z* v
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|