嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
+ V5 s8 _& o" Z% ?8 i6 f, B经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
' N' f4 D- h' O; A0 a4 C; F+ v5 H# |  {) Q
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)  i  [* z; h2 `' X$ s" s
{& b; i. l0 {. {7 ~7 A9 n/ B
     unsigned int count = 0;
( N% l# q8 @2 o: c' k5 f% Q" n. u     unsigned int flag = 0;
$ Z% j/ K- N- S# d6 Z
& s2 O; ~  S7 a6 x: b     if(numBytesToWrite < 0)
  k( q) U9 b$ a) t     {
6 \: ~$ Q( I& E# {+ M6 |          flag = 1;
0 L$ r' p: Z1 @- W) g5 Y/ ?     }
4 p) \  E: |  a  x; f: x1 y8 u3 ~/ M' E# _, F9 j1 D
     while('\0' != *pTxBuffer)/ R* Y  g9 A. M! `7 B8 R
     {) H5 d$ |  k3 y  O4 s
          if('\n' == *pTxBuffer)7 x2 L; \8 g+ A1 [& w1 Q
          {! O* W- K8 \! x& D
                   UARTCharPut(SOC_UART_2_REGS, '\r');
1 q4 k" {3 `$ t( }) B6 y                   UARTCharPut(SOC_UART_2_REGS, '\n');1 ~8 {' S# C1 {" p
          }% ]3 L/ _  K4 o$ ?* _
          else
# X$ Q* R6 R4 D8 C          {
7 f, L7 B$ y1 T* g                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);. ~: f4 i4 Y* V& O, J  Z" [
          }
& Z5 C! b& n5 R5 j+ u          pTxBuffer++;# v( b( b! A9 U* d
          count++;1 Z, |  y' }4 g# q6 R6 I' e: \5 ~" Q

# U+ Q; @% a$ |% |          if((0 == flag) && (count == numBytesToWrite))
4 O  b, W: P" h- s& L* O7 \          {
& P6 u. L! q- L4 A               break;5 t: q- f' s7 M" B) Y
          }
& z4 J6 j6 ~1 B& x: @% A3 i3 v1 O5 a* |% o& u9 t) k/ i2 q
     }
; C$ V) Q( E: p) H: p6 T* W2 `" ?. _5 o$ U8 t
   return count;
# v4 m  p, j0 m5 B# E: _  T}; W6 a$ ]4 Z( G( X% ]* K5 e9 N
8 U. v5 c0 ^4 s

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题4 _" z$ w& B4 `4 F1 A+ f
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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