嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
( X1 M* E6 g7 ]% }- m经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
/ J' t: B+ V# X3 K" S6 q& e/ y) d0 L7 X$ J8 _
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
, X* Y" l6 g' Z( ]: r; U3 s{
) w5 n( C; H6 T4 |9 f" T     unsigned int count = 0;4 }4 \9 t0 V& S- u; Z
     unsigned int flag = 0;" y: l, i- F9 `, L6 O
2 ~1 E# z% Q* q. R# i& f; r1 d3 k
     if(numBytesToWrite < 0)
- I+ k( z! m& I$ P     {5 D6 p7 w  e$ m7 z+ `
          flag = 1;
3 P0 [* d$ ~9 Z     }
9 H0 e! e/ r0 p: {3 H0 t$ H
* }! e6 P8 b2 J! \     while('\0' != *pTxBuffer)
  V6 m+ X& n. A     {
) Z4 q. Q2 t! S$ C) \9 i- f          if('\n' == *pTxBuffer)
0 H- F, ?1 y0 \+ b& r, x+ [0 |          {3 M6 }3 C# \2 u- ^# W4 r
                   UARTCharPut(SOC_UART_2_REGS, '\r');
  F  I' M; N3 g4 i  D  _: ^                   UARTCharPut(SOC_UART_2_REGS, '\n');
% B8 I* n. P( @          }' y- N! {# E8 r9 i
          else; a4 i0 T7 ]' o5 J% h4 t: T
          {
/ k) d. q, `4 `6 w5 E9 R0 T0 o                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);0 i7 p/ a3 i7 Z  d! j4 u0 O
          }8 m7 p( c( H" c+ A
          pTxBuffer++;
( {& U- ^% e7 f0 ~2 O3 `          count++;- V. q; F  m2 ]1 S

  \% \) F/ a0 e7 z: R) ^# B, K          if((0 == flag) && (count == numBytesToWrite))
/ K3 g5 s; Q9 V" Y3 |! ]! Y4 [          {; q8 O3 U) }/ x$ a6 z
               break;  T: e) E7 \" M; |* \4 ?, z  Y+ e
          }
$ d& s* N+ S" P/ s' @
$ {  L4 b' l  _4 p     }( K+ c& a  J9 S* p6 o4 D
$ @+ P8 N$ F1 o8 w: ~. ^! \
   return count;
* g; G5 g+ }& l2 w/ v}
1 R0 i6 T  r* W& _
& i9 A/ k& C8 `! ^" ^- V$ V2 ?% Y7 d
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
& `! D6 a2 L2 @! E1 k; J9 l$ Y看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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