|
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问3 p! r" x6 L# _3 e
1.。DSP解算出来的数据是存在哪里?& j& |/ a' E" {
2.。在例程中有这段代码:* [! m* h& H, s1 J. D: X
unsigned int int_id = 0;
8 p% [$ H* ]4 L- ~
: u6 S: k! s8 s: D // 确定中断源
# s5 m5 p2 b; Q" i int_id = UARTIntStatus(SOC_UART_2_REGS);% o% p3 E9 W& H% v' y; X
, \9 x S: U/ H // 清除 UART2 系统中断( j" Z7 b+ X) a% z- v( ~' w0 k ?
IntSystemStatusClear(SYS_INT_UARTINT2);9 S# n) U" _( h! w3 m( H. b, y
- i- ^# u* w+ G- ]% L$ ?
// 发送中断
6 y9 m: ^9 a! O4 c$ T if(UART_INTID_TX_EMPTY == int_id)
$ i0 H/ M* s6 v {
4 u% [" Y0 q4 M# Q if(0 < length)! O1 n) L' X" q. h7 o8 E
{0 w8 S1 a/ ?# `7 s) h( w
// 写一个字节到 THR1 I1 B1 l& X5 Z3 n u
UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);% Y( Y6 ^. w; b; g4 g [
length--;. J# Q o6 a3 e6 z" d# H
count++;" N" @% E4 @' }) ~* ^; @. J8 q3 e6 s
}8 c' d6 v5 l- Z9 y6 |
if(0 == length)
8 K7 f$ K! E, t: b& R {
5 U; e! ]" K6 C7 ` // 禁用发送中断: h1 D3 y5 a/ H$ w' b2 x
UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
, d0 b: a. L: X: p8 C9 p$ z9 F, j }8 S( r% o3 e8 _3 V9 R/ ~+ N5 {3 A
}
1 R" `# e/ _: Q" `我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的? |
|