嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。0 |8 k5 e6 J5 W4 F+ |# ^
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
+ @/ l  L8 [* w- B" R$ t
5 Z2 Q0 k  N. M$ O5 M/ Bunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)" t% D% n/ b; h/ Q$ w8 S8 f
{
$ K+ h8 x. `2 [0 p     unsigned int count = 0;
: }- ?. i/ J2 T3 ~: ~     unsigned int flag = 0;, J* r7 H+ ]( Y# p( ]* ]3 t6 ?
. a7 `6 K8 Q4 ^% X) h) y: s7 P
     if(numBytesToWrite < 0)
6 ~- |3 x1 K1 {5 M     {0 d  R+ S+ D8 [1 {9 F9 E
          flag = 1;
) t: r% x# |, j  H6 [# Y     }$ Z7 o8 y  T  Y1 Z8 K

0 _% u) q6 M" O. Z; G2 |$ Y8 W     while('\0' != *pTxBuffer)& C/ W! e4 V$ Y2 T1 B5 O5 ~. f% K7 K
     {% X+ U+ f- b1 [9 ?5 L
          if('\n' == *pTxBuffer)
! a9 ~/ H( s2 I; H          {
/ X  `0 ?. `" A- S: _                   UARTCharPut(SOC_UART_2_REGS, '\r');7 G) k' f" R" r
                   UARTCharPut(SOC_UART_2_REGS, '\n');: P# N0 P2 }% n0 n/ a2 [$ `7 D
          }
2 Q- ~* l; k3 k! U/ e1 w          else0 i- z4 r; V/ t3 J7 ^
          {) z( Q2 b3 O$ o( d; x3 P
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
! b4 m" V0 o. Q          }  i: M: b4 `3 F2 A2 z
          pTxBuffer++;! ]: c  L8 E; |7 V& a6 V
          count++;# `$ l& R; @  E+ j

& l% g+ i& d$ B6 i$ o+ J          if((0 == flag) && (count == numBytesToWrite))" Z2 j5 d0 u7 y; {3 Y1 U6 P6 c6 ]. s
          {: z7 K0 _7 q: F0 i/ P& H( f( L
               break;! Y9 f, W0 t2 L
          }
7 P: Q" \* C4 [6 ^! D/ Y6 [7 _$ H  c2 c
     }9 |( u1 ~! n* m3 z( n3 H
2 b" z3 E6 U0 L' t/ L# O  x) @2 Z
   return count;
1 C, g9 [( `& A1 Q. p}
+ t4 Q# e/ l* y; N3 g; {" B) R( j, }* X5 y" }$ [( k$ L

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题  G5 p0 O# K9 G, ?7 c5 s
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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