我有以下代码:
#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;它建立但该计划不起作用。
我做错了什么?
答案 0 :(得分:1)
您的特定PIND.4
文件中可能未定义ioXXXX.h
样式的注册访问权。
轻松替换
if(PIND & (1<<4) == 0) {