共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
| 【S32K3XX】LIN 通讯模块使用被打赏¥31元 | |
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
我要赚赏金
