嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
# ]0 T) ~" W( Z0 g* f1 R& J经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。( s3 @5 O, \7 G4 p) _+ x# [
: Z- \! S) N. M2 A8 j  q0 o
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
) ?4 ~# y( h: I  K# {{
; {' v2 E: b2 m9 G8 z" O3 ^     unsigned int count = 0;
' U. f+ M3 a$ r) p     unsigned int flag = 0;
* L4 a3 r- Y$ u/ M" @# t8 P# V! Y5 j1 C+ l$ X& a
     if(numBytesToWrite < 0)
+ h& S. v+ C0 J- \0 s     {) v  ]0 C4 g7 D9 U8 p6 _; D+ b
          flag = 1;
) O, m5 {& ^: j     }
0 P: F) T9 k# q; J. _! y6 \, ]5 V0 S! A. i
     while('\0' != *pTxBuffer)
; J: _2 ^4 G" N# U5 ^$ [$ o) A" F! e7 h     {) l0 w5 \# u) A& O/ }2 q. A: d
          if('\n' == *pTxBuffer)
6 C- l! i" v6 m4 w4 Y4 l          {! j2 q% z- f$ q7 V- ~
                   UARTCharPut(SOC_UART_2_REGS, '\r');, N. l4 d0 ]9 z1 ?/ b7 d" J
                   UARTCharPut(SOC_UART_2_REGS, '\n');1 c' m+ [- q5 i% X8 n, c
          }
* U2 o! r0 c5 }& i          else" z* F! [9 W( D" s. Z
          {
6 W9 r; m8 g3 n+ o' E8 X' i/ w                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);% w, g% r( j! F6 j9 e: V9 R
          }
! X% X$ \  v) y* \; X# f$ C          pTxBuffer++;, D, }! W0 j, t3 l3 G
          count++;6 X) g3 P6 i1 _4 {$ a

1 `+ o* O! M! q  I          if((0 == flag) && (count == numBytesToWrite))
( p( t9 R8 K7 k8 P& z          {
' }. Y9 j+ F" k' K; P               break;
! N6 E( p% h- A" V          }
# @* f. o, r% r+ r& e
0 K# K8 Q+ e% `4 ^! H2 _& q- |     }
" K/ C5 A  m" S8 w; t* p5 P
- M; g3 i9 p6 P  A7 G5 C4 _7 }   return count;
0 r1 ]0 h1 T9 R3 S! P' X5 c2 P}
" E4 \9 k5 U! H% ?5 {
- ~: [( H( O2 s: ~, K" ^
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题+ [  Q% U/ v2 `
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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