嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。8 T& h; F  ]" D8 L6 D3 Y. v2 E2 _
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
2 \6 I& m) T9 X/ g7 E4 u, M( P
; m2 r) t, p7 S0 h' I. J* Runsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)# k7 k) H! m) b4 Q0 d: f' P7 E+ u
{
* w+ ~- @& s9 s) S3 Z     unsigned int count = 0;
* D# K6 a! x% Y1 O" ^+ e     unsigned int flag = 0;
. L  |# @) h: Q" W# u& Y, Y& Y8 m  u, g' A# B8 y# P( l
     if(numBytesToWrite < 0)
  Q) @0 Q6 r6 e' H$ ?. j     {
- j6 K* t( R$ O: h          flag = 1;6 V* ]% Z" C! C; _! N0 w
     }2 l" i2 y) r+ p6 z! ^0 g- N
$ x* d9 n$ B' Y! d% z/ L2 K9 S" w
     while('\0' != *pTxBuffer)
, ]/ _. C. Q3 K     {1 I1 S" x" m* H* m3 F
          if('\n' == *pTxBuffer)
) X2 h: D. l( o# V          {) [* b7 N5 `1 z
                   UARTCharPut(SOC_UART_2_REGS, '\r');, O4 k) }/ l* r. B0 q5 i7 d  O
                   UARTCharPut(SOC_UART_2_REGS, '\n');& q5 h. ?9 V0 ?  V2 V7 G
          }+ U7 y6 b2 s/ J
          else' e# z$ e+ l. h
          {
( Y5 T+ L. k1 X9 {' S' n                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);% @) G+ `. U. J: Z. Z
          }
6 |. a: S; y0 C; \$ l$ }          pTxBuffer++;+ F4 K& [* i9 F8 O) U! y
          count++;  Y. _/ Z7 S4 d! [2 C$ ?
! S) q9 N0 t; Y. ]& x, ^: ]4 N
          if((0 == flag) && (count == numBytesToWrite))3 ]4 i* E. H" }* J4 J
          {
/ }3 v  u7 l; b( F               break;
0 I3 ?; U; _  ]' g  E5 P5 K, l          }" k2 F1 z4 Z' Z  C, n! |' y9 n

. T# a% X7 c/ d' d. u, F     }
- a, D  L. _4 p# c' f" `& d2 v( P) T' L2 P' ?0 \' P
   return count;  e* W, b. r$ M5 ^" E" s3 J! t
}
; R+ n. X: B4 q! P6 }6 \3 E* |
1 I4 w  R+ p  ]3 }- W$ @8 W
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题; B$ |3 z& N. G: l( z
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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