吴忠躺衫网络科技有限公司

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

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

3天內不再提示

【RTT大賽作品連載】AB32VG1評估板到貨控制彩燈測試

磐石90 ? 2021-11-07 19:39 ? 次閱讀

上次發布了一篇文章(【RTT大賽作品連載】AB32VG1評估板到貨點燈測試-電子發燒友網 (elecfans.com)),解決很多愛好者從在RT-ThreadStudio新建項目到對應開發配置及下載等各部分環節的問題!得到了很多愛好者的認可!

poYBAGGHrWyASMyOAAYobxoiuxI615.png

哈哈,先曬點贊的!

pYYBAGGHrb-ACM6mAAX42sJaxqw946.png

重要的是幫好多愛好者解決了實際問題!

接下來看看在如何AB32VG1評估板控制彩燈!

在RT-ThreadStudio新建項目到對應開發配置及下載及驗證測試?。。?/p>

還是詳細點!?。∮媒貓D-》

新建項目!

poYBAGGHrseAOHNcAAFyO6pqkpc957.png


poYBAGGHr8KAILxwAAFBOz6cLlg570.png

點完成,新建就好了!

接下來是這次會用的軟件包設置!!!

poYBAGGHsL2AUAC8AAHa1S9PV8Y803.png

設置好后點關閉,會提示保存設置選項,點保存即可!

接下來會用到這幾IO!如圖

pYYBAGGHsdWAOYclAA9a6ZVbpp4963.png

軟件代碼內容暫時直接寫在main函數文件里!?。?/p>

如圖

具體內容如下:

#include
#include "board.h"
#include
#define BUTTON_PIN_0 rt_pin_get("PF.0")//control timeDelay
#define BUTTON_PIN_1 rt_pin_get("PF.1")//control colorLed mode
uint32_t delayTime = 1;
uint32_t state = 0;
uint32_t cnt_0 = 1;
static struct button btn_0;
static struct button btn_1;

static uint8_t button_read_pin_0(void)
{
return rt_pin_read(BUTTON_PIN_0);
}
static uint8_t button_read_pin_1(void)
{
return rt_pin_read(BUTTON_PIN_1);
}

static void button_0_callback(void* btn)
{
uint32_t btn_event_val;
btn_event_val = get_button_event((struct button*)btn);
switch (btn_event_val)
{
case SINGLE_CLICK:
cnt_0++;
delayTime = cnt_0 * 200;
if (cnt_0 == 10)
{
cnt_0 = 1;
}
rt_kprintf("button 0 single click\ndelayTime=%d\n", delayTime);
break;
case DOUBLE_CLICK:
if (cnt_0 > 1)
{
cnt_0--;
}
delayTime = cnt_0 * 200;
rt_kprintf("button 0 double click\ndelayTime=%d\n", delayTime);
break;

case LONG_PRESS_START:
rt_kprintf("button 0 long press start\n");
break;
case LONG_PRESS_HOLD:
rt_kprintf("button 0 long press hold\n");
break;
}
}
static void button_1_callback(void* btn)
{
uint32_t btn_event_val;
btn_event_val = get_button_event((struct button*)btn);
switch (btn_event_val)
{
case SINGLE_CLICK:
state = !state;
if (state == 0) {
rt_kprintf("one color\n");
}
else {
rt_kprintf("more color\n");
}
rt_kprintf("button 1 single click\n");
break;
case DOUBLE_CLICK:
rt_kprintf("more color\n");
rt_kprintf("button 1 single click\n");
default:
break;
}
}
static void btn_thread_entry(void* p)
{
while (1)
{
/* 5ms */
rt_thread_delay(RT_TICK_PER_SECOND / 200);
button_ticks();
}
}
static int multi_button_test(void)
{
rt_thread_t thread = RT_NULL;
/* Create background ticks thread */
thread = rt_thread_create("btn", btn_thread_entry, RT_NULL, 1024, 10, 10);
if (thread == RT_NULL)
{
return RT_ERROR;
}
rt_thread_startup(thread);
/* low level drive */
rt_pin_mode(BUTTON_PIN_0, PIN_MODE_INPUT_PULLUP);
button_init(&btn_0, button_read_pin_0, PIN_LOW);
button_attach(&btn_0, SINGLE_CLICK, button_0_callback);
button_attach(&btn_0, DOUBLE_CLICK, button_0_callback);
button_attach(&btn_0, LONG_PRESS_START, button_0_callback);
button_attach(&btn_0, LONG_PRESS_HOLD, button_0_callback);
button_start(&btn_0);

rt_pin_mode(BUTTON_PIN_1, PIN_MODE_INPUT_PULLUP);
button_init(&btn_1, button_read_pin_1, PIN_LOW);
button_attach(&btn_1, SINGLE_CLICK, button_1_callback);
button_attach(&btn_1, DOUBLE_CLICK, button_1_callback);
button_attach(&btn_1, LONG_PRESS_START, button_1_callback);
button_attach(&btn_1, LONG_PRESS_HOLD, button_1_callback);
button_start(&btn_1);
return RT_EOK;
}
INIT_APP_EXPORT(multi_button_test);

