QC

Blynk Led STM32 Libopencm3

 Blynk Led STM32 Libopencm3

STM32 Libopencm3 library Book : HỌC STM32 Libopencm3 book các hàm thư viện( Click vào học - tiếng việt ).

Phần 1: Cài đặt vscode.

Bước 1: Tải Và cài đặt VSCODE.

https://code.visualstudio.com/download

Bước 2: Sau khi cài đặt VsCode, bạn cần cài đặt thêm PlatformIO.

nhấn CRL+ SHIFT + X Hiện ra ô search tìm PlatformIO.

Sau khi cài đặt xong !

Bước 1: TẠO PROJECT MANG TÊN : STM32-LIBO-BLYNK Như sau.



Bước 2: Trong SRC TẠO main.c ( viết code ở đây).

Click chuột phải vào SRC rồi làm như phía dưới nhé.


Đoạn code Blynk như sau:

#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/gpio.h>
#include <stdint.h>


    #define RCCLEDPORT (RCC_GPIOC)
    #define LEDPORT (GPIOC)
    #define LEDPIN (GPIO13)
    #define GPIO_MODE_OUTPUT GPIO_MODE_OUTPUT_2_MHZ
    #define GPIO_PUPD_NONE GPIO_CNF_OUTPUT_PUSHPULL


static void gpio_setup(void)
{
    /* Enable GPIO clock. */
    /* Using API functions: */
    rcc_periph_clock_enable(RCCLEDPORT);
    /* Set pin to 'output push-pull'. */
    /* Using API functions: */
#ifdef STM32F1
    gpio_set_mode(LEDPORTGPIO_MODE_OUTPUTGPIO_PUPD_NONELEDPIN);
#else
    gpio_mode_setup(LEDPORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LEDPIN);
#endif
}

int main(void)
{
    int i;
    gpio_setup();
    /* Blink the LED on the board. */
    while (1) {
        /* Using API function gpio_toggle(): */
        gpio_toggle(LEDPORTLEDPIN);   /* LED on/off */
        for (i = 0; i < 1000000; i++) { /* Wait a bit. */
            __asm__("nop");
        }
    }
   
    return 0;
}

Giải thích code:

Trong GPIO_SETUP().

rcc_periph_clock_enable(RCCLEDPORT);

- Bạn đang sử dụng Led PC13 Để blynk ( nhấp nháy), bạn phải cấp clock cho nó.

#define RCCLEDPORT (RCC_GPIOC)

- gpio_set_mode(LEDPORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LEDPIN);

*Cấu hình GPIO : LEDPORT : PORT C.

* GPIO_MODE_OUTPUT : CHỨC NĂNG OUT_PUT.

* GPIO_PUPD_NONE : PULL_UP_DOW không có.

* LEDPIN : LED PC13

Tóm lại : Có nghĩa là cấu hình gpio PORTB_ CHÂN SỐ 13 Là outputs_ không pullup hay down.


HÀM TRONG CODE :

Hàm 1 gpio_toggle: đảo trạng thái gpio (0 thành 1 và 1 thành 0).

gpio_toggle(uint32_t  gpioport, uint16_t gpios )

giải thích : 

Hàm gpio_toggle : đảo trạng thái  gpio.

Có thể viết thành :

gpio_toggle(Tên PORT,Chân của Port)

VD: Bạn muốn nhấp nháy LED PC_13 trên Bluepill bạn ghi như sau:

gpio_toggle(GPIOC,GPIO13)

** Vòng FOR(i=0;i <1000 0000; i++) // ứng với delay 1s.




Hóa học 10 Bài 8. Định luật tuần hoàn. Ý nghĩa của bảng tuần hoàn các nguyên tố hóa học trang 43, 44 Hóa 10 Kết nối tri thức

Câu hỏi Trang 43 MĐ Định luật tuần hoàn đóng vai trò như thế nào trong việc dự đoán tính chất của các chất? Phương pháp giải: Bảng tuần hoàn...