我在面包板上建了一台(非常)简单的电脑,为了完成它,我需要一个1兆赫的晶体振荡器,它还在邮件中。既然我真的不想再等两个月,只想要一个组件,有没有办法让我的arduino uno或seeeduino肖充当一个1 1MHz的振荡器?我试着搜索它,却找不到任何看起来有用的东西。
发布于 2022-06-13 13:43:54
Arduino UNO的ATmega328P运行频率为16 UNO。
该微控制器具有脉宽调制特性的定时器,可用于在某些引脚上输出方波。
要产生1兆赫的信号,你应该每个8兆赫时钟(2兆赫)切换一个引脚。
该代码将在Arduino UNO (ATmega328P上的OC1A/PB1) pin 9上输出1 1MHz信号:
void setup() {
pinMode(9, OUTPUT);
// stop timer
TCCR1B = 0;
// Toggle OC1A on match, CTC mode with TOP=OCR1A
TCCR1A = 0x40;
// clear timer
TCNT1 = 0;
// set to toggle each 8 cycles
OCR1A = 7;
// CTC mode with TOP=OCR1A, clock source=clk_{I/O}/1
TCCR1B = 0x09;
}
void loop() {
}https://stackoverflow.com/questions/72603465
复制相似问题