嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。/ g3 O) i2 ~# x! x* O5 A4 E' v
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
& k& E; n' {( X7 X& N1 t' }( |& V: H( ~( a) K4 z4 q
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)( g4 ^6 L& n; i; @5 E
{
7 D% O/ p. F3 @9 U+ Y- Y: L     unsigned int count = 0;
. b$ E- s2 @+ Y6 u     unsigned int flag = 0;/ o" L$ `% B" |
1 H9 U8 N% Q1 Z6 v- x5 R
     if(numBytesToWrite < 0)
9 N( E8 h. x3 G. a     {$ J! D. @8 ?1 v2 k: R$ k9 y  M9 O
          flag = 1;+ d. j; f- n' n
     }
% i. K* O8 G. |, ?. A
. S# [7 i* _" Y. N7 W* Z/ n) Y2 |/ H     while('\0' != *pTxBuffer)8 {2 `: t  z  G" H
     {
. G5 K, C7 e7 o+ }% ?' v4 Q          if('\n' == *pTxBuffer)' w" C; c2 |' d2 J& m; Q* o
          {
6 y, h' S! p8 X$ P2 @% a: b                   UARTCharPut(SOC_UART_2_REGS, '\r');
: C& S( v/ ^! l3 w7 H1 [  R                   UARTCharPut(SOC_UART_2_REGS, '\n');4 s/ l  f. \* a. R3 W
          }: X7 G+ X( o0 T6 b9 h0 e8 N
          else! ~5 d/ B/ E& G* C9 R; T7 ^3 k
          {. b5 C8 M- _" r. L" n+ ?0 W
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);, x/ l% i1 l+ V( {
          }
  |4 B$ ?3 p& _          pTxBuffer++;1 }1 e  Q" |2 k0 ]7 r9 m; A( d
          count++;, q( i  k) b9 q
, Y3 B; q7 w6 \2 S6 W- {7 t5 `6 M
          if((0 == flag) && (count == numBytesToWrite))+ Z" B# O3 t3 q  ~* S
          {
2 x* a8 {0 [3 t7 y               break;
+ b7 z' \! H) d; j+ z; {          }
3 \. {* T) C) ^) o3 Q
) f7 Q0 g7 r6 s( U, ]     }
$ l! ]! E$ U, g1 a, j( V4 \
3 Z1 S& _* y( a0 p( L, L   return count;! G% Q2 O" h% d  G! n" C- E8 J- U
}
: w/ J8 k" G& l2 Z* h' }6 R) b6 l% p8 R# g0 V

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
3 O+ m: _  f  u看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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