0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【RTT大賽作品連載】AB32VG1評(píng)估板到貨控制彩燈測(cè)試

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

上次發(fā)布了一篇文章(【RTT大賽作品連載】AB32VG1評(píng)估板到貨點(diǎn)燈測(cè)試-電子發(fā)燒友網(wǎng) (elecfans.com)),解決很多愛好者從在RT-ThreadStudio新建項(xiàng)目到對(duì)應(yīng)開發(fā)配置及下載等各部分環(huán)節(jié)的問題!得到了很多愛好者的認(rèn)可!

poYBAGGHrWyASMyOAAYobxoiuxI615.png

哈哈,先曬點(diǎn)贊的!

pYYBAGGHrb-ACM6mAAX42sJaxqw946.png

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

接下來看看在如何AB32VG1評(píng)估板控制彩燈!

在RT-ThreadStudio新建項(xiàng)目到對(duì)應(yīng)開發(fā)配置及下載及驗(yàn)證測(cè)試!?。?/p>

還是詳細(xì)點(diǎn)?。?!用截圖-》

新建項(xiàng)目!

poYBAGGHrseAOHNcAAFyO6pqkpc957.png


poYBAGGHr8KAILxwAAFBOz6cLlg570.png

點(diǎn)完成,新建就好了!

接下來是這次會(huì)用的軟件包設(shè)置?。?!

poYBAGGHsL2AUAC8AAHa1S9PV8Y803.png

設(shè)置好后點(diǎn)關(guān)閉,會(huì)提示保存設(shè)置選項(xiàng),點(diǎn)保存即可!

接下來會(huì)用到這幾IO!如圖

pYYBAGGHsdWAOYclAA9a6ZVbpp4963.png

軟件代碼內(nèi)容暫時(shí)直接寫在main函數(shù)文件里?。?!

如圖

具體內(nèi)容如下:

#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);
}
}

編譯好,下載驗(yàn)證如下!

poYBAGGHs9CAVGLXAAC80dTZHUo405.png

驗(yàn)證OK!

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

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

