STM32F103串口1收,串口2发不正确
固件库:STM32F10x_StdPeriph_Lib_V3.5.0MCU:STM32F103VET6
中断收,查询发。我一开始是串口1自收自发!正常!后来直接在发里改成串口2发,就不对了!只能收发一次正确数据,后面就没反应了。大家帮我看看吧!其中在发里有对数据头尾的判断!
收:
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_RXNE) != RESET) //中断产生
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除中断标志
Usart1_Buffer = USART_ReceiveData(USART1);
delay_us(220);
Usart1_Rx++;
Usart1_Rx &= 0xFF;
}
if(USART_GetFlagStatus(USART1,USART_FLAG_ORE) == SET) //溢出
{
USART_ClearFlag(USART1,USART_FLAG_ORE); //读SR
USART_ReceiveData(USART1); //读DR
}
}
发:
while (1)
{
if(Usart1_Buffer == 0x5A) //头
Usart1_Tx = Usart1_Rx-1;
if((Usart1_Buffer == 0x5A)&&(Usart1_Buffer == 0xA5)) //检测到头的情况下检测到尾
{
Usart1_Len = Usart1_Rx-1 - Usart1_Tx; //长度
for(tx1 = 0; tx1
RE:STM32F103串口1收,串口2发不正确
串口2的程序初始化对吗?回复:STM32F103串口1收,串口2发不正确
我把串口1自收发正常的程序改成串口2自收发,果不其然,能够收发数据,但是不正常,重复收发2次正确数据后就不可以了。我串口1波特率19200,串口2是9600,难道有影响?RE:STM32F103串口1收,串口2发不正确
你仔细看一下,串口2的IO口设置,还有在中断中串口源的处理,贴出的代码处理的还是串口1的数据。RE:STM32F103串口1收,串口2发不正确
贴出的代码处理的还是串口1的数据?我是1收,2把1收的发出去 这样写不对吗?:oRE:STM32F103串口1收,串口2发不正确
你看一下串口配置那,是不是不对。你是否开启了串口发送中断和接收中断?回复:STM32F103串口1收,串口2发不正确
我把我的主要C文件 发上来了 在main里还有个求校验和(从数据头到校验和之前那位数据按字节异或)的过程!能帮我看看嘛?我自己看不出来了 晕! 现在串口收数据刚开始很不正常!老是24 24 多点多次 基本正常 但是我觉得校验和不对! 帮帮我吧</b></b>RE:STM32F103串口1收,串口2发不正确
求大家帮忙看看 谢谢RE:STM32F103串口1收,串口2发不正确
我用的是13年15周的片子,串口2的接收的确有问题,收的是乱码,同样的程序,在12年的片子里,就没问题,大家有没有遇到类似的问题啊回复:STM32F103串口1收,串口2发不正确
我曾经也遇到过
页:
[1]
2