嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。) z5 z% r* d% l" K" Y9 w$ }
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。; p  F- i2 N. U8 H/ o% C

% ?/ {' H- R9 e8 Eunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
2 C# B$ F  O; F8 W5 B% }2 A1 B{$ y+ p7 Z6 J  U3 ^0 |4 b! y
     unsigned int count = 0;7 I+ F' b" r3 c) {
     unsigned int flag = 0;
* H1 y# M  p9 b5 L; i+ q0 c9 W* d2 O1 T8 @# B" H9 x
     if(numBytesToWrite < 0)
3 P9 H. X* F/ m9 X     {
* N. V1 n  U6 P: ]  l: ~          flag = 1;
6 G2 e& Y" p" A7 f7 r1 R% H2 ~     }0 A- A! A8 B1 u9 Q+ z# D

! e  g0 {9 j& b5 _7 [* f     while('\0' != *pTxBuffer)
; z. g; E: n! ^# R% g     {
, d) p# ~5 x" k$ R          if('\n' == *pTxBuffer)
3 z7 V- A9 q. i( s% S          {
. I$ t! m0 n; t. ?$ G* N5 J                   UARTCharPut(SOC_UART_2_REGS, '\r');( s3 P9 D0 X9 Q1 `' e
                   UARTCharPut(SOC_UART_2_REGS, '\n');3 Y5 I% G/ `0 K1 m! @/ |. ?$ d
          }/ Z9 Y5 V+ A" H1 {0 [
          else- R2 @. e- _, t7 D, Q
          {
- S" f+ V! ?2 J' F9 a. a2 v* d                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
. ^% Q7 b' m7 K; |% h: _- z          }# S. i; e3 W! ]7 ~
          pTxBuffer++;( W5 t5 @  U5 t! I' m
          count++;, @$ A$ a4 `- Y' t: `4 r/ J

  I! \" {) A* N! q, d4 @. u# q          if((0 == flag) && (count == numBytesToWrite))* J' j' s  W) C. `) L  R  b7 p/ q
          {1 W0 W# I/ ]" g
               break;
2 u7 _0 U9 k; j8 v: [- T) w! \          }
# o9 ~! C, |! K5 r6 T
, w+ v! c' C" c1 ]     }) w* K. z6 \& y7 {& W8 @2 o; a

; {2 w7 U! q$ M; T   return count;4 T( L/ U; t) S3 B' p
}
4 W/ `  ~/ ?. z- K6 U7 Z
$ v- r* i9 j( `7 s9 P, W4 ]4 F
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
( J7 L9 ~5 E8 Q, z8 O看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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