嵌入式开发者社区

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

作者: 51DSP2016    时间: 2017-3-21 19:11
标题: 光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。  P" e  U7 [$ m2 B
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
- Z5 t+ z  B: R% y2 U, o* H
3 {* ^; _9 j$ D9 r# U& m& F( Y( Junsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
4 A* Q" \" A8 g# I. t# Z# M1 T{! K& t  x+ w3 f/ r& O7 N' S
     unsigned int count = 0;
3 A' O- S$ T" M     unsigned int flag = 0;: B) x6 e- W; T# c' y) q
; a. F' r' i+ Z+ v3 E( Z- L
     if(numBytesToWrite < 0)- Z' \& Q' X* C; ]: x0 J7 o
     {$ {3 S. Y( A. B- g$ J. y
          flag = 1;* T* \; q1 A" ~. F. |* `
     }$ g* m0 M: T+ Y3 q) C
: @( R/ }# F! C$ Z/ a# H
     while('\0' != *pTxBuffer)/ U& v. X! \( q8 a
     {
( B7 j* ]/ ?* B; V          if('\n' == *pTxBuffer)
8 b/ G' u7 z  M2 [& V+ {          {" v+ ]: _. t) ]
                   UARTCharPut(SOC_UART_2_REGS, '\r');
; U1 }; R/ F3 P) h                   UARTCharPut(SOC_UART_2_REGS, '\n');2 d7 F, `% r3 E( v' I. \8 i) I
          }: ~4 @+ K2 ~, Q7 b1 x
          else
3 a. K& }1 U5 J$ Z& F          {* R- E7 b* e: I5 k- H
                  UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
4 D4 g: B6 G, E7 s7 M% Y          }" y# v: K4 N# ?2 o9 U
          pTxBuffer++;0 q& s; j: Y$ v+ Y8 a
          count++;
- t$ a) `- e. t* B5 o- n$ w7 w5 R4 P; r
          if((0 == flag) && (count == numBytesToWrite))- N+ X3 {% M2 Z5 ]
          {
8 O0 s) O; ~$ r5 C% u               break;7 k4 \; \: z/ ^7 K  S. i
          }
& a0 [7 E8 t  J" d& `( b9 \  u
4 ^; g2 d( E) n3 l9 k* r+ Y" w8 R     }3 }" m, Y5 \6 I" X$ `9 z5 [1 c- H# Z$ Z
, n, X+ c% G8 B7 m
   return count;
% x1 d  K" u0 u6 m}! }# X% ]7 f# `" m0 l* Z" {
# K5 c9 R7 ~0 I9 O! `

作者: human    时间: 2017-3-21 22:00
没有出现这样的问题# J: P$ `4 Q% @! O- U+ G: Z) m
看看是不是debug模式
作者: 希望缄默    时间: 2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设




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