嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。% T' D3 m  R) l. o7 W; S# V
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。& b/ d/ S! D' ]$ K" j: y
: Z" M$ B! \% A$ f
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
& W; D7 k# A% `3 ^! f  ]+ c{; S+ p+ X) y& D, m5 t* d( `8 E
     unsigned int count = 0;
7 S& d! \( i4 ~) o     unsigned int flag = 0;
. z  j* \! X. E, ?' R# t& f' t( {3 |& f: y! e
     if(numBytesToWrite < 0)" M* H' ]! A2 H, f5 P
     {0 h& d3 k2 B2 q( Y# j% _
          flag = 1;
$ @0 ~( [& C, A+ b     }
  ?! G5 r% y1 Q* h  E2 Z. c/ O6 L' x" z( Y0 S; r
     while('\0' != *pTxBuffer)* l4 r" o9 G) n! q4 s+ f7 M
     {
. V! p$ @( \, M2 T, k7 D" q. S; w2 Q          if('\n' == *pTxBuffer)4 T2 y" h; h. H; @* j& d+ m7 L* r* _
          {
$ F) z9 f. u. p  n; k! `; }                   UARTCharPut(SOC_UART_2_REGS, '\r');+ r' ~1 x( g5 `- `' e) @
                   UARTCharPut(SOC_UART_2_REGS, '\n');
& e3 ]6 m* i3 \' ^          }
9 c3 B3 g4 ^) r          else/ e/ L; T1 Y  }  ^8 K
          {' f& U0 y" B+ L9 p7 o# |9 }4 T
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);% x8 i. F3 L1 `4 \$ ?7 X
          }
, o- B9 Y2 I7 Z5 E% h- ]& a  z, h          pTxBuffer++;* ?! y  @$ D; ?+ L
          count++;5 Q, b9 V! D! Y, V' k
& J/ p$ l$ ?5 D+ e' F
          if((0 == flag) && (count == numBytesToWrite))0 a8 x) Q9 v1 m# ?) X7 ~& \+ ?
          {
+ G  E$ r# Y' d6 a1 @8 Y               break;" u0 v- l+ g1 R7 u% H
          }! p( S' @- K: c6 H. z+ B; e5 q# L

$ d: g6 |9 }7 I  n, \' q8 h     }7 T1 X, q/ b8 W) U' ]' x% o# y- y
+ B9 m( ]  ^5 q1 h2 W* W: z7 E
   return count;
& C* b- [9 }8 i+ _}1 @2 f4 M  h' O7 `# i  F7 X0 h! P7 J

% y* j7 X7 _3 D
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题6 [9 c& n# T  i3 j
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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