问题描述
我正在尝试使用 1024 预分频器、CTC 模式 4 切换 LED。
LED 在 1 秒后亮起并保持亮起。
我做错了什么?
#include "Arduino.h"
void setup() {
//PORTB ^= (0 << PB7);
DDRB = (1 << PB7);
TCNT1 = 0;
OCR1C = 100;
TCCR1A = 0; // thought maybe arduino was setting other bits?
TCCR1B = 0; //
TCCR1A = (0 << COM1C1) | (1 << COM1C0) | (0 << WGM11) | (0 << WGM10);
TCCR1B = (0 << WGM13) | (1 << WGM12) | (1 << CS12) | (0 << CS11) | (1 << CS10);
}
void loop() {}
更新
#include "Arduino.h"
void setup() {
//PORTB ^= (0 << PB7);
DDRB = (1 << PB7);
TCNT1 = 0;
TCCR1A = 0; //
TCCR1B = 0; //
OCR1A = 100; // OCR1A is the CTC mode 4 top
TCCR1A = (0 << COM1C1) | (1 << COM1C0) | (0 << WGM11) | (0 << WGM10);
TCCR1B = (0 << WGM13) | (1 << WGM12) | (1 << CS12) | (0 << CS11) | (1 << CS10);
}
void loop() {}
清除TCCR1A和TCCR1B后设置OCR1A
正如 Mike 所说,OCR1A 是模式 4 的首选
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)