|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问 H( w# a, p8 ~* T& B# ^5 c" c
1.。DSP解算出来的数据是存在哪里?, @: ~8 j6 w# z' g
2.。在例程中有这段代码:) O+ Q3 p H) r f
unsigned int int_id = 0;, ?1 M4 I/ w% P6 A
+ }( i1 f# O& Y: T* _
// 确定中断源$ W1 e# x% k) q7 [) _7 ~
int_id = UARTIntStatus(SOC_UART_2_REGS);1 L: s8 h6 z& p) |3 @% f
; A% L+ u- J ^7 @ // 清除 UART2 系统中断9 I' |* T9 b* s: |: C
IntSystemStatusClear(SYS_INT_UARTINT2);
4 |! T" Q& G, W0 b0 M. l
2 ~7 |: R& e4 e, G3 U/ t // 发送中断9 F+ g+ o6 C K
if(UART_INTID_TX_EMPTY == int_id). s9 m) v/ |0 }- X" s# T
{1 T7 X, v" v1 R7 Q, w8 y
if(0 < length)
4 {* j: j9 S6 e4 `8 ?$ v# K; ] {
5 m" `) P0 Z7 P/ E) n# q6 y0 D // 写一个字节到 THR0 D u7 {( U8 |0 K; X
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
r p1 y5 K' w1 c6 ] length--;2 P& n& j, |) k, F) B
count++;
/ u9 J8 b& {) Z o! ^- C, G }
& C8 n$ |+ ?0 R8 L9 ^ if(0 == length)
9 Y3 Y7 X3 ]- N2 k {
! O6 d3 J8 Q% N1 W7 i( R // 禁用发送中断
( O& T/ [) Y( I# i r2 j1 T+ J7 Y UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);3 Y4 U' z% Y7 c
}
- ]% K! v+ M K/ U7 b2 Y% p. v }! v8 s% ?7 w5 M& `2 {
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|