stm32管脚输出波形抖动程序如下

2019-07-14 18:22发布

  本人从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)
  {
<span style="color: rgb(34, 34, 34); font-family: sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(238, 238, 238); ">  for(j=0;j
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
想搞硬件的实施人员
1楼-- · 2019-07-14 23:31
TO ZYKZYK
抖动   不是说精度,我没有要求程序能精确延时,我要求的是波形稳定,我的理解,每个相同的
C1_SET
DELAY_US(4)
C1_CLR
每次运行时间应该是相同的,那样输出的波形就应该是稳定的,至于稳定后的时间是多少,暂时未考虑。
TOPCB
2楼-- · 2019-07-14 23:46
while里面只写下面4句就可以了.也可能是程序影响的.
c1_set;
delay_us(4);
c1_clr;
delay_us(4);
想搞硬件的实施人员
3楼-- · 2019-07-15 04:16
 精彩回答 2  元偷偷看……
TOPCB
4楼-- · 2019-07-15 09:41
应该是程序的干扰。还有就是你的间隔太小了。
想搞硬件的实施人员
5楼-- · 2019-07-15 10:43
程序干扰?什么意思?
时间太短,为何会抖动?
大侠能否说清楚点

一周热门 更多>