嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
4 ~# _) [6 F( t( j经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。7 N7 l, G; e3 a5 \2 V, K
- g, ]* f& v3 B) T, U/ a
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
0 u. i* L: `# J+ b5 v, Z5 I{
) R# S9 ?$ f% k8 }' M     unsigned int count = 0;9 `- _' q0 K. U/ F: {1 p
     unsigned int flag = 0;( N" F- ^4 w* t2 x
- C$ R7 }! a/ X2 c
     if(numBytesToWrite < 0)/ b; V" `: ?4 j  w( j5 q. h
     {1 c2 ~. \1 g0 r
          flag = 1;
7 Y/ [& P# s9 g     }
' S2 h7 e# f0 R% T4 ?* W# O8 T% a, @1 `5 h( F! f3 D
     while('\0' != *pTxBuffer)
! @1 A- k! X! J) Y2 J4 \+ {$ L# ?     {" L5 w* s! D! c- E; Q
          if('\n' == *pTxBuffer); M( Q, J& Y8 F: h5 e0 v$ J
          {
, y; {( ]; A( s, {: e) y                   UARTCharPut(SOC_UART_2_REGS, '\r');
4 ~& V' L$ P' f$ |; B" d) ^+ {                   UARTCharPut(SOC_UART_2_REGS, '\n');8 `0 U9 w8 T) U/ T4 w
          }
+ @% c: d+ Y  W. ?4 d/ I* k% W( z          else& V& j' j% N7 `0 n9 b
          {
- P' _9 r; D- i                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
1 O; T: B0 {8 p+ X: B          }
' w6 H+ G6 W( G7 ?4 u% t          pTxBuffer++;) s8 r" p' I0 \) ~4 \, F- ]+ a
          count++;
* k% m5 Y" T7 q" q% F0 \# ^9 T) T5 l0 j; R) Q
          if((0 == flag) && (count == numBytesToWrite))' Y0 ~$ [, X1 `, N, d# w
          {8 C% r8 q1 E5 T0 o; n; g7 J2 I
               break;
. }! D; O" O& {) u% V          }4 ?! M; C5 S/ m% H) t1 B' d

4 K+ A. |5 H" c' E8 Q$ u     }
7 V7 A7 h% r, U1 Q, J
1 r5 ]/ a7 {# ?! P  o. s   return count;
7 c" h6 k/ K! |: p+ O+ `/ u}
2 L) e; l6 D7 U8 A% P/ m( _
9 ?1 C& X" n/ N
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题1 s0 q5 V  Y8 p6 Q6 {
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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