发 帖  
原厂入驻New
[问答]

STM32F103VET6测试MPU6050时printf()函数有个很奇怪的bug

739 Printf STM32
分享
大家好,鄙人在STM32f103VET6(野火指南者)上做开发测试,用ADC接收三路传感器信号,再用DAC发出一路信号,另外在I2C接收MPU6050的信号。
测试时发现一个很奇怪的问题,用prinft()函数把信息从串口打印出来时,有一路DAC信号,只要""中的内容短于一定长度,烧录进开发板后,板子就无响应,Keil上显示“could not stop Cortex-M device”。把BOOT0置为1,再修改程序,烧录,BOOT0置为0,复原成功。

下面是测试代码:
            printf ("P=%.4f,", data[0]*1.0/(1<<16) );
            printf ("R=%.4f,", data[1]*1.0/(1<<16) );
            printf ("Y=%.4f,", data[2]*1.0/(1<<16) );
            //printf("desir_P=%.4f,", desired_P); 不行
            printf("desire_P=%.4f,", desired_P); //可以
           printf("r_p=%.4f,", real_P);
            printf("a=%.4f,", acc_data);
            printf("s=%.4f", sick_data);
            printf("\r\n");   

当字符串长度小于等于"desir_P"时,烧录完程序,开发板不工作,当再次烧录时,Keil就会显示“could not stop Cortex-M device”。

第一次发帖,问题描述的不清楚,请大家多多包涵 :)


0
2021-6-11 10:06:44   评论 分享淘帖 邀请回答
1个回答
看看哪个大佬能解决,跟着学习一下
2021-6-11 19:00:45 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /5 下一条

快速回复 返回顶部 返回列表