请宏定义三个LED灯为LED1,LED2,LED3. 定义LED1为P10口控制 //定义LED2为P11口控制 /定义LED3为P14口控制
时间: 2024-09-07 19:02:51 浏览: 39
在C语言中,你可以通过宏定义来简化代码并统一管理LED灯的控制。这里是一个简单的例子,假设我们使用8位GPIO控制LED:
```c
#define LED1 PORT_P1 & (1 << 0) // 宏定义LED1为P1.0口(通常GPIO Pinouts)
#define LED2 PORT_P1 & (1 << 1) // 定义LED2为P1.1口
#define LED3 PORT_P1 & (1 << 3) // 定义LED3为P1.3口,因为P14可能不是常规LED连接
// 使用宏定义来开关LED
void ledOn(int ledNum) {
if (ledNum == 1) {
PORT_P1 |= LED1; // 打开LED1
} else if (ledNum == 2) {
PORT_P1 |= LED2; // 打开LED2
} else if (ledNum == 3) {
PORT_P1 |= LED3; // 打开LED3
} else {
printf("Invalid LED number!\n");
}
}
void ledOff(int ledNum) {
if (ledNum == 1) {
PORT_P1 &= ~LED1; // 关闭LED1
} else if (ledNum == 2) {
PORT_P1 &= ~LED2; // 关闭LED2
} else if (ledNum == 3) {
PORT_P1 &= ~LED3; // 关闭LED3
} else {
printf("Invalid LED number!\n");
}
}
// 示例如何使用
int main(void) {
// ...
ledOn(1); // 开启LED1
ledOff(2); // 关闭LED2
return 0;
}
```
阅读全文