嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
6 J( A3 }. ~  U9 {! P经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。' k3 k0 S8 f9 b  |

: d- U" s; u0 k* F* Munsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite), |: w- U# \  p4 R: L
{
$ p1 q/ h- }) _     unsigned int count = 0;3 @7 k' O9 I; U1 [- J7 o9 k: m
     unsigned int flag = 0;8 i. A; r; M! d0 n3 X* @+ G, |

- K- p. P# l- T. J4 {9 S8 z2 G) a- @     if(numBytesToWrite < 0)
8 [+ F/ |& I0 E4 g( c$ W6 ?     {6 h" M8 t& M5 {2 D/ k* b1 Z( _
          flag = 1;1 j2 I, G2 e$ y9 n. q# ^9 U
     }
# a0 p0 `' f0 D/ Y2 i
% a- j+ K' r% J! v     while('\0' != *pTxBuffer)7 {' z, v/ w. X; R6 |  ^
     {' c6 k9 Z0 f6 T$ {/ i. I9 u4 I
          if('\n' == *pTxBuffer)
1 s% p9 C6 D; {+ ^3 r          {, S5 Y+ W* I& A4 n
                   UARTCharPut(SOC_UART_2_REGS, '\r');7 e8 M- x8 Z& u0 v4 Z6 h' l, v. J- E
                   UARTCharPut(SOC_UART_2_REGS, '\n');
0 ]: o4 z8 b8 X' a: q3 t" E          }& Q& E$ @/ R3 w) t! m( Q
          else0 Q' D: w$ I, w! G2 T2 q
          {
2 ~1 r& X9 e) Q3 h5 o1 `' c) o5 N                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);9 u2 v# c5 `/ _) e8 M
          }. }& b7 V7 e! w8 Q9 p- r
          pTxBuffer++;, x+ ]5 s8 }3 u0 }
          count++;
$ e8 N. h: |  X0 I! G+ s2 }6 E. Y7 N$ u
          if((0 == flag) && (count == numBytesToWrite))
5 k3 a% m7 b4 S7 B8 `( X# Z          {: l9 W1 c1 L9 t; ?- V
               break;
5 k: X4 U- ?, e' w# b; r          }' N, R6 }9 E3 @

1 I) N( z+ {; e' q# g7 Z5 u     }
. c" J1 ], T4 `9 A, r6 D+ ^" E- D% P9 D: ~$ N* A1 Y1 x
   return count;
+ w$ c7 E# N  |( X! i  ?}
7 l* h$ {* v' n8 m) Y3 D2 p! Z8 o2 P# \& r5 _( F2 q

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
. K+ a+ e/ v6 |: ]6 x9 f5 f2 u看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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