很奇怪的GPIO地址

阅读别人的代码,设置管脚输出电平时,对于管脚的地址定义的是

 

* (GPIO_BASE + (0x04 << GPIO_NUM)

void LED_ON(uint8_t led_num) { // 关闭所有正极 GPIO_WriteLow(GPIOB, GPIO_PIN_0); GPIO_WriteLow(GPIOB, GPIO_PIN_1); // 关闭所有负极 GPIO_WriteHigh(GPIOB, GPIO_PIN_3); GPIO_WriteHigh(GPIOB, GPIO_PIN_4); GPIO_WriteHigh(GPIOB, GPIO_PIN_5); switch(led_num) { case 1://1亮 GPIO_WriteHigh(GPIOB, GPIO_PIN_1); // 正极PB1高 GPIO_WriteLow(GPIOB, GPIO_PIN_3); // 负极PB3低 break; case 2://1灭 GPIO_WriteLow(GPIOB, GPIO_PIN_1); // 正极PB1低 GPIO_WriteHigh(GPIOB, GPIO_PIN_3); // 负极PB3高 break; case 3://2亮 GPIO_WriteHigh(GPIOB, GPIO_PIN_0); // 正极PB0高 GPIO_WriteLow(GPIOB, GPIO_PIN_3); // 负极PB3低 break; case 4://2灭 GPIO_WriteLow(GPIOB, GPIO_PIN_0); // 正极PB0低 GPIO_WriteHigh(GPIOB, GPIO_PIN_3); // 负极PB3高 break; case 5://3亮 GPIO_WriteHigh(GPIOB, GPIO_PIN_1); // 正极PB1高 GPIO_WriteLow(GPIOB, GPIO_PIN_4); // 负极PB4低 break; case 6://3灭 GPIO_WriteLow(GPIOB, GPIO_PIN_1); // 正极PB1低 GPIO_WriteHigh(GPIOB, GPIO_PIN_4); // 负极PB4高 break; case 7://4亮 GPIO_WriteHigh(GPIOB, GPIO_PIN_0); // 正极PB0高 GPIO_WriteLow(GPIOB, GPIO_PIN_4); // 负极PB4低 break; case 8://4灭 GPIO_WriteLow(GPIOB, GPIO_PIN_0); // 正极PB0低 GPIO_WriteHigh(GPIOB, GPIO_PIN_4); // 负极PB4高 break; case 9://5亮 GPIO_WriteHigh(GPIOB, GPIO_PIN_1); // 正极PB1高 GPIO_WriteLow(GPIOB, GPIO_PIN_5); // 负极PB5低 break; case 10://5灭 GPIO_WriteLow(GPIOB, GPIO_PIN_1); // 正极PB1低 GPIO_WriteHigh(GPIOB, GPIO_PIN_5); // 负极PB5高 break; case 11://6亮 GPIO_WriteHigh(GPIOB, GPIO_PIN_0); // 正极PB0高 GPIO_WriteLow(GPIOB, GPIO_PIN_5); // 负极PB5低 break; case 12://6灭 GPIO_WriteLow(GPIOB, GPIO_PIN_0); // 正极PB0低 GPIO_WriteHigh(GPIOB, GPIO_PIN_5); // 负极PB5高 break; default: // 错误处理 break; } }stm8库函数使用状态机或定时器来控制LED每隔0.5秒闪烁
03-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值