嵌入式开发者社区
标题:
光盘UART2_INT例程
[打印本页]
作者:
51DSP2016
时间:
2017-3-21 19:11
标题:
光盘UART2_INT例程
使用CCS中的仿真跑一下 UART2_INT例程,结果在运行的时候一直卡在了 UARTPuts(" trolong ",-1);的位置。
3 x Q/ y! S5 a
经过单步调试,发现其实程序一直卡在了 下面函数中红色的位置。请问这是什么原因?应该怎么解决,如果使用开发板跑的话,还会出现这个问题吗?(因为ASIgen软件的原因,还没有在开发板上试过)。
3 o7 i, ~3 k( J
- e7 @8 k0 w8 w! i& q0 D6 d
unsigned int UARTPuts(char *pTxBuffer, int numBytesToWrite)
' E7 [" T' E7 X3 y/ C6 T! P
{
5 Y! _7 m- E# ]: }/ |; D; \
unsigned int count = 0;
1 @, s3 x4 e/ N& z9 }* C
unsigned int flag = 0;
[+ F8 q* b' Z- K! Q5 e4 y* m
) a+ l k9 O, f8 g- _$ F/ v
if(numBytesToWrite < 0)
; B( Y5 R. h" w3 ]7 z* I
{
8 ?1 |+ j" O. `% V
flag = 1;
4 a- Z# q! u. ^ s$ W3 C# R
}
u, A% j' {* `9 L$ X2 X7 D8 H
9 K3 E3 t7 c, e! I1 j8 ^9 E
while('\0' != *pTxBuffer)
/ w1 {9 I; {- Z3 o+ n' b4 B! T
{
8 h6 z" R0 ~# P
if('\n' == *pTxBuffer)
- _" `% X! ^+ D9 ~! ?4 @
{
1 n6 n' \! o, f' N+ T
UARTCharPut(SOC_UART_2_REGS, '\r');
& T1 f- N* i c
UARTCharPut(SOC_UART_2_REGS, '\n');
! f( M) |% ?: V6 X6 _
}
! i) {) R* n, W6 G
else
( J' b u7 U) `4 C/ Z3 O2 Z& w( @. v
{
$ r3 W: p# o& L/ B: `
UARTCharPut(SOC_UART_2_REGS, (unsigned char)*pTxBuffer);
h' a* Y+ L* E# B+ w9 c
}
. ]. a& _# K# L, k: H% A' O. n
pTxBuffer++;
8 N" n) v" Y) @
count++;
4 o: {& u9 t! l5 J) Q
( N. O, I! r, u' q+ y
if((0 == flag) && (count == numBytesToWrite))
, D4 V$ }% m& ?, c. B
{
8 ?0 ~& M5 z8 t1 m: w; S
break;
: H& Q" O R' F( x
}
) ~' D. v5 r7 o
! x$ Q' q' L M4 R8 R: A
}
; y+ [ k6 F' A3 K, _' R
" O5 P$ H5 B: W6 s# b* h1 ?
return count;
, E& F$ k7 [, w9 }1 \' G: G3 w
}
( A) a; `. O# E8 M
6 e1 q, I4 G, Q. | N$ ?0 _
作者:
human
时间:
2017-3-21 22:00
没有出现这样的问题
- w: M6 Q* P0 z r+ Y( b
看看是不是debug模式
作者:
希望缄默
时间:
2017-3-22 07:30
这款芯片软件仿真不能操作硬件外设
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4