嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。) h' q+ k7 ]! j: v( D) U
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。. a- @' S4 j/ H4 Z5 \" n9 Z0 K! \7 T

# i. T2 I" G+ N: M' ]/ j) S9 Q, kunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
1 q! u+ J5 _- |  e5 J+ P( z( f& I9 J{4 T; u: A, m. r
     unsigned int count = 0;& _* j. u. U; c4 e  J
     unsigned int flag = 0;
$ G" n+ {  l/ P$ W( K+ E2 B% _2 j7 k5 L
     if(numBytesToWrite < 0)1 Y8 K( [6 Y% x9 t3 Z; V, b) R
     {2 [1 K/ H6 c8 ^: E' k# I: V
          flag = 1;
6 ]0 V/ P- P9 b$ f: J     }1 [/ Z) Y3 R1 W' Y  Z- j

8 I6 V" w, ^4 L& V- A3 q. e) Q     while('\0' != *pTxBuffer)# X7 A/ W: A- t$ n) ^3 b8 M8 {
     {4 n3 T4 v9 \; |, F* r7 Y: H* O
          if('\n' == *pTxBuffer): A+ T. p, R8 [/ R  w
          {$ W5 L+ f/ B& @' p7 H8 W/ a" \
                   UARTCharPut(SOC_UART_2_REGS, '\r');3 S4 t8 a! l/ L0 T' v
                   UARTCharPut(SOC_UART_2_REGS, '\n');
' v0 ^7 L  Y6 b5 q          }( k  X3 P# r& _* k
          else
  y" }. {8 b/ V; S          {% A8 x9 y) n" h" `: H- ^* i
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);$ P0 }* E" V) V( K
          }. H1 ?8 z. X- B" J# f; [
          pTxBuffer++;
& U8 ~" q) k5 V7 y# T3 c  M! @          count++;
6 z" A7 d5 o9 Y* Z7 R4 Q6 _0 \1 Q
; Q3 B; P7 p% f) I          if((0 == flag) && (count == numBytesToWrite))8 {; b! f; C- q  e8 @! R
          {
8 C7 H2 [7 g( W7 v               break;+ b4 n8 o3 T6 e- d. h2 Z6 u
          }
' r7 Q& O5 R8 x  }4 T9 g! a& e6 K2 P3 G4 |- x0 {5 x3 Q
     }8 h. @. Z: Y- Y
" W5 J0 u: V/ y; H1 Q3 S
   return count;' S" p' V7 ~' B2 ]7 }/ c1 X
}* f  G5 l  h/ w

7 r' C( P& @5 U3 Q0 M! j( u
作者: human    时间: 2017-3-21 22:00
没有出现这样的问题4 G" S& s# H; D2 ~
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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