我想重命名一个端口

I want to rename a single bit of a Port

我需要什么代码来重命名一个端口?如下:

#define EN PORTD.0 
#define RS PORTD.1

我正在使用 Avr studio 6 IDE。用c编译器。

您不能直接访问该位,而是可以使用宏来读取或写入引脚。

读取宏

#define __READ_PIN__(PORT, PIN)    (PORT & (1>>PIN))

编写宏

#define __SET_PIN__(PORT, PIN)     (PORT |= (1 << PIN))
#define __CLEAR_PIN__(PORT, PIN)   (PORT &= ~(1 << PIN))

然后你可以像这样定义你的引脚

#define EN_PORT    PORTD
#define EN_PIN     PD0    // OR (#define EN_PIN    0)
#define RS_PORT    PORTD
#define RS_PIN     PD1    // OR (#define RS_PIN    1)

然后您可以使用读取或写入引脚宏来访问此引脚

__SET_PIN__(EN_PORT, EN_PIN);    // Output logic 1 on EN pin
__CLEAR_PIN__(RS_PORT, RS_PIN);  // Output logic 0 on RS pin

并且不要忘记包含 i/o 库

#include <avr/io.h>

错误声明:

#define __READ_PIN__(PORT, PIN)    (PORT & (1>>PIN))

权利声明:

#define __READ_PIN__(PORT, PIN)    (PORT & (1<<PIN))