嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。% l  x9 `- j+ x: J
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
8 S+ O& Z4 v8 s2 x
  B  `7 M8 x7 R4 lunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
; F4 ?( n) G. k+ U! R: V* ^# k{; x) A6 m) |/ \$ J5 N# c
     unsigned int count = 0;  L  G& ~% u' S4 o* ]/ U$ T
     unsigned int flag = 0;4 P" c' p# F8 l) \5 O2 K) I

  W. J3 [% \0 d+ V# k     if(numBytesToWrite < 0)
% ^( n$ e9 ^9 ^# ]' |: T# J     {
, U' \  }& V; p; V' b% y, z  N          flag = 1;3 n$ Y& N1 A; `) T$ h7 h0 I  }
     }1 z7 b# g7 W; J- n3 ?% ^9 h4 m
! q9 r% o/ {% H, I- m) A
     while('\0' != *pTxBuffer)
6 J5 s- r, E' G     {' Y" F8 r8 W3 `3 r; R1 E; W1 g0 f
          if('\n' == *pTxBuffer)" Q' ~+ {9 q- y( o! L1 V
          {: [1 M* u0 q9 Q
                   UARTCharPut(SOC_UART_2_REGS, '\r');
* l& G% u! E7 x9 y+ n# B                   UARTCharPut(SOC_UART_2_REGS, '\n');! Q9 j( ]/ Y. m3 r* \
          }$ A0 Q0 j9 K* u4 T2 n1 A
          else) n1 e2 D- x2 O' G9 h
          {
3 f; t  x! h9 K) M' ]! [                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
3 A6 ]# S; @* i1 P* T$ _0 c          }
1 \0 [0 f0 T  K* A) t, ~          pTxBuffer++;
/ Q% |, i# B/ h/ k. h          count++;
/ ?7 }( @7 R, {1 r
. |# V& R$ g* N          if((0 == flag) && (count == numBytesToWrite))
1 _. @3 q  d8 s6 P3 v8 t6 M          {
; K0 ?0 u" M# l* a8 b0 }' d               break;
$ u# L) t% B- [6 w2 o% }/ O          }/ o4 _* c/ j1 x6 e8 v, s5 {
' }/ i9 ~3 U3 x/ F
     }+ i6 a* {6 [$ B4 Q6 r4 J4 s' w/ h
1 k# Q2 I- z& U. n
   return count;/ R, c" I4 x# Y. Q  ]" f" ^$ V
}2 A4 ^, r8 o4 ^+ Q" S% \+ X

* l' T% f. X& W5 ^* j, x( c
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
5 |9 ~! }1 c7 A看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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