在使用串口3时,接收数据正常,发送单个数据上位机也可以正常接收(如:0x33),但发送一组数据的时候就不能正常接收了
如:uchar temp={0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88},
for(length=0;length<8;length++)
{
USART_SendData8(USART3,temp[length]);
}
发送8个数据的时候通常只能接收到最后一个数据即0x88,偶尔也能接收到前面随意的一两个数据,但是在仿真,单步执行的时候又可以依次接收到8个数据,在网上查了说是和配置有关,于是就修改了下面语句:
USART_ITConfig(USART3, USART_IT_TXE, DISABLE);
USART_ITConfig(USART3, USART_IT_TC, DISABLE);
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
上面是开始的设置.
当把USART_IT_TXE和USART_IT_TC两者任意一个或者两个都设为ENABLE时,就一直进中断,其它的程序都不能运行,这是为什么呢?
初次使用STM8,望大神指点!!! |