嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。3 C5 B, J; [6 r- O1 U* F. S
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。# y, l. l/ K9 l$ A$ \+ w* r9 N

, a3 k0 i8 y8 J  M2 sunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
. Q& G7 w4 O5 f/ i" `2 n# W{& g( L7 ^* b4 u4 ^( v, h
     unsigned int count = 0;/ l( S0 m( Q% ]& e
     unsigned int flag = 0;% \& ]8 x9 s9 `1 f
0 k* o% Q& C& U8 T8 Q
     if(numBytesToWrite < 0)& I+ G5 l5 w7 `8 d5 L
     {
- [9 O# A0 ~1 F8 x% X' w2 w          flag = 1;
! J' b4 p$ A  R8 x& v     }' J+ V7 n# Z/ V4 h+ B; V0 [: Y
8 a) P6 t- `, A& B  g
     while('\0' != *pTxBuffer). x* U+ O$ {4 U1 L3 X  I6 i
     {
$ u! J% J' S* C          if('\n' == *pTxBuffer)
* t) S+ Z! U( ]/ K# y8 U2 F          {& ?" U7 X  ~; A
                   UARTCharPut(SOC_UART_2_REGS, '\r');4 s: u% x& S3 d! o, x7 Z
                   UARTCharPut(SOC_UART_2_REGS, '\n');
8 z8 h2 s$ c" I% b          }
8 P- h8 M# n2 ]  U          else3 _8 I) O! w$ [/ E# d
          {
  q2 j0 S. f3 ]$ r; }  k: z9 D                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);% t/ b0 x  H; F5 l5 b
          }
/ X+ e. x% |* O3 N, L6 r# f' b2 T          pTxBuffer++;! q5 e* M6 S  t
          count++;
; C8 n" l7 k; o" n. U& [% ?  ^1 X0 K; n" \+ r( D) J, }: R
          if((0 == flag) && (count == numBytesToWrite))
0 b3 i2 J6 j7 p9 x  R          {# f# l$ q/ z6 j5 K
               break;
2 M8 V  `, d# j! _$ [) A          }
. Z$ p# `; T  ^
/ K) n6 p  G& j2 Q8 D' v8 r     }
1 O- W# }1 }, X+ r& s1 B
. s; L3 a& ~1 c; B   return count;
) S1 g/ e+ t* q) _' C  _7 C" ~}
) U  O8 q$ t- |4 P6 Z7 }; j
: m' K9 C2 N, s3 t; s& ?6 c
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
7 ?, |; K1 I# j5 t; m/ j: f9 y: B看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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