完善资料让更多小伙伴认识你,还能领取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); |
|
|
|
应该是程序的干扰。还有就是你的间隔太小了。
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
请问ad9910芯片的ram模式在接收数据时为什么会出现一段方波?
542 浏览 1 评论
663 浏览 0 评论
不懂真得问!FREERTOS在中断里面,可以调用有任务级临界段代码的函数吗?
1319 浏览 1 评论
1627 浏览 1 评论
1794 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-13 15:03 , Processed in 0.917388 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191