hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 771|回复: 1

atmega128发PWM产生干扰的问题

[复制链接]

481

主题

481

帖子

1465

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1465
发表于 2024-5-14 16:49:46 | 显示全部楼层 |阅读模式
程序如下:
while(1)
  {
          delay_nms(40);
          PORTA=0XFF;
          delay_nms(3);
          PORTA=0X00;
  }
我的目前想发出一个约23.2Hz的触发信号,可实际上显示(用示波器测地线的PORTA.bit0),过上大概10几秒,就会出现一个约33Hz的信号,用示波器测如图片所示。程序没有其它中断,请问这可能是什么原因。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

1

主题

207

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2024-5-14 16:50:21 | 显示全部楼层
不清楚 delay_nms是如何实现的,但是一般来讲,这样的程序会被中断或其他优先级更高的任务打断而出现这样的中断。建议在定时器的ISR中修改管脚的电平。当然如果使用MCU中的PWM发生器最好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2025-1-5 11:55 , Processed in 0.058183 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

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