共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3学习整理】使用 LPUART 的loopback 模式实现核间通讯被打赏¥28元 | |
| arduinounoq原生zephyr环境搭建被打赏¥31元 | |
| 树莓派3+Klipper,MPU6050共振补偿被打赏¥41元 | |
| GroveCreatorKit套件+摇杆测评被打赏¥18元 | |
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |
我要赚赏金
