嵌入式开发者社区

标题: 光盘UART2_INT例程 [打印本页]

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。5 m4 Z3 _, E+ b- J% t
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。" M( m2 ^" }( s, @8 C5 ]; i
* g0 y9 V0 t- e* S" e
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)0 M4 N# x  @! Y- f6 b$ ]1 D' V* g
{+ G+ g) r" H" C4 R* K  s2 X
     unsigned int count = 0;
+ A! M9 V: ~3 g: J7 N. u     unsigned int flag = 0;, Y6 s! H, g, }: ]

% \2 C( T* I% P" N+ {% P     if(numBytesToWrite < 0)
0 w# Y9 |! y& r8 r- J5 W     {5 z, ?% b" k5 A! a& s0 M: U! ~' W
          flag = 1;0 e' Z! @; d1 i: A+ ?# H
     }- V. E: ~' W2 [+ Y/ m

8 ~' X/ ]% [0 H4 i$ H& u# ]/ f* V     while('\0' != *pTxBuffer)& ]( q. e9 t0 P
     {8 k) j' W+ H) c1 f* k* t) @6 l( r
          if('\n' == *pTxBuffer)  ?( A" X4 Y4 O% M3 h9 F
          {( Y: B+ B% Q' G6 B# I7 e
                   UARTCharPut(SOC_UART_2_REGS, '\r');
0 ~6 P/ u) P; V/ }9 z                   UARTCharPut(SOC_UART_2_REGS, '\n');
) I! G- P. {7 y7 U! n; n- T7 J          }$ U/ W% V# ~9 P! K; J' i
          else0 W: p% ?; G5 q7 R/ p
          {. ~0 M) S4 E; D
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);; v+ ?# |; k, D
          }% y4 G5 s4 h) p) Z/ Q
          pTxBuffer++;. i2 `3 G- w/ Q% k, I  z
          count++;
) V% U' h: }3 f! Y0 g9 J5 S/ q) L8 F' M4 G7 t. b3 l/ \* B! j9 D
          if((0 == flag) && (count == numBytesToWrite))8 |( f- S! v* j3 K) x9 @8 X
          {( T5 M1 }: H, Y8 \
               break;1 y% A* I& ?. f) e0 O& e
          }% ?" g  F+ H: {- }

. i+ E8 o: Y$ p( J7 p     }0 `. c. v; Z+ z. K2 t" @0 g

' o8 Q% A- e- M- `! h   return count;
+ x4 _$ a& J, `; p0 \}
& m  p" w/ f7 N1 T# |' H; d4 z, M& ^# |, z

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
. T; l+ N9 |9 {: b7 A; F1 C5 q. R9 p看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4