嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
, G7 Y- ^+ _1 P! G: x, k经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
* ]3 ~5 |9 v5 ~" i4 C2 x* J
5 T$ X7 U3 V6 o4 E- @unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
- n8 Z& |$ u" a$ K{0 r, k; d7 d& J% }
     unsigned int count = 0;
0 d, g1 w" b. a  k     unsigned int flag = 0;+ |& @$ @' k( v# k; O/ p

1 H1 D" O$ J7 C5 n4 Q, y$ H     if(numBytesToWrite < 0)7 c: |* R) l* @0 d6 X  k1 D
     {
* J& a( E& f; i6 z          flag = 1;9 q1 f8 V. f/ }5 e* }
     }2 k3 F* ]* ~9 c+ G
5 _' ^5 \* x+ h
     while('\0' != *pTxBuffer)
( ]) `5 [  }* U# c1 {& u& o  S; l     {
* w6 ?! |% n; q* _          if('\n' == *pTxBuffer)1 }% i( R5 N& R5 [6 X9 w- e' ]# J
          {
" C# F( X+ ^, w1 K0 N% N# C                   UARTCharPut(SOC_UART_2_REGS, '\r');
8 e# y0 `3 U4 Q5 ?& i+ L                   UARTCharPut(SOC_UART_2_REGS, '\n');
# _, u0 H3 U! S- ?+ \          }9 Y$ d9 [  G, h: H# F1 d
          else
8 Z2 i7 ^1 h: a          {
1 W& E$ O7 y9 Z7 D0 o                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);! k0 j2 @' J" f3 I8 L
          }
4 M* q9 f0 p- Q& u' G+ ^          pTxBuffer++;2 W+ x3 }. T: V& _$ R. i0 B
          count++;
& Y3 ]( C' b  K# j/ {6 H1 K. i/ g- l6 L/ [. `; N
          if((0 == flag) && (count == numBytesToWrite))
8 ~& P4 U0 _1 q1 ?          {
/ f3 ^' F& c) n& U) P" ~               break;
" N6 e& r3 i2 F- |- K2 Q          }
: d! s8 b! a$ }6 x: s; r& n5 [, ^! r$ q' N
     }
$ }0 p* v9 ^! B2 i  w2 a0 X' C& j8 E# m8 X, ]1 B
   return count;
, q0 [- O& Q4 K+ s* r}
9 s; x9 I) B4 ?4 Y9 ^% b- i$ x
) \! J. D3 \" ]; ^
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
- B% |+ Z  M( N, ~/ n( z, H. I看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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