完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人从MCS—51转到STM32,在学习中发现,STM32输出的波形会有抖动,我程序操作过程是:
#define c1_set GPIO_SetBits(GPIOA, GPIO_Pin_1); #define c1_clr GPIO_ResetBits(GPIOA, GPIO_Pin_1); 其它程序省略 while(1) { c1_set; delay_us(4); c1_clr; delay_us(4); c1_set; delay_us(4); c1_clr; delay_us(4); c1_set; delay_us(4); c1_clr; delay_us(4); c1_set; delay_us(4); c1_clr; delay_us(4); } /延时US级函数 void delay_us(int i) { int j; while(i>0) { for(j=0;j |
|
相关推荐
6个回答
|
|
正常的,你这种程序产生的不可能不抖动的。误差是存在的吗
|
|
|
|
TO ZYKZYK
抖动 不是说精度,我没有要求程序能精确延时,我要求的是波形稳定,我的理解,每个相同的 C1_SET DELAY_US(4) C1_CLR 每次运行时间应该是相同的,那样输出的波形就应该是稳定的,至于稳定后的时间是多少,暂时未考虑。 |
|
|
|
|
|
|
|
TO 安
果真如你如说,只要四句是对的,为什么? 我查看了DISASSEMBLY 的内容,多加几条如下命令,并不会导致编译内容不同。为何多加了波形会有抖动? c1_set; delay_us(4); c1_clr; delay_us(4); |
|
|
|
应该是程序的干扰。还有就是你的间隔太小了。
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
702 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1099 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1573 浏览 1 评论
532 浏览 0 评论
1065 浏览 0 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 04:33 , Processed in 0.586125 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号