嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
; m/ l3 q9 P( g" Y) j% w2 M经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
9 b/ n5 b7 r3 d' _6 f- ~# ]; c# R! g( S, C
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite), c8 b* a) X6 p1 O$ j" u* H0 [( m# f
{5 w3 ?8 p" u9 `+ O7 G- p
     unsigned int count = 0;
% ?8 [! v, g( ]% K& _$ }8 M     unsigned int flag = 0;
3 c  w1 \4 n; q! Y8 x& r0 l0 K  u7 d! Q% y# s$ R
     if(numBytesToWrite < 0)' i" Z# C2 Z6 n
     {% T5 g3 @9 p1 Y, H: T( P" ?
          flag = 1;
! l" g; u, X+ r# x+ q     }8 E6 ]' ]+ B+ ~5 k' g) C
0 y; F6 ^& K. m) U+ G$ q% W+ C# W
     while('\0' != *pTxBuffer)
$ D  b9 _2 t, A# \( c+ s: O4 d     {7 V  M# n3 g$ O/ p
          if('\n' == *pTxBuffer)
( a9 Z  {* [1 Q" h! L. I+ H# F          {
8 j- m  v  U8 {1 ?8 c                   UARTCharPut(SOC_UART_2_REGS, '\r');
$ q$ v+ N' Q9 I- M# R                   UARTCharPut(SOC_UART_2_REGS, '\n');
& H1 R' D# u0 x) M3 x% l0 j          }8 I4 S( T4 S1 ^; L% S
          else
6 w- n5 p7 M# o3 T5 D2 T          {
4 A1 a0 {6 N# @/ k  b, B* R                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
. X: x) X7 G. V# A( I# h          }
. ?3 e3 i0 V' U% w          pTxBuffer++;
# n( E* X9 O, h# o1 p8 B8 N2 L8 R          count++;
) E1 r9 ~& k. B, T4 J6 ?6 i
9 P& @* g  ^# f. F+ Y+ Q/ N          if((0 == flag) && (count == numBytesToWrite))  [) C, V* z1 q) L0 h  n5 [9 \
          {
' I* P) F9 i* u. ^9 {0 U               break;
/ v( K5 b5 V  o" V          }
7 K! D9 R* f0 B/ z; W
  K0 C# I8 n! m  Q" ?9 A     }) K! g7 ], w7 ?' S/ O- j: ]' I

8 c- e* _( t# {, i' Z   return count;
4 Q& `8 g8 S* @% m% N}
! \* M/ n* D5 E2 {6 D& @/ [/ }# y9 T" s. ~

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
" J( A! \8 T8 b: K& l- ?看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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