国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RTT大賽作品:AB32VG1開發板—按鍵掃描

嵌入式開發 ? 來源:AB32VG1開發筆記 ? 作者:AB32VG1開發筆記 ? 2021-11-15 09:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【RTT大賽作品連載】AB32VG1開發板——按鍵掃描

1. 實驗目的

讓板載 三個用戶按鍵,通過掃描按鍵,打印按鍵值。

2. 開發板硬件平臺

poYBAGGGRgCAejjsABX3VGGeJIc209.png

按鍵硬件電路,可知,使用 按鍵要使用

PF1 —— S2

PF0 —— S3

PAS —— S4

poYBAGGGnvCAQcGHAABcdDRNTVI869.png

3. 軟件編寫

在 application 目錄下,新建 key.c 和 key.h

//key.c
/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2021-11-06     Administrator       the first version
 */
#include "key.h"
#include 
#include "board.h"

struct key_s
{
    uint8_t k0;
    uint8_t k1;
    uint8_t k2;
};
struct key_s button;

//PF0   PF1     PA2
static int key_init(void)
{
    button.k0 = rt_pin_get("PF.0");
    button.k1 = rt_pin_get("PF.1");

    rt_pin_mode(button.k0, PIN_MODE_INPUT_PULLUP);
    rt_pin_mode(button.k1, PIN_MODE_INPUT_PULLUP);

    rt_kprintf("key init\n");
    return 0;
}

#define KEY0_PRES 1
#define KEY1_PRES 2

static uint8_t btn_scan(uint8_t mode)
{
    static uint8_t key_up = 1;

    if(mode)
        key_up = 1;

    if(key_up && ((rt_pin_read(button.k0) == PIN_LOW) || (rt_pin_read(button.k1) == PIN_LOW)))
    {
        rt_thread_mdelay(10);
        key_up = 0;
        if(rt_pin_read(button.k0) == PIN_LOW)
            return KEY0_PRES;
        else if(rt_pin_read(button.k1) == PIN_LOW)
            return KEY1_PRES;
    }else if((rt_pin_read(button.k0) == PIN_HIGH) && (rt_pin_read(button.k1) == PIN_HIGH))
        key_up = 1;

    return 0;
}

static void btn_thread_entry(void* p)
{
    uint8_t byn_value = 0;

    while(1)
    {
        byn_value = btn_scan(0);
        switch(byn_value)
        {
            case KEY0_PRES:
                rt_kprintf("key0 pushed\n");
                break;
            case KEY1_PRES:
                rt_kprintf("key1 pushed\n");
                break;
            default:
                break;
        }
        rt_thread_mdelay(100);
    }
}

static int Thread_btn(void)
{
    rt_thread_t thread = RT_NULL;

    key_init();
    thread = rt_thread_create("button", btn_thread_entry, RT_NULL, 512, 11, 10);
    if(thread == RT_NULL)
    {
        rt_kprintf("Thread_btn Init ERROR");
        return RT_ERROR;
    }
    rt_thread_startup(thread);
}

INIT_APP_EXPORT(Thread_btn);


//key.h
/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2021-11-06     Administrator       the first version
 */
#ifndef APPLICATIONS_KEY_H_
#define APPLICATIONS_KEY_H_


#endif /* APPLICATIONS_KEY_H_ */

修改main.c

/*
 * Copyright (c) 2020-2021, Bluetrum Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2020/12/10     greedyhao    The first version
 */

/**
 * Notice!
 * All functions or data that are called during an interrupt need to be in RAM.
 * You can do it the way exception_isr() does.
 */

#include 
#include "board.h"

int main(void)
{
    rt_kprintf("Hello, world\n");

    while (1)
    {
        rt_thread_mdelay(500);
        rt_thread_mdelay(500);
    }
}

4. 程序編譯下載

編譯程序,點擊小錘子即可。

pYYBAGGGRnmADAsxAAKXmT_LCcc372.png

下載程序

打開我們下載的Downloader軟件,雙擊Downloader.exe

配置連接串口,千萬不要搞錯串口號哦。

選擇工程目錄下的\Debug\rtthread.dcf,這里我的完整目錄是

D:\RT-ThreadStudio\workspace\ab32vg1_demo\Debug\rtthread.dcf

點擊開始即可下載成功

5. 實驗現象:

download 串口打印 msh 控制臺信息。

按鍵觸發打印,不支持連按。

poYBAGGGoY6AMvHBAACVkF7P9kU341.png

6. 總結

目前是通過引腳輪詢讀取來實現按鍵掃描,后面可以試試IO中斷的方式實現,哈哈。

