首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ATtiny85脉宽调制频率低于预期

ATtiny85脉宽调制频率低于预期
EN

Stack Overflow用户
提问于 2018-02-23 10:12:53
回答 1查看 503关注 0票数 2

我是编程单片机的新手,正在尝试在ATtiny85上使用脉宽调制。我已经在网上查找了各种教程,并设法让它与下面的代码一起工作。我的问题是,我希望PWM频率是8 8MHz/256 =31.25 the,但实际上是3.9 the,这表明正在使用8的预分频值。我已经看了数据表,但仍然不能弄明白。

代码语言:javascript
运行
复制
#define F_CPU 8000000
#include <avr/io.h>

int main(void)
{
  //Table 11-3 Compare Output Mode, Fast PWM mode
  //Table 11-5 Waveform Generation Mode Bit Description
  //COM0A0 - non-inverting
  TCCR0A |= (0<<WGM02)|(1<<WGM01)|(1<<WGM00)|(1<<COM0A1);
  //Table 11-6 Clock Select Bit Description
  TCCR0B |= (0<<CS02)|(0<<CS01)|(1<<CS00); //pre-scale factor = 1

  OCR0A=128; // 128/256 = 0.5 duty cycle

  //make PWM pin output
  DDRB |= (1<<DDB0);

  while(1){}

  return 0;
}

我正在编程单片机使用树莓派与avrdude和avr-gcc根据本说明书:http://www.instructables.com/id/Programming-the-ATtiny85-from-Raspberry-Pi/

如有任何帮助或建议,将不胜感激。谢谢:)

EN

回答 1

Stack Overflow用户

发布于 2018-02-24 19:13:53

我发现,默认情况下,ATtiny85上的保险丝被设置为将8 8MHz时钟除以8,这就是我遇到的8的明显预缩放系数。我根据这个fuse calculator更换了保险丝,它工作得很好。奇怪的是,我读过的教程都没有提到这一点,但希望我的努力可以帮助其他有同样问题的人。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48940120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档