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.




Nap Code vào PY32F003 dùng Stlink

 Nap Code vào PY32F003 dùng Stlink Bước 1: Cài đặt  KeilC v5.39 theo link sau ( chú ý 5.39 keil c mới nạp ok). https://edge07.111.ir.cdn.ir/...