嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
9 h2 i& l$ b  J; |经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
' t# B# {: D) C) }2 b( |' p0 d
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
- F  ^0 h; }* r* m. s' |4 X9 o' J{
# x& h  |) M% [3 m& F& F     unsigned int count = 0;! \, d) {& K7 Z7 i( m! ^
     unsigned int flag = 0;- \5 I2 x$ h+ ]0 Z  Q* D; [9 O4 `
# o- R' |- M- i4 P2 T, G0 _
     if(numBytesToWrite < 0)+ y, V* Q1 O2 D; P+ `$ B0 }
     {/ j; k0 Z) L+ e, L' J* [5 D) A
          flag = 1;( v9 x2 l( T4 E' L8 ~( H
     }
, s% h2 `4 v0 V, M2 a! f, }6 K# j. [& B( ~! p3 n4 p
     while('\0' != *pTxBuffer)
* X2 B5 r& i) U     {" a; |7 I5 P4 s! c
          if('\n' == *pTxBuffer)
4 f, ~* t' }6 Q. S5 B' p          {
1 e" ]! C4 F! s$ c6 ]                   UARTCharPut(SOC_UART_2_REGS, '\r');  F. E( `9 K# r- u1 A
                   UARTCharPut(SOC_UART_2_REGS, '\n');
9 L0 y' j' \' }/ m/ p; x          }! ~4 n5 A9 L/ j- E; V! h
          else9 K; U- p* o: j1 _4 W
          {7 E/ g- w' c2 i9 ^6 m
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
2 b6 E/ z) Z- x& |- f+ C* ^          }8 P; x9 G& _2 X/ V: n! F
          pTxBuffer++;$ ?0 h7 ^4 u( I! X
          count++;# ?, o- N# i: H  X5 U
/ `; U, A* H- \
          if((0 == flag) && (count == numBytesToWrite))
! _4 k7 s* j+ y4 ^/ d  Z! b          {
0 o1 _, F- s- I) K; Q9 ]8 S8 ^4 }9 r               break;
/ w. f0 p2 G+ P1 ~6 y          }1 v' k4 E) r: a& K" ?3 V) z6 b9 y

8 F8 j* L6 j4 i$ o     }
& q' I* E, \, u6 v) ?) u
1 W7 h8 t8 Q' M: s   return count;% |# i1 x) O6 ~* K: P! R5 H
}( {- K. r# K( n4 y7 f+ i4 ?8 q- D

' F" F5 O7 I* }( ]4 p
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题4 R( k* P' r! r) a0 y, i3 v
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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