0
#define F_CPU 8000000UL
#include <avr/io.h>
/*
* main -- Main program
*/
int main(void)
{
/* Set OC1A pin to be an output */
DDRD|=(1<<5);
/* Set output compare register value */
OCR1A = 4000;
/* Set timer counter control registers A and B so that
* - mode is - clear counter on compare match
* - output compare match action is to toggle pin OC1A
* - correct clock prescale value is chosen.
* TCCR1C can just stay as default value (0).
*/
TCCR1A |=(1<<COM0A0) | (1<<WGM12);
TCCR1B |= (0<<CS12) | (1<<CS11) | (1<<CS10) | (1<<WGM12) | (1<<WGM12);
while(1){
}
}
我有一個led的鏈接到OC1A端口,但它永遠不會閃爍,一些幫助將不勝感激。avr-c atmega324a定時器
我已經搜索了數據表,不理解爲了製作LED閃光燈還必須做些什麼,我相信對於任何具有c知識的人來說這將是簡單的。
你完全沒有邏輯,我可以看到實際使LED閃爍(打開和關閉等)。首先讓玩家在使用定時器之前點亮LED。 – rost0031
@ rost0031他試圖使用硬件定時器使LED閃爍。 – duskwuff
好的,我現在看到了。 OP,你確定LED不閃爍太快,你看不到它?嘗試關閉計時器並通過手動切換輸出來查看LED是否點亮。 – rost0031