int main(void)
{
uint32_t cnt = 0;
rt_kprintf("Hello, world11\n");
uint8_t pin = rt_pin_get("PE.1");
rt_pin_mode(pin, PIN_MODE_OUTPUT);
uint8_t pin1 = rt_pin_get("PE.4");
rt_pin_mode(pin1, PIN_MODE_OUTPUT);
uint8_t pin2 = rt_pin_get("PA.1");
rt_pin_mode(pin2, PIN_MODE_OUTPUT);
while (1)
{
if (cnt % 8 == 0)
{
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_HIGH);
}
if (cnt % 8 == 1)
{
rt_pin_write(pin, PIN_HIGH);
rt_pin_write(pin1, PIN_LOW);
rt_pin_write(pin2, PIN_HIGH);
}
if (cnt % 8 == 2)
{
rt_pin_write(pin, PIN_HIGH);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_LOW);
}
if (cnt % 8 == 3)
{
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_LOW);
rt_pin_write(pin2, PIN_HIGH);
}
if (cnt % 8 == 4)
{
rt_pin_write(pin, PIN_HIGH);
rt_pin_write(pin1, PIN_LOW);
rt_pin_write(pin2, PIN_LOW);
}
if (cnt % 8 == 5)
{
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_LOW);
}
if (cnt % 8 == 6)
{
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_LOW);
rt_pin_write(pin2, PIN_LOW);
}
if (cnt % 8 == 7)
{
rt_pin_write(pin, PIN_HIGH);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_HIGH);
}
if (state == 1)
cnt++;
rt_thread_mdelay(delayTime);
}
}

編譯好,下載驗證如下!

poYBAGGHs9CAVGLXAAC80dTZHUo405.png

驗證OK!

其實還可以在此基礎上,讓ColorLed'更好玩,喜歡的愛好者可以試試讓它更炫酷?。。?/p>

最后,看到上一篇閱讀量破2100了(【RTT大賽作品連載】AB32VG1評估板到貨點燈測試-電子發燒友網 (elecfans.com))

很高興?。?!大家一起加油?。?!

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

    關注

    242

    文章

    23362

    瀏覽量

    663224
  • RTOS
    +關注

    關注

    22

    文章

    819

    瀏覽量

    119889
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98207
  • RT-Thread
    +關注

    關注

    31

    文章

    1305

    瀏覽量

    40387
  • 中科藍訊
    +關注

    關注

    9

    文章

    57

    瀏覽量

    9933
