嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
; T+ ?' _- \' ?- p$ g9 C" Z经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。; ^1 X% z) ^) G. p0 `" k
4 X& I" y8 h/ d
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)5 i2 e  A+ D  p+ d4 P; G7 ^
{
4 x$ O+ R& w  V9 g' \) H+ Y/ R     unsigned int count = 0;
* U+ R) N% i2 l  }+ H0 |+ M     unsigned int flag = 0;
, Y& d/ ^6 C' q  B. Z
: Y! B7 T: v6 t$ m( R, D% o' t     if(numBytesToWrite < 0)4 H) E3 F0 X8 |# r! l+ R( U
     {
8 m/ d% p+ h" Y: k          flag = 1;2 F; r9 r" g9 F# D9 I6 t
     }
# {+ k$ J, l8 V7 Z% A
% p6 Z. q8 J9 w4 w* I: `     while('\0' != *pTxBuffer)
8 J( M* n, ]8 q9 B2 o     {
* n/ `; `: @; `          if('\n' == *pTxBuffer)
1 N) [5 N% Q3 a# v9 ^8 U          {
0 U+ V/ i  G, M! C( U% Y                   UARTCharPut(SOC_UART_2_REGS, '\r');
% I+ k8 _+ |4 ?                   UARTCharPut(SOC_UART_2_REGS, '\n');7 G) {, L7 {8 X' S8 J. g
          }
4 n7 z* k" h1 U          else3 ~: `* s# ]% R
          {
& D" `. v* ?- {/ Q1 @  k                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);4 c$ |# O" G4 K8 w) n; t
          }
- W6 x0 a' Z& s, ]4 j# |7 g4 C          pTxBuffer++;0 m* T) N: B2 a6 I3 ~# d
          count++;+ g! y& c5 e* y) R+ U- t. _
2 M  R2 p/ P; y6 A* X
          if((0 == flag) && (count == numBytesToWrite))2 R+ I+ c+ y# y+ d; B! M
          {
' [! o: H$ m* D/ ?9 a7 ~5 p7 b& \               break;
+ G" c( u# U3 w5 |' m1 s0 H  o          }
" I+ r2 {! j3 V  [  F) m) ~& {
) X8 t* G1 W8 g: O     }' f: }2 I( W2 [. s' @' L5 }1 M

: E4 U- y- ]" g# ?9 N: a' A4 l   return count;
% [4 o# H+ j% @}2 ~3 A9 N7 S9 j+ ]
  S5 Z; g3 }7 G8 k

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题
7 Q9 q  S4 u# j看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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