QC

Đọc Nút nhấn GPIO Arduino Simba

Yêu cầu bài toán như sau : Bạn hãy viết chương trình Led 13 nhấp nháy delay(100) ms và Led 12 sáng khi nhấn phím chân số 8 và tắt khi nhã phím.

* CHÂN : LED 13 , LED 12 : OUPUTS.

* CHÂN SỐ 8 : INPUTS.

PHẦN 1: Sơ Đồ Shematic như sau.


BOARD CẮM THEO SƠ ĐỒ TRÊN.


Ở ĐÂY LED SỐ 13 MÌNH TẬN DỤNG ĐÃ CÓ TRÊN BOARD MẠCH.

CODE NHƯ SAU:

#include "simba.h"

int main()
{
    struct pin_driver_t D13;
    struct pin_driver_t D12;
    struct pin_driver_t D8;
    /* Start the system. */
    sys_start();

    /* Cấu HÌNH D13 OUT_PUTS*/
    pin_init(&D13, &pin_d13_devPIN_OUTPUT);
    pin_write(&D13, 1);

      /* Cấu HÌNH D12 OUT_PUTS*/
    pin_init(&D12, &pin_d12_devPIN_OUTPUT);
    pin_write(&D12, 1);

   /* Cấu HÌNH D8 INPUTS*/
    pin_init(&D8, &pin_d8_devPIN_INPUT);
    pin_write(&D8,0 );

  
    while (1) {
        /* Wait half a second. */
        thrd_sleep_ms(100);

        /* Toggle the LED on/off. */
        pin_toggle(&D13);
        if(pin_read(&D8)==1)
        {
             pin_write(&D12,1);  
        }
        else
        {
          pin_write(&D12,1);    
        }
    }

    return (0);
}


Trong đó :

    struct pin_driver_t D13;
    struct pin_driver_t D12;
    struct pin_driver_t D8;

khai báo chân sử dụng . Tên D13,D12,D8 là  những tên mình tự đặt nha, không cần theo quy tắc, mình đặt vậy cho dễ hiểu.

 /* Cấu HÌNH D13 OUT_PUTS*/
    pin_init(&D13, &pin_d13_dev, PIN_OUTPUT);
    pin_write(&D13, 1);

pin_d13_dev : chân 13

  /* Cấu HÌNH D12 OUT_PUTS*/
    pin_init(&D12, &pin_d12_dev, PIN_OUTPUT);
    pin_write(&D12, 1);

pin_d12_dev : chân 12

  /* Cấu HÌNH D8 INPUTS*/
    pin_init(&D8, &pin_d8_dev, PIN_INPUT);
    pin_write(&D8,0 );

pin_d8_dev : chân 8


Hàm đảo trạng thái chân 13 , Hay con gọi là blynk.

pin_toggle(&D13);

Hàm đọc trạng thái nút nhân chân D8.

pin_read(&D8)


HÀM NÚT NHẤN NHƯ SAU:


 if(pin_read(&D8)==1)
        {
             pin_write(&D12,1);  
        }
        else
        {
          pin_write(&D12,1);    
        }

khi nhấn LED D8 SÁNG, KHI NHẢ LED TẮT.






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/...