共2条
1/1 1 跳转至页

问
用Atmega8L(4MHz)编写pwm,
void pwm_on(void)
{
TCCR1B=0x00; //关闭PWM
TCCR1A=0xB0; //OC1A向上计数匹配清零,向下计数匹配置位;OC1B相反
TCCR1B=0x10; //PWM方式8
ICR1H=0x00; //设置TOP值(39)
ICR1L=0x27;
OCR1AH=0x00;
OCR1AL=0x0F; //占空比2/5
OCR1BH=0x00;
OCR1BL=0x17; //占空比2/5
TCCR1B|=0x04; //启动PWM256分频
}
由公式计算得频率:4M/256/2/39=200Hz,然实测频率为50Hz,为何? 答 1: 应该是没有设置熔丝位。使用了内部1M的RC振荡,所以正好除以4,等于50HZ。 答 2: D 使用的是外部晶振4MHz,没有设置熔丝位,请问具体该怎样设置? 答 3: 在AVRStudio里设置在AVRStudio里设置
TOOL--->STK500...--->STK500...
选择即可 答 4: 熔丝设置:不知你用什么方法写芯片。一般都用下载线吧,ponyprog界面。如下:
将CKSEL3..0全部清空,然后设置即可。 答 5: Thanks 用的是ISPro,设置熔丝后都搞定了,非常感谢!!!!
void pwm_on(void)
{
TCCR1B=0x00; //关闭PWM
TCCR1A=0xB0; //OC1A向上计数匹配清零,向下计数匹配置位;OC1B相反
TCCR1B=0x10; //PWM方式8
ICR1H=0x00; //设置TOP值(39)
ICR1L=0x27;
OCR1AH=0x00;
OCR1AL=0x0F; //占空比2/5
OCR1BH=0x00;
OCR1BL=0x17; //占空比2/5
TCCR1B|=0x04; //启动PWM256分频
}
由公式计算得频率:4M/256/2/39=200Hz,然实测频率为50Hz,为何? 答 1: 应该是没有设置熔丝位。使用了内部1M的RC振荡,所以正好除以4,等于50HZ。 答 2: D 使用的是外部晶振4MHz,没有设置熔丝位,请问具体该怎样设置? 答 3: 在AVRStudio里设置在AVRStudio里设置
TOOL--->STK500...--->STK500...
选择即可 答 4: 熔丝设置:不知你用什么方法写芯片。一般都用下载线吧,ponyprog界面。如下:
将CKSEL3..0全部清空,然后设置即可。 答 5: Thanks 用的是ISPro,设置熔丝后都搞定了,非常感谢!!!!
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K314】芯片启动流程分析被打赏40分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K146】S32DS RTD 驱动环境搭建被打赏12分 |