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_dev, PIN_OUTPUT);
pin_write(&D13, 1);
/* Cấu HÌNH D12 OUT_PUTS*/
pin_init(&D12, &pin_d12_dev, PIN_OUTPUT);
pin_write(&D12, 1);
/* Cấu HÌNH D8 INPUTS*/
pin_init(&D8, &pin_d8_dev, PIN_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.