編輯:fqj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6076

    文章

    45494

    瀏覽量

    670244
  • 開發板
    +關注

    關注

    26

    文章

    6289

    瀏覽量

    118039
  • RTT
    RTT
    +關注

    關注

    0

    文章

    66

    瀏覽量

    18273
  • 中科藍訊
    +關注

    關注

    10

    文章

    66

    瀏覽量

    10661
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【RA4M2-SENSOR開發板評測】使用QE工具配置觸摸按鍵

    本期來使用瑞薩官方的QE工具嘗試對開發板上的兩個電容按鍵進行配置。
    的頭像 發表于 12-10 17:14 ?2681次閱讀
    【RA4M2-SENSOR<b class='flag-5'>開發板</b>評測】使用QE工具配置觸摸<b class='flag-5'>按鍵</b>

    【獲獎名單】2025開發板評測大賽優秀開發者、最受歡迎開發板公布

    各位發燒友們,大家好!2025開發板試用評測大賽已圓滿落幕。經過廠商與發燒友平臺的共同評選,優秀作品及人選名單現已評選完成,共選出24位優秀作品開發
    發表于 11-21 09:31

    [投票評選]2025電子發燒友開發板測評大賽--最受歡迎開發板

    call吧,助力開發者生態持續成長! 投票入口: 2025電子發燒友開發板測評大賽--最受歡迎開發板 本次投票結果,將作為平臺后續挑選試用產品重要參考,歡迎大家踴躍參加哦~
    發表于 10-13 16:25

    【精選資料】開發板測評大賽作品合集!

    電子發燒友攜手16家生態廠商發起開發板測評大賽,設OpenHarmony、RISC-V、Rockchip三大賽道,共計21款、160+塊開發板,通過評測
    的頭像 發表于 09-23 08:09 ?1115次閱讀
    【精選資料】<b class='flag-5'>開發板</b>測評<b class='flag-5'>大賽</b><b class='flag-5'>作品</b>合集!

    作品合集】飛凌嵌入式OK527N-C開發板測評

    Core_DSC280025C開發板測評作品合集 第十六期合集 : 潤開鴻HH-SCDAYU800A開發板測評作品合集 第十七期合集 : 視美泰M-K
    發表于 09-22 15:54

    作品合集】視美泰M-K1HSE、3568開發板測評

    視美泰M-K1HSE、3568開發板測評作品合集 產品介紹: M-KIHSE開發板: M-KIHSE開發板是一款基于進選時空K
    發表于 09-22 10:32

    作品合集】米爾RK3576開發板測評

    米爾RK3576開發板測評作品合集 產品介紹: RK3576 是瑞芯微一款面向AI市場推出的高性能處理器,它配備了四核Cortex-A72和四 核Cortex-A53 的 CPU,集成了6TOPS
    發表于 09-11 10:19

    作品合集】沁恒微電子CH585開發板測評

    沁恒微電子CH585開發板測評作品合集 產品介紹: CH585是集成BLE無線通訊和高速USB及NFC的RISC-V MCU/SoC。片上集成了2Mbps低功耗藍牙BLE通訊模塊、USB全速控制器
    發表于 09-08 10:38

    作品精選】2025電子發燒友開發板測評大賽作品合集!

    電子發燒友開發板測評大賽--最受歡迎開發板 以下為本次大賽作品合集: 微五科技CF5010RBT60
    發表于 09-03 15:24

    作品合集】創龍科技TLT113/TL3562-MiniEVM開發板測評

    試用體驗】--按鍵功能 作者:jf_01200635【創龍TL3562-MiniEVM開發板試用體驗】1、從系統啟動卡制作開始【創龍TL3562-MiniEVM開發板試用體驗】2、運行
    發表于 09-02 11:25

    【免費試用】開發板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發板等你試用~

    技術人的狂歡,開發者的盛宴!2025年最值得期待的硬核賽事——電子發燒友開發板評測大賽正式啟動!無論你是開源生態的探索者、芯片架構的極客,還是物聯網領域的創新達人,本次大賽
    的頭像 發表于 06-05 08:05 ?964次閱讀
    【免費試用】<b class='flag-5'>開發板</b>評測<b class='flag-5'>大賽</b>開啟!OH 、RISC-V、Rockchip頂級<b class='flag-5'>開發板</b>等你試用~

    一個不錯的活動:電子發燒友開發板評測大賽

    “ ?湊齊了 OpenHarmony,Risc-V,Rocketchip 三大賽道 21 款來自不同廠家的開發板,可免費申請試用。 ” ? 電子發燒友開發板評測大賽正式啟動!無論你是開
    的頭像 發表于 05-21 11:19 ?680次閱讀
    一個不錯的活動:電子發燒友<b class='flag-5'>開發板</b>評測<b class='flag-5'>大賽</b>

    開發板評測大賽開啟!頂級開發板等你來戰!

    技術人的狂歡,開發者的盛宴!2025年最值得期待的硬核賽事——電子發燒友開發板評測大賽正式啟動!無論你是開源生態的探索者、芯片架構的極客,還是物聯網領
    的頭像 發表于 05-20 08:07 ?541次閱讀
    <b class='flag-5'>開發板</b>評測<b class='flag-5'>大賽</b>開啟!頂級<b class='flag-5'>開發板</b>等你來戰!

    2025電子發燒友開發板評測大賽開啟!三大賽道火力全開,頂級開發板等你來戰!

    技術人的狂歡,開發者的盛宴! 2025年最值得期待的硬核賽事——電子發燒友開發板評測大賽正式啟動!無論你是開源生態的探索者、芯片架構的極客,還是物聯網領域的創新達人,本次大賽
    發表于 05-15 15:09

    基于RV1126開發板按鍵測試方法與例程

    RV1126開發板按鍵測試方法與例程詳細描述
    的頭像 發表于 04-15 17:03 ?1043次閱讀
    基于RV1126<b class='flag-5'>開發板</b>的<b class='flag-5'>按鍵</b>測試方法與例程