#include "mbed.h" int main() { printf("LPC_GPIO1->FIOSET: %p\n", &LPC_GPIO1->FIOSET); }
我们也用Nucleo L053R8测试一下:
打印出来的内容:
GPIOA->BSRR: 50000018
与我们上文分析出来的地址以及我们重写的blink中的地址一样一样的。
看来没搞错,没出丑
接下来用这个再重写blink
官网上的例子:
Blinky example using CMSIS-CORE
Let's see how to blink an LED on our LPC1768 mbed using the CMSIS-CORE API:
#include "mbed.h" // Reuse initialization code from the mbed library DigitalOut led1(LED1); // P1_18 int main() { unsigned int mask_pin18 = 1 << 18; while (true) { LPC_GPIO1->FIOSET |= mask_pin18; wait(0.5); LPC_GPIO1->FIOCLR |= mask_pin18; wait(0.5); } }
我们用NUCLEO L053R8实现的类似代码:
#include <mbed.h> DigitalOut myled(LED1); int main() { unsigned int mask_pin5 = 1 << 5; while (true) { GPIOA->BSRR |= mask_pin5; wait(0.5); GPIOA->BSRR |=(mask_pin5 << 16); wait(0.5); } }
下到板子里,哇,小灯闪闪。
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |