本人从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
抖动 不是说精度,我没有要求程序能精确延时,我要求的是波形稳定,我的理解,每个相同的
C1_SET
DELAY_US(4)
C1_CLR
每次运行时间应该是相同的,那样输出的波形就应该是稳定的,至于稳定后的时间是多少,暂时未考虑。
c1_set;
delay_us(4);
c1_clr;
delay_us(4);
时间太短,为何会抖动?
大侠能否说清楚点
一周热门 更多>