完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用串口助手手动发送和1秒一次的定时发送时,STM32F103RCT6能完整地接收到15个字节的数据。
用串口助循环发送时,与延时有关。500毫秒延时,STM32F103RCT6能接收到12个字节的数据。5毫秒延时,STM32F103RCT6只能接收到2个字节的数据。 用实际上位机发送时,STM32F103RCT6能接收到最后1个字节的数据。 实际上位机是这样发送的: for(int j=0;j<16;j++) { mLogMotorNet.SendData(buf[j]); } STM32F103RCT6是这样接收的: for(i=0;i<16;i++) { j=i+1; if(USART_RX_STA==j) a=USART_ReceiveData(USART1);// } 串口是USART1,程序模板是使用正点原子的。USART配置、初始化和中断服务函数都没变动(照抄正点原子的)。 上位机是很早以前开发的,主板和软件系统也是公司自行设计的。上位机发送的速度很快,一瞬间就发送了(眼睛看不出其循环发送过程)。这种情况,STM32F103RCT6怎样才能完整地接收到15个字节的数据? 烦请指导,谢谢! |
|
相关推荐
2个回答
|
|
调试看看你串口中断接收那儿数据是否收完了,程序不完整,看不出来太多问题,建议把串口接收中断函数贴出来吧
|
|
|
|
接收程序有问题吧,串口接收中断是来一个字节中断一次,所以每次进中断都要读接收到的字节,正点原子里也是先接收,再判断接收是否完成
Res =USART_ReceiveData(USART1); //读取接收到的数据 if((USART_RX_STA 0x8000)==0)//接收未完成 怎么你这是先判断再接收,这样就可能丢字节了 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1632 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1559 浏览 1 评论
985 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
688 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1605 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
655浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
525浏览 3评论
540浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
512浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 20:11 , Processed in 0.879761 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号