这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » NUCLEO L053R8 边学边玩 (四) Mbed Blink 的庖丁解牛

共37条 1/4 1 2 3 4 跳转至

NUCLEO L053R8 边学边玩 (四) Mbed Blink 的庖丁解牛

专家
2015-11-12 20:08:27     打赏
老师说,帖子名字起的够高大上才能吸引人气。


在mbed站点上随便浏览,看到一篇文章

https://developer.mbed.org/handbook/mbed-library-internals

(叫啥好,mbed 库技术内幕?mbed库深入揭秘?那些做翻译的真不容易啊)


NND的,写了一堆内容发现自己看着都别扭,统统删掉

还是想哪写哪方便,白话文。



专家
2015-11-12 20:49:06     打赏
2楼
没图,差评!

专家
2015-11-12 21:21:15     打赏
3楼

擦,插楼可耻



专家
2015-11-12 21:22:58     打赏
4楼

上图:


mbed 库的层次结构




专家
2015-11-12 21:23:45     打赏
5楼

用mbed API实现的blink


#include "mbed.h"
DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(1); // 1 sec
        myled = 0; // LED is OFF
        wait(1); // 1 sec
    }
}

 



专家
2015-11-12 21:28:09     打赏
6楼
教我撸屏幕,等我找个屏幕去

专家
2015-11-12 23:22:18     打赏
7楼
撸你个大头鬼

专家
2015-11-12 23:30:56     打赏
8楼

擦,一晚上乱七八糟的事

明天继续更新


专家
2015-11-13 11:40:01     打赏
9楼
继续更新

专家
2015-11-13 11:43:53     打赏
10楼

mbed的文章中是以LPC17xx的blink为例进行的说明

从LPC17xx datasheet中查询到对应的GPIO的寄存器地址

然后对对应寄存器进行set或者clear操作,从而实现点灯灭灯


#include "mbed.h"
 
// Reuse initialization code from the mbed library
DigitalOut led1(LED1); // P1_18
 
int main() {
    unsigned int mask_pin18 = 1 << 18;
    
    volatile unsigned int *port1_set = (unsigned int *)0x2009C038;
    volatile unsigned int *port1_clr = (unsigned int *)0x2009C03C;
    
    while (true) {
        *port1_set |= mask_pin18;
        wait(0.5);
        
        *port1_clr |= mask_pin18;
        wait(0.5);
    }
}


共37条 1/4 1 2 3 4 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]