嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
0 Y6 S& z" a3 t* L7 C经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
1 x1 d, w( a8 {6 [( \8 V
5 D& T) X; z3 b0 w2 eunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
' Q  Q; o6 |# N. l& U4 F4 A* x- T{8 d' \- L6 [" Z( L4 g3 s9 N
     unsigned int count = 0;: E7 _+ t2 \) Z
     unsigned int flag = 0;% r2 Q% n6 E8 |6 r
2 q1 H0 W' i+ |  c- P
     if(numBytesToWrite < 0)
" a4 p' c. F) {& j) }     {
! Y6 M# Y' F. f; {          flag = 1;
/ ~) l1 a# ]5 [7 _) y     }
% l! ?+ Z) d$ ?0 a8 A! ?& Z6 C3 @7 ?) {9 V2 x2 `& N
     while('\0' != *pTxBuffer)% m! I* I2 j7 ]
     {
. r7 a' n7 ]# Q+ F% r# k8 \! d4 D          if('\n' == *pTxBuffer)
* q9 v* g. E/ n/ [) d9 _          {* O9 X; s7 S3 ]( V+ s
                   UARTCharPut(SOC_UART_2_REGS, '\r');) l: t' p9 k1 k$ k
                   UARTCharPut(SOC_UART_2_REGS, '\n');5 B6 J7 f3 Z0 @  o0 Y
          }
' z$ L9 S8 P! O9 C          else
  Z& p$ l, S9 P+ x& F3 l          {: U% C- V- u+ Q
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
3 [: _8 @- Y% @2 Z3 l+ b8 r          }
1 H! z' \! p( i          pTxBuffer++;" b& [+ A* B8 I: d! F- S7 U1 d
          count++;1 j) E: ]7 o* \! `8 P& ?
( t4 c7 B8 L& n" u: ~
          if((0 == flag) && (count == numBytesToWrite))$ O) q2 E! r$ T- `: p
          {5 ^4 X2 z' e* Y2 X, V1 A& [
               break;
1 d$ w! B: m3 I: m( n) G          }
$ z# Y' Z8 Z- Q: A- g3 }4 c- v, a' m4 o2 {3 ^% o. ?( p2 D9 j2 E9 c
     }
) g. Y8 u$ @9 L2 H1 `2 y3 p/ e5 v. L; c; k
   return count;
( K( @3 W  Z9 V$ B% [" C0 k}% J2 m' U5 G/ C* O: g6 {6 N) v) O. L
7 ?0 L( I+ e+ i& u8 i

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题3 |) U1 c7 v5 v2 U/ T( C
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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