嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。3 x  Q/ y! S5 a
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。3 o7 i, ~3 k( J
- e7 @8 k0 w8 w! i& q0 D6 d
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
' E7 [" T' E7 X3 y/ C6 T! P{
5 Y! _7 m- E# ]: }/ |; D; \     unsigned int count = 0;1 @, s3 x4 e/ N& z9 }* C
     unsigned int flag = 0;
  [+ F8 q* b' Z- K! Q5 e4 y* m) a+ l  k9 O, f8 g- _$ F/ v
     if(numBytesToWrite < 0); B( Y5 R. h" w3 ]7 z* I
     {8 ?1 |+ j" O. `% V
          flag = 1;4 a- Z# q! u. ^  s$ W3 C# R
     }
  u, A% j' {* `9 L$ X2 X7 D8 H
9 K3 E3 t7 c, e! I1 j8 ^9 E     while('\0' != *pTxBuffer)/ w1 {9 I; {- Z3 o+ n' b4 B! T
     {
8 h6 z" R0 ~# P          if('\n' == *pTxBuffer)
- _" `% X! ^+ D9 ~! ?4 @          {
1 n6 n' \! o, f' N+ T                   UARTCharPut(SOC_UART_2_REGS, '\r');& T1 f- N* i  c
                   UARTCharPut(SOC_UART_2_REGS, '\n');! f( M) |% ?: V6 X6 _
          }
! i) {) R* n, W6 G          else( J' b  u7 U) `4 C/ Z3 O2 Z& w( @. v
          {
$ r3 W: p# o& L/ B: `                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);  h' a* Y+ L* E# B+ w9 c
          }
. ]. a& _# K# L, k: H% A' O. n          pTxBuffer++;
8 N" n) v" Y) @          count++;
4 o: {& u9 t! l5 J) Q( N. O, I! r, u' q+ y
          if((0 == flag) && (count == numBytesToWrite)), D4 V$ }% m& ?, c. B
          {8 ?0 ~& M5 z8 t1 m: w; S
               break;: H& Q" O  R' F( x
          }) ~' D. v5 r7 o

! x$ Q' q' L  M4 R8 R: A     }; y+ [  k6 F' A3 K, _' R

" O5 P$ H5 B: W6 s# b* h1 ?   return count;, E& F$ k7 [, w9 }1 \' G: G3 w
}( A) a; `. O# E8 M

6 e1 q, I4 G, Q. |  N$ ?0 _
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题- w: M6 Q* P0 z  r+ Y( b
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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