嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。- V7 s" W/ r/ g
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。: q7 J/ a+ \. y3 K

+ \# C: l( k8 {" p6 e$ z8 @unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite); M8 q1 l4 D& R: {7 M/ W5 T9 J- K$ j
{
6 A# b' [& U! O- b     unsigned int count = 0;+ l0 c! M( Q2 h( n2 i5 d5 o: e
     unsigned int flag = 0;" }& l) K" ~/ M+ e/ y9 \0 P

- O4 n% f' |4 }4 d8 d     if(numBytesToWrite < 0)- w6 A. b- J! b6 j& ~
     {
' z5 C+ @: m7 g# m7 D- T/ d: U0 f+ K0 L          flag = 1;4 Q6 G. c# I0 P% W* z
     }8 B0 h9 }# y/ R5 _

: ]$ t0 z" Y  S* U4 ~3 N     while('\0' != *pTxBuffer)
# P7 h# f# ~" m* y' u9 L& Y, G     {
/ l8 G) w. _6 I5 j: P8 _          if('\n' == *pTxBuffer): \; \5 v1 A, a: N
          {' |! E1 K2 f+ n
                   UARTCharPut(SOC_UART_2_REGS, '\r');
; k$ Y1 Y7 F% t4 h' @. P' S5 S                   UARTCharPut(SOC_UART_2_REGS, '\n');7 U3 C0 z5 U$ _$ g. v1 y
          }
: C) r$ K% t: q' [1 B! n2 H9 Z          else
5 _, `8 n0 a- x# l( r          {! S0 O6 R& a2 j/ {3 ^3 J
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);  I2 s( g: @; A6 N, Z# D4 X( J
          }
3 ]' K( Q% V6 Y          pTxBuffer++;4 {  S0 N2 e4 k8 K5 u6 `
          count++;
, C) A- Z* h, q  C! Z  p2 S1 o- @. B9 S7 q: c  \% M$ v
          if((0 == flag) && (count == numBytesToWrite))0 m, e( W& [, f$ b# z
          {: e* |* F6 Q; A
               break;4 i# k: T: E8 v5 \  r3 F; @
          }
. E8 R& o8 p* D* }3 p2 I* w5 ]8 r- T! `& l' }! n/ ~6 q2 [, r. w( w
     }
& R) [, o' f( c' `' c0 B3 l3 S' j0 c7 x+ P/ U
   return count;8 E- H! {* k& j/ J9 d# W5 f
}7 x! D/ P" ]) U0 I! u
' ^, S  [. L  e4 b+ I$ y

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题# d' F) m1 _, V4 E. G; S. @; l
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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