收藏 人收藏

    評論

    相關推薦

    全面解析:7種PCBA電路性能測試方法

    評估和確保電路的質量和性能。1.耐壓測試評估電路的耐電壓能力耐壓
    的頭像 發表于 12-16 17:13 ?486次閱讀
    全面解析:7種PCBA電路<b class='flag-5'>板</b>性能<b class='flag-5'>測試</b>方法

    ADS1285EVM-PDK評估輸出沒有動態信號,只有靜態信號是怎么回事?

    型號:ADS1285EVM-PDK 下單數量1pcs 您好,這款評估我們11月底下單了1pcs, 客戶收到貨后 在
    發表于 11-21 08:23

    【干貨】性價比拉滿!HK32F407VG開發介紹

    開發簡介開發是基于航順芯片公司F4系列HK32F407VGT7芯片的一款開發,Cortex-M4內核,最高主頻168MHz,內置1MKBFlash和256KBSRAM,SDIO、
    的頭像 發表于 11-08 13:27 ?310次閱讀
    【干貨】性價比拉滿!HK32F407<b class='flag-5'>VG</b>開發<b class='flag-5'>板</b>介紹

    VCA824的Vg怎么控制

    求大神告知一下這個Vg應該如何控制,來實現增益調整呀
    發表于 09-05 08:27

    機智云ESP8266開發RGB彩燈控件

    隨著智能家居技術的迅猛發展,RGB彩燈控件正逐漸成為現代家庭不可或缺的一部分。在這一潮流中,機智云(Gizwits)的ESP8266開發RGB彩燈控件以其先進的物聯網技術和多樣化的燈光控制
    的頭像 發表于 08-09 08:10 ?453次閱讀
    機智云ESP8266開發<b class='flag-5'>板</b>RGB<b class='flag-5'>彩燈</b>控件

    常見的電子元器件評估的作用

    電子元器件評估(Evaluation Board)是用來評估測試特定電子元器件(例如傳感器、芯片、模塊等)的功能和性能的工具。評估
    的頭像 發表于 07-25 13:32 ?521次閱讀

    AB變頻器電源驅動壞了怎么修

    AB變頻器電源驅動是工業自動化設備中的關鍵部件,它負責將輸入的交流電轉換為適合電機驅動的直流電。當電源驅動出現故障時,會導致整個系統無法正常工作。 一、了解AB變頻器電源驅動
    的頭像 發表于 07-19 11:22 ?821次閱讀

    3568F-評估測試手冊(ARM端)

    面圖 圖 2 評估背面圖 圖 3 評估斜視圖 圖 4 評估側視圖
    發表于 07-17 11:27

    3562-評估測試手冊

    100%,評估底板大部分元器件亦采用國產工業級方案。核心經過專業的PCBLayout和高低溫測試驗證,支持選配屏蔽罩,質量穩定可靠,可滿足各種工業應用環境要求。 評估
    發表于 07-17 10:59

    ADS8-V1EBZ 亞德諾半導體 評估 射頻微波開發

    連接到指定的 ADI 高速 ADC 評估時,ADS8-V1 可用作數據采集。ADS8-V1 上的 FPGA 設計用于支持最高速 JE
    發表于 05-21 12:01

    英飛凌推出用于2kV碳化硅MOSFET模塊的數字驅動評估

    半導體領域的創新者英飛凌科技近日發布了一款革命性的數字驅動評估——EVAL-FFXMR20KM1HDR,專為2kV碳化硅MOSFET模塊設計。這款評估
    的頭像 發表于 05-11 11:33 ?822次閱讀

    NIS4461MT1評估數據手冊

    電子發燒友網站提供《NIS4461MT1評估數據手冊.rar》資料免費下載
    發表于 04-22 16:17 ?0次下載
    NIS4461MT<b class='flag-5'>1</b><b class='flag-5'>評估</b><b class='flag-5'>板</b>數據手冊

    研華榮獲信通院工業數字孿生大賽優秀作品

    在信通院和蕪湖市人民政府聯合主辦的2023第三屆工業數字孿生大賽中,研華表現卓越,其研華數字孿生InsightAPM和研華智慧能源iEMS團隊作品均獲優秀作品獎,展現其在技術創新與應用實踐上的卓越能力,推動“工業互聯網+數字孿生
    的頭像 發表于 04-17 09:48 ?510次閱讀
    研華榮獲信通院工業數字孿生<b class='flag-5'>大賽</b>優秀<b class='flag-5'>作品</b>獎

    玩轉PSoC 6 RTT積木式開發套件,實現毫米波雷達等實用功能

    Jenson一起玩轉這款靈活易用、玩法多樣的MCU套件吧!PSoC6RTT開發是一款供廣大開發者在評估測試階段使用的開發套件,一經推出就得到了開發者們的一致好評。
    的頭像 發表于 03-20 08:35 ?1074次閱讀
    玩轉PSoC 6 <b class='flag-5'>RTT</b>積木式開發套件,實現毫米波雷達等實用功能

    基于CPK-RA2L1評估的呼吸燈效果實現

    首先需要準備一塊評估,這里我們使用瑞薩提供的R7FA2L1AB2DFM的評估,芯片封裝為PLQP0064KB-C和內核Cortex-M2
    發表于 02-21 14:50 ?565次閱讀
    基于CPK-RA2L<b class='flag-5'>1</b><b class='flag-5'>評估</b><b class='flag-5'>板</b>的呼吸燈效果實現
    百家乐官网公式分析| 宣化县| 百家乐官网技巧发布| 百家乐官网哪里可以玩| 百家乐是骗人的| 视频百家乐攻略| 大发888 m摩卡游戏| 澎湖县| 金域百家乐官网娱乐城| 博九网百家乐现金网| 大发888在线娱乐二十一点| 百家乐官网出庄概率| 百家乐官网看图赢钱| 百家乐园鼎丰娱乐城| 鼎盛娱乐城开户| 百家乐官网棋牌外挂| 百家乐官网网络投注| 凯时百家乐技巧| 太阳城管理网| 百家乐官网真人游戏开户| 百家乐游戏排行榜| 大发888 894| 百家乐官网的路单怎样看| 百家乐桌台布| 贵族娱乐城| e世博 | 百家乐官网桌子黑色| 百家乐官网QQ群娱乐| 大发888代充值存款| 百家乐官网庄闲桌子| 百家乐博赌场娱乐网规则| 百家乐官网路子分析| 24山分金周天度数| 德州扑克荷官培训| 百家乐官网桌保险| 百家乐园qq群| 百家乐官网5式直缆投注法| 百家乐筹码多少钱| 在线百家乐博彩| 百家乐官网庄闲客户端| 百家乐庄家优势|