嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
! l; e" ]7 E/ f0 n# }" k1 [经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。" x+ v" z# P/ a* j$ \" Z

5 X0 b+ ^" _& I" z7 Kunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)8 t4 r/ ]) V9 K- D) h( C5 c
{
+ [) P1 t& O) d. |- }     unsigned int count = 0;
6 a7 F6 E! L5 p4 B0 {* ?. ?9 k     unsigned int flag = 0;* E% f# c, M0 q# O+ u, z
1 C) i3 q: x5 Y5 r
     if(numBytesToWrite < 0)' i, s8 C6 g" a/ S6 I" P: {
     {6 R* d6 L/ w. c6 D' h3 Q4 I/ u& X
          flag = 1;1 M  ~6 p/ s. k9 F  J) n6 X
     }
9 h4 `& T& V' `7 X) G! \6 w( o
- x% b2 m  J* p( Q, {3 A# Q9 Z     while('\0' != *pTxBuffer)8 Z. M% f$ Q/ d! ~% P0 S1 _. B
     {
: \6 c5 W( [  ~3 Q3 t% X: x          if('\n' == *pTxBuffer)
1 {4 ?& \% Z$ S$ L. n* [          {
/ M, Q, `2 e; v! P" W4 A                   UARTCharPut(SOC_UART_2_REGS, '\r');
8 H* I" a6 O7 P- Q/ ]                   UARTCharPut(SOC_UART_2_REGS, '\n');! G; |* `$ K2 `' X
          }0 X! W, u4 X3 l. J
          else. |% {9 \; X7 r/ S- A5 R" P' E
          {
& q# ?' m3 V+ w+ f/ P$ {8 @/ o( u                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);4 w) v: z! t; a2 M
          }9 p& q3 C4 h* f
          pTxBuffer++;7 P& q* Y( ]2 M/ M  K) i8 w  W
          count++;, ?: V/ Y/ b6 p8 i' i3 g
% l& U9 H5 R3 F% T
          if((0 == flag) && (count == numBytesToWrite))
( F$ g1 ^! ?5 u! [7 J5 A          {$ e" c  f& Q9 U
               break;; O' y% ~4 @" ?: b: s
          }
/ A2 f5 ^& q) y: f# j. Z, @# M6 f( r
" _0 d+ d3 n; u# |: n     }: ]# @2 N( M7 M# S7 _0 X

- y) \* T! V, q1 X8 @( _   return count;" d& n( S  U2 s( R  \4 s3 ]
}
/ B" P" V+ M, B2 d$ l9 ?. }# m( a; s6 ]

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题1 i" T. K" N. Z1 a
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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