嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
0 N  F9 b; H- E! w0 l' a. R3 t经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
. c2 \7 W0 H( J% j, j2 C
$ k) @  `  _: O3 g* s4 j& Dunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)& j9 I4 T( Z; W8 }
{" Q2 h1 u3 Z8 V( f3 v! y. O
     unsigned int count = 0;5 Z% A; r; s% r; i* C" A* n
     unsigned int flag = 0;
$ ^' v2 S4 b) R, k
* g; X) f% S' F/ f& w9 Z) N- Q     if(numBytesToWrite < 0)4 q) a* i) L0 M1 ?8 s
     {; z/ d9 A, o$ Z* E6 M9 j. |; F
          flag = 1;9 G* u9 V& `5 f+ R
     }* b; R4 M4 W7 G" S, i$ _- O

. w7 M: e* w% S2 ^$ k     while('\0' != *pTxBuffer)
; b* i0 T- X$ }3 ]7 [( R  u     {
1 p3 k2 E' |, g0 Q  w4 r$ p( w          if('\n' == *pTxBuffer)
3 r) z7 n5 L8 K+ U          {
& l) }. I- b3 s                   UARTCharPut(SOC_UART_2_REGS, '\r');" k- {- H# o5 c  y( E% c1 m$ D
                   UARTCharPut(SOC_UART_2_REGS, '\n');
0 s" @6 W6 J) U/ x          }# F6 q  W& k7 w3 K8 Z
          else) v. f3 G; o$ A$ w- x+ T
          {" O* ~0 L  o8 r- s2 R( W" z. q
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);  s. M8 |7 ?$ {( O
          }& y5 S1 n6 |$ Z4 V9 h/ `+ o% x
          pTxBuffer++;0 c: x) r# a2 G
          count++;+ p3 ]; M, W0 J8 ^0 ^4 m

* B8 v2 P; k+ i8 p* ~' }# c- v          if((0 == flag) && (count == numBytesToWrite))* v$ [4 n* H: Z
          {3 }( F- G  v. k6 W1 I+ D
               break;
, `  B) ?1 M7 f          }
( G, A& H9 o  u7 |7 }- i, l5 \/ h$ s0 R; i& d& K
     }
! Y6 }! x% ?$ O( Q4 u
9 S: P: n+ Y  K   return count;
3 l* z: R* j: |* v* X% o}0 M5 T8 u/ X* u& A( ?
8 x7 D8 c1 S0 A8 a" Y4 @" d

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
5 W: c3 q9 B3 ?看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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