AVR PINx.n无法正常工作

时间:2014-11-04 20:20:06

标签: avr

我有以下代码:

#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void) {
    DDRB = 0xFF;//B output
    DDRD = 0x00;//D input
    PORTB = 0x00;//LED off
    PORTD = 0xFF;//Pull-ups activated
    while(1) {
    if(PIND.4==0) {
        PORTB &= ~(1<<PB0); /* LED on */
        _delay_ms(100);
        PORTB |= 1<<PB0; /* LED off */
        _delay_ms(100);
    }}
    return 0;
}

但是,当尝试在Atmel Studio中构建它时会出错:

Error   1   expected ')' before numeric constant

行号是指行if(PIND.4==0) { 如果我删除了PIND&#39;之间的点。和&#39; 4&#39;它建立但该计划不起作用。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的特定PIND.4文件中可能未定义ioXXXX.h样式的注册访问权。

轻松替换

if(PIND & (1<<4) == 0) {