3
正确使用引脚更改中断
我正在尝试使用引脚更改中断来检测按下的按钮。到目前为止,我从未使用过此类中断,并且存在一些问题,因此我想确定这是否正确。 如果我正确地获得了数据表,则必须执行以下操作以使用引脚更改中断: 在PCMSK寄存器中设置要控制的PIN 启用PIN寄存器以进行引脚更改中断控制(PCICR) 启用中断 使用相应的中断向量 项目:简单的Moodlamp,通过4个按钮控制颜色。 设定: Atmega168A-PU 4个迷你按钮开关 MOSFETs控制我的3瓦RGB LED 这是我正在使用的代码无法正常工作: #include <avr/io.h> #include <stdint.h> #include <avr/interrupt.h> #include <util/delay.h> #define BUTTON1 (1<<PC5) #define BUTTON2 (1<<PC4) #define BUTTON3 (1<<PC3) #define BUTTON4 (1<<PC2) #define GREEN (1<<PB1) #define BLUE (1<<PB2) #define RED (1<<PB3) void init() { // enable LED DDRB |= …
10
atmega
interrupts