嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。) A1 l- @1 ^7 ~0 n$ B9 b  V4 g
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
6 k4 g  ~7 o# q: P( |
( G- E! H8 n+ K* V1 Lunsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)( O$ t  f0 E+ q! w5 t4 w+ p; Y7 S
{* L! |/ v; P8 R" R+ h' z% x. \
     unsigned int count = 0;  P, ]1 O3 }5 N2 f2 E% S
     unsigned int flag = 0;( E- ^( z9 q3 y: s; |# {2 f+ Y+ u
0 ~' n& w, Y1 A/ _; b
     if(numBytesToWrite < 0)
2 p# S6 x# N4 C# H) v' [     {. G& v8 Q& p* _* {3 g" N
          flag = 1;
4 I+ P# _; [; C     }) \1 \3 ^+ T, t: S/ I
% H) k- o6 I9 \+ K  ]
     while('\0' != *pTxBuffer)
) ]. L) m' A' C/ J: s& w     {  u- V7 P7 m$ }, j
          if('\n' == *pTxBuffer)  Z$ ]4 t8 \4 ]" ?; q6 l$ E: B1 v& a9 K
          {
: o7 h7 J( N( \4 O) U% J5 C                   UARTCharPut(SOC_UART_2_REGS, '\r');' w8 b# L  N5 ?/ e/ ^, b5 b5 `
                   UARTCharPut(SOC_UART_2_REGS, '\n');
- W* l: v9 ?, \# ~& h          }
$ `! y  S& k5 [# H          else
! S+ H/ o2 l3 O$ @, ?          {7 T  G) z: f/ a4 N4 q, K
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);; o9 p0 |/ e9 F' W/ w
          }( m( v, {/ C! u1 T
          pTxBuffer++;
% C7 |3 u$ Z6 C) L3 ]2 c0 T          count++;/ v9 j' y( w) b% y! M  ]

! }% t# A8 P  R0 x9 F; k, n6 q          if((0 == flag) && (count == numBytesToWrite))4 l; \! T# P5 P4 @5 N- C$ P
          {( h; @2 |& B# ~4 A; ]& Z
               break;& @; [* M4 R, R
          }
; q: Z& x1 _, t3 y! c2 J& [" Q8 B" \6 V0 n  }! E3 u9 E9 k9 a
     }& ?+ b/ _; \0 G% d( G* {: N
  t$ T7 Q1 K5 G
   return count;
$ S7 ^# l! V9 \$ R}3 v/ [2 r" v; w9 R% U. {
7 `/ i  ?$ `( g. Q1 Z( T  _

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




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