完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
CDC先给STM32发指令,然后STM32获得uart2的11个数据(数据结构,一位数据长度,跟着10个数据),通过CDC把10位数据发给电脑。
问题,1,发的数据数量总是有问题。这个已经通过中间变量解决,但是目前仍不知道数量改变的机制。 2,发一次指令有用,但是下一次就没有数据了,然后再发一次才有。经过示波器查看,uart没有动作。所以问题应该是没有触发CDC。应该如何解决呢? //回调函数 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { UNUSED(huart2); Rx_temp[R_Num]=aRxBuffer; if (R_Num==0) { Rx_Num=Rx_temp[0]; } R_Num++; if (R_Num>Rx_Num) { Rx_Flag = 1; R_Num=0; } if(R_Num>15) { Rx_Flag = 1; R_Num=0; } HAL_UART_Receive_IT( huart2 (uint8_t *) aRxBuffer 1); } int main(void) { //初始化略 HAL_UART_Receive_IT( huart2(uint8_t *) aRxBuffer1);//开启uart中断 while (1) { if (Rx_Flag==1) { TempNum = (uint8_t)Rx_Num;//如果没有这个中间变量,Rx_Num会自己变化,不知道是为什么。 for (i=0;i=CDC_rx_len) { CDC_rx_len = 0; i=0; } } |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
464 浏览 0 评论
478 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
439 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
994 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1056 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11790 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 19:09 , Processed in 0.656736 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号