完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
波特率是9600
void UART5_IRQHandler(void) { u8 res; //if(USART_GetFlagStatus(UART5, USART_FLAG_RXNE)!=RESET) if(USART_GetiTStatus(UART5, USART_IT_RXNE) != RESET)//接收到数据中断,(接收到的数据必须是0x0d 0x0a结尾) { res =USART_ReceiveData(UART5);//读取到收到的数据 if(UART5_RX_STA TIM_SetCounter(TIM3,0);//计数器清空 if(UART5_RX_STA==0)TIM3_Set(1); //使能定时器3的中断 UART5_RX_BUF[UART5_RX_STA++]=res; //记录接收到的值 }else { UART5_RX_STA|=1<<15; //强制标记接收完成 } } } 采用的是循环发送数据方式: /************************************************** UART5发送一个字节 **************************************************/ void UART5_Tx_Char(u8 i) { USART_SendData(UART5,i); //发往WIFI模块 while(USART_GetFlagStatus(UART5, USART_FLAG_TXE)==RESET); } /******************************************* UART5发送字符串 *******************************************/ void UART5_Tx_Str(u8 *pt, u8 length) { u8 i; for( i=0;i //printf("rnUART5_test_2:rn",USART_ReceiveData(UART5)); } //delay_ms(500); } UART5发送数据没有问题,但是接受数据时,平均每10次有两次会收不到数据,这是为什么? (UART5<=>WIFI,手册技术支持上WIFI波特率115200,但是我试过115200,收发数据根本不行,9600恰好可以) 也就是说,当状态值UART5_RX_STA为数组最大缓存值时,接收数据时正确的,如果小于数组最大缓存值,则收不到数据,或者接收数据不完全 |
|
相关推荐
4个回答
|
|
问题已经解决,我忘记在U5串口中断里加清除中断函数了,还有我的我的逻辑也有些问题
USART_ClearITPendingBit(USART_TypeDef* USARTx, u16 USART_IT); USART_ClearFlag(USART_TypeDef* USARTx, u16 USART_FLAG); |
|
|
|
解决就好,,,,,,,,,,
|
|
|
|
|
|
|
|
void Rec_data_buf(void)//用于发生接收中断,函数功能:接收一帧数据存到结构体成员接收款冲里面,记录接收数据个数 { u8 dat; static int i = 0; if(USART1->SR &(1<<5)) //收到数据,可以读出,读数据寄存器非空 { dat = RecData(); uart1.RS485_RX_BUF[i++] = dat; // if(dat!=0x00) if(!Modbus_Data_Over_Flag) //MODBUS协议接收数据帧结束标志,帧间隔,modbus标准是3.5-4ms { TIM2->CR1|=1<<0; //使能计数器 TIM2->CNT &= 0x00; //这里是向上计数器清零 } else { uart1.RS485_RX_CNT = i; //记录接收到的数据个数; RS485_Rec_Over_flag = 1; //主函数判断接收完成标志 Modbus_Data_Over_Flag =0; //协议帧标志清零 i = 0; } } } 我这个为什么不行啊 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
654 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2242 浏览 1 评论
771 浏览 0 评论
1530 浏览 1 评论
2276 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:42 , Processed in 0.968491 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号