很高興!?。〈蠹乙黄鸺佑停。?!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    22907

    瀏覽量

    650144
  • RTOS
    +關(guān)注

    關(guān)注

    20

    文章

    804

    瀏覽量

    119117
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96185
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1239

    瀏覽量

    39441
  • 中科藍(lán)訊
    +關(guān)注

    關(guān)注

    9

    文章

    52

    瀏覽量

    9799
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    VCA824的Vg怎么控制

    求大神告知一下這個(gè)Vg應(yīng)該如何控制,來實(shí)現(xiàn)增益調(diào)整呀
    發(fā)表于 09-05 08:27

    機(jī)智云ESP8266開發(fā)RGB彩燈控件

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

    常見的電子元器件評(píng)估的作用

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

    3568F-評(píng)估測(cè)試手冊(cè)(ARM端)

    面圖 圖 2 評(píng)估背面圖 圖 3 評(píng)估斜視圖 圖 4 評(píng)估側(cè)視圖
    發(fā)表于 07-17 11:27

    3562-評(píng)估測(cè)試手冊(cè)

    100%,評(píng)估底板大部分元器件亦采用國產(chǎn)工業(yè)級(jí)方案。核心經(jīng)過專業(yè)的PCBLayout和高低溫測(cè)試驗(yàn)證,支持選配屏蔽罩,質(zhì)量穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境要求。 評(píng)估
    發(fā)表于 07-17 10:59

    NIS4461MT1評(píng)估數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《NIS4461MT1評(píng)估數(shù)據(jù)手冊(cè).rar》資料免費(fèi)下載
    發(fā)表于 04-22 16:17 ?0次下載
    NIS4461MT<b class='flag-5'>1</b><b class='flag-5'>評(píng)估</b><b class='flag-5'>板</b>數(shù)據(jù)手冊(cè)

    研華榮獲信通院工業(yè)數(shù)字孿生大賽優(yōu)秀作品獎(jiǎng)

    在信通院和蕪湖市人民政府聯(lián)合主辦的2023第三屆工業(yè)數(shù)字孿生大賽中,研華表現(xiàn)卓越,其研華數(shù)字孿生InsightAPM和研華智慧能源iEMS團(tuán)隊(duì)作品均獲優(yōu)秀作品獎(jiǎng),展現(xiàn)其在技術(shù)創(chuàng)新與應(yīng)用實(shí)踐上的卓越能力,推動(dòng)“工業(yè)互聯(lián)網(wǎng)+數(shù)字孿生
    的頭像 發(fā)表于 04-17 09:48 ?359次閱讀
    研華榮獲信通院工業(yè)數(shù)字孿生<b class='flag-5'>大賽</b>優(yōu)秀<b class='flag-5'>作品</b>獎(jiǎng)

    玩轉(zhuǎn)PSoC 6 RTT積木式開發(fā)套件,實(shí)現(xiàn)毫米波雷達(dá)等實(shí)用功能

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

    基于CPK-RA2L1評(píng)估的呼吸燈效果實(shí)現(xiàn)

    首先需要準(zhǔn)備一塊評(píng)估,這里我們使用瑞薩提供的R7FA2L1AB2DFM的評(píng)估,芯片封裝為PLQP0064KB-C和內(nèi)核Cortex-M2
    發(fā)表于 02-21 14:50 ?351次閱讀
    基于CPK-RA2L<b class='flag-5'>1</b><b class='flag-5'>評(píng)估</b><b class='flag-5'>板</b>的呼吸燈效果實(shí)現(xiàn)

    TLT507-EVM-評(píng)估測(cè)試手冊(cè)

    TLT507-EVM-評(píng)估測(cè)試手冊(cè)
    的頭像 發(fā)表于 01-26 09:27 ?536次閱讀
    TLT507-EVM-<b class='flag-5'>評(píng)估</b><b class='flag-5'>板</b><b class='flag-5'>測(cè)試</b>手冊(cè)

    TL3588-EVM評(píng)估測(cè)試手冊(cè)

    TL3588-EVM評(píng)估測(cè)試手冊(cè)
    的頭像 發(fā)表于 01-24 10:27 ?589次閱讀
    TL3588-EVM<b class='flag-5'>評(píng)估</b><b class='flag-5'>板</b><b class='flag-5'>測(cè)試</b>手冊(cè)

    RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢?

    通信。下面詳細(xì)介紹了RTT_Draco外置UART接口的配置和使用方法。 1. 配置引腳復(fù)用: 首先,在使用RTT_Draco的外置UART接口之前,需要確保引腳復(fù)用已經(jīng)正確配置。RTT
    的頭像 發(fā)表于 01-16 17:11 ?744次閱讀

    【每周一練】盤古1K開發(fā) 練習(xí)二:按鍵控制彩燈實(shí)驗(yàn)

    實(shí)驗(yàn)?zāi)康?1 設(shè)計(jì) 8 種彩燈效果, 可通過按鍵切換。 2 選擇一個(gè)按鍵作為控制輸入, 按下一次換一種顯示效果, 在 8 種效果中循環(huán)。 實(shí)驗(yàn)要求 1、 實(shí)驗(yàn)平臺(tái): MES2KG 開發(fā)
    發(fā)表于 12-09 14:55

    【每周一練】+盤古1K開發(fā)+鍵盤控制彩燈+硬件約束改變按鍵

    感謝發(fā)燒友愛好者和小眼睛科技公司提供的FPGA測(cè)試機(jī)會(huì)。在上一次的測(cè)試中實(shí)現(xiàn)了開發(fā)環(huán)境建立和8個(gè)LED的流水燈效果,今天來完成第2個(gè)測(cè)試。這次的目的是設(shè)計(jì) 8 種彩燈效果,選擇一個(gè)按鍵
    發(fā)表于 11-29 21:01

    Px4, PJ4, UPD703506, AB050, Application board, AB-050-Px4, V850E/Px4 評(píng)估

    Px4, PJ4, UPD703506, AB050, Application board, AB-050-Px4, V850E/Px4 評(píng)估
    發(fā)表于 11-28 18:30 ?0次下載
    Px4, PJ4, UPD703506, <b class='flag-5'>AB</b>050, Application board, <b class='flag-5'>AB</b>-050-Px4, V850E/Px4 <b class='flag-5'>評(píng)估</b><b class='flag-5'>板</b>