嵌入式开发者社区

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

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

+ B; r: c) p. G% H0 G" v5 Uunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
2 E& [  Z' a4 R{
0 y. ]3 P% m8 j& [+ e! Q     unsigned int count = 0;+ Q- \; p" o/ {  c7 _5 K7 c" _$ y
     unsigned int flag = 0;0 z) W9 P: X! Q
) J8 Y1 Q5 c- v3 g4 t8 n# u# |
     if(numBytesToWrite < 0)" R3 o' L0 s' u9 ^% ], O
     {
* s. G) g" Q6 {% Y          flag = 1;8 [* M& T% j! b( J! @
     }
- e1 O- d! {7 Y9 q) Q' a# s6 X1 v6 a8 w& b
     while('\0' != *pTxBuffer)  |, f$ _9 g2 ^
     {# N8 F3 J7 q" m- N3 R1 P; w$ A
          if('\n' == *pTxBuffer): y+ Z) |& f0 K9 v( Y  C9 @: B( T0 b
          {- b/ J5 ]' g. w7 F+ c" F4 ^' {: V
                   UARTCharPut(SOC_UART_2_REGS, '\r');
5 R4 a& B5 O; d: U; c                   UARTCharPut(SOC_UART_2_REGS, '\n');6 e- C3 f. f5 V: m
          }
0 K) f% `' K, r6 o$ j          else, k+ k# e- S( E" ~: S
          {( H+ r. S( Q) v' z
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
0 ~# l( T2 T2 X( b          }
% X- d4 U6 W6 f: {$ d1 s          pTxBuffer++;9 V$ @8 V7 U0 a+ R& ~: |9 ]
          count++;
" f- v3 E/ c, k& J* _3 X3 G% B
4 i/ X; K% p, e- a2 ?          if((0 == flag) && (count == numBytesToWrite))
( P9 Q" U9 |1 v9 I7 h, A1 s1 p          {/ g9 B/ F, c+ Y! x9 L: E
               break;8 ^; u2 B" ~' r0 U
          }; Y- f' a2 ?) Z1 ^, o
5 Z+ k8 Y2 F! M* ]+ a4 |
     }& F5 D. F' I' \/ S5 r- F

; q2 s) u0 v. p, l9 i# k  z! s   return count;
8 V7 L. R0 R. s}6 t8 E) Z& s7 x2 s) w. E3 \
0 R3 p$ e" Q( R* n

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题6 {- ]# a3 [) j7 J- F
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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