嵌入式开发者社区
标题:
光盘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
else
9 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