日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

跟AB32VG1開(kāi)發(fā)學(xué)習(xí)RGB交替閃爍

RT_THREAD ? 來(lái)源:RT_THREAD ? 作者:RT_THREAD ? 2021-11-21 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天開(kāi)始學(xué)習(xí)RGB交替閃爍。
這是一個(gè)最基本的io口控制例程??吹紸B32VG1編寫的內(nèi)容,感覺(jué)有些地方不懂,后面再說(shuō)?,F(xiàn)在先記錄整個(gè)學(xué)習(xí)過(guò)程。
1.查看硬件電路結(jié)構(gòu)

pYYBAGGZfPiAZLetAAAkGuecaVg341.pngled接口電路pYYBAGGZfRaAddn2AABl0X6T5Zo444.pngled接口電路2

這里采用了header4×2來(lái)轉(zhuǎn)接一下。便于胸口復(fù)用。
2.軟件設(shè)計(jì)與編寫
可以看到LED是低電平使能,在相應(yīng)的io口輪次輸出0,使得LED點(diǎn)亮。
獲得LED
設(shè)置pin模式,
輪次輸出相應(yīng)電平,點(diǎn)亮或熄滅相應(yīng)led
void RGB_Init(void)
{
// 獲得 led
Led.LED_R = rt_pin_get("PE.1");
Led.LED_G = rt_pin_get("PE.4");
Led.LED_B = rt_pin_get("PA.1");
// 設(shè)置引腳為輸出方式
rt_pin_mode(Led.LED_R, PIN_MODE_OUTPUT);
rt_pin_mode(Led.LED_G, PIN_MODE_OUTPUT);
rt_pin_mode(Led.LED_B, PIN_MODE_OUTPUT);

rt_kprintf("rgb init success\n");
}

//傳入?yún)?shù) on=1:對(duì)應(yīng)亮,on=0:對(duì)應(yīng)滅
//紅燈驅(qū)動(dòng)
void RGB_Red(rt_bool_t on)
{
rt_pin_write(Led.LED_G, PIN_HIGH);
rt_pin_write(Led.LED_B, PIN_HIGH);
if (on) {
rt_pin_write(Led.LED_R, PIN_LOW);
} else {
rt_pin_write(Led.LED_R, PIN_HIGH);
}
}
//藍(lán)燈驅(qū)動(dòng)
void RGB_Blue(rt_bool_t on){
rt_pin_write(Led.LED_G, PIN_HIGH);
rt_pin_write(Led.LED_R, PIN_HIGH);
if (on) {
rt_pin_write(Led.LED_B, PIN_LOW);
} else {
rt_pin_write(Led.LED_B, PIN_HIGH);
}
}
//綠燈驅(qū)動(dòng)
void RGB_Green(rt_bool_t on)
{
rt_pin_write(Led.LED_R, PIN_HIGH);
rt_pin_write(Led.LED_B, PIN_HIGH);
if (on) {
rt_pin_write(Led.LED_G, PIN_LOW);
} else {
rt_pin_write(Led.LED_G, PIN_HIGH);
}
}

下面要做的是使得led能夠循環(huán)工作。
void rgb_switch(void)
{
static uint8_t led_num = 0;
if(led_num == 0)
RGB_Red(1);
else if(led_num == 1)
RGB_Blue(1);
else if(led_num == 2)
RGB_Green(1);
led_num++;
if(led_num == 3)
led_num = 0;
}
操作系統(tǒng)入口函數(shù)
void rgb_thread_entry(void* p)
{
RGB_Init();
while(1)
{
rt_thread_mdelay(500);
rgb_switch();
}
}
//這個(gè)函數(shù)不太明白是做什么的,應(yīng)該是線程控制函數(shù),不知道哪里有相應(yīng)的教程可以看到
static int Thread_RGB(void)
{
rgb_thread = rt_thread_create("rgb", rgb_thread_entry, RT_NULL, 512, 10, 10);
if(rgb_thread == RT_NULL)
{
rt_kprintf("Thread_GRB Init ERROR");
return RT_ERROR;
}
rt_thread_startup(rgb_thread);
}


然后看到該同學(xué)還設(shè)置了key.h函數(shù)。
//rgb.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_RGB_H_
#define APPLICATIONS_RGB_H_

#endif /* APPLICATIONS_RGB_H_ */

不太明白為什么要做這個(gè),是為了以后擴(kuò)展用?

修改主函數(shù)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);
}
}
該同學(xué)把原來(lái)的按鍵控制刪掉后,給了兩個(gè)mdelay();不明白為什么要這樣寫。
3.執(zhí)行downloader
實(shí)現(xiàn)功能。

看完了這個(gè)學(xué)習(xí),感覺(jué)疑惑還是很多,
有關(guān)于系統(tǒng)本身的,也有關(guān)于這位同學(xué)的編寫代碼內(nèi)容的??墒仟?dú)學(xué)而無(wú)友,則孤陋而寡聞。
多向各位大佬學(xué)習(xí)。
爭(zhēng)取能夠看明白。

還有這個(gè)編輯界面不知道為什么無(wú)法直接在word中直接粘貼復(fù)制。

難道是需要排版才行?

ymf

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

    關(guān)注

    173

    文章

    6088

    瀏覽量

    178926
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7443

    瀏覽量

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

    關(guān)注

    10

    文章

    68

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    探索Infineon旗下CYWB0124AB/CYWB0125AB USB/Mass Storage控制器的卓越性能

    。Infineon旗下Cypress開(kāi)發(fā)的CYWB0124AB和CYWB0125AB West Bridge? Antioch? USB/Mass Storage Peripheral Controller,就是為
    的頭像 發(fā)表于 03-28 15:05 ?645次閱讀

    SGM31324:一款強(qiáng)大的RGB LED驅(qū)動(dòng)芯片

    自動(dòng)閃爍模式和(I^{2}C)接口,為各種LED應(yīng)用提供了出色的解決方案。 文件下載: SGM31324.pdf 一、芯片概述 SGM31324是一款3通道、電流調(diào)節(jié)的RGB LED驅(qū)動(dòng)芯片,擁有與(I
    的頭像 發(fā)表于 03-25 14:40 ?181次閱讀

    嵌入式單片機(jī)開(kāi)發(fā)學(xué)習(xí)路徑

    嵌入式系統(tǒng)是現(xiàn)代科技的重要組成部分,廣泛應(yīng)用于智能家居、汽車電子、工業(yè)控制、醫(yī)療設(shè)備等領(lǐng)域。學(xué)習(xí)嵌入式單片機(jī)開(kāi)發(fā)不僅能提升個(gè)人技能,還能開(kāi)拓職業(yè)發(fā)展路徑。本文將為你提供一條詳細(xì)的嵌入式單片機(jī)開(kāi)發(fā)
    發(fā)表于 02-09 15:42

    《機(jī)智云Gokit3開(kāi)發(fā)篇》4 RGB燈的介紹與驅(qū)動(dòng)移植(HAL庫(kù))

    在物聯(lián)網(wǎng)開(kāi)發(fā)與STM32嵌入式應(yīng)用實(shí)踐中,RGB燈是實(shí)現(xiàn)可視化交互、狀態(tài)指示的常用外設(shè),而機(jī)智云Gokit3開(kāi)發(fā)板作為物聯(lián)網(wǎng)開(kāi)發(fā)的經(jīng)典硬件平臺(tái),其板載的
    的頭像 發(fā)表于 01-28 19:11 ?5339次閱讀
    《機(jī)智云Gokit3<b class='flag-5'>開(kāi)發(fā)</b>篇》4 <b class='flag-5'>RGB</b>燈的介紹與驅(qū)動(dòng)移植(HAL庫(kù))

    經(jīng)典 PLC 程序(5) - 閃爍

    閃爍燈程序的核心功能是:通過(guò)PLC的定時(shí)器(Timer)控制一個(gè)或多個(gè)輸出點(diǎn)(如指示燈、蜂鳴器等)按照預(yù)設(shè)的時(shí)間間隔交替地接通和斷開(kāi),從而產(chǎn)生“亮-滅-亮-滅”的周期性變化效果??刂七壿嬇c硬件接線
    的頭像 發(fā)表于 01-13 11:42 ?549次閱讀
    經(jīng)典 PLC 程序(5) - <b class='flag-5'>閃爍</b>燈

    TUSB5461-Q1:汽車類DisplayPort交替模式轉(zhuǎn)接驅(qū)動(dòng)開(kāi)關(guān)的卓越之選

    TUSB5461-Q1:汽車類DisplayPort交替模式轉(zhuǎn)接驅(qū)動(dòng)開(kāi)關(guān)的卓越之選 在汽車電子領(lǐng)域,數(shù)據(jù)傳輸?shù)母咝院头€(wěn)定性至關(guān)重要。TUSB5461-Q1作為一款基于USB Type-C的VESA
    的頭像 發(fā)表于 12-15 15:40 ?497次閱讀

    光纜怎么分ab

    、基站等)。 B端:光纜的終止端,通常連接接收設(shè)備(如終端盒、用戶端等)。 作用: 確保光纖對(duì)(如TX-RX)正確配對(duì),避免信號(hào)反射或丟失。 在環(huán)形網(wǎng)絡(luò)或雙纖鏈路中,AB端區(qū)分可防止光纖交叉連接導(dǎo)致的故障。 二、AB端的區(qū)分方法 1
    的頭像 發(fā)表于 09-28 09:38 ?2602次閱讀

    RT-Thread支持STM32H723VG芯片嗎?

    RT-Thread支持STM32H723VG芯片嗎,我現(xiàn)在的工程是裸板工程,芯片是STM32H723VG的芯片,在構(gòu)建工程時(shí)中找不到對(duì)應(yīng)的芯片
    發(fā)表于 09-22 06:57

    【RA4E2開(kāi)發(fā)板評(píng)測(cè)】實(shí)現(xiàn)led燈交替閃爍

    1、工程說(shuō)明 本工程使用e2-studio開(kāi)發(fā)。引腳配置很方便。 2、輸出引腳 3、代碼示例 voidhal_entry(void) { /* TODO: add your own code
    發(fā)表于 09-04 13:05

    【創(chuàng)龍TLT113-MiniEVM開(kāi)發(fā)板試用體驗(yàn)】T113開(kāi)發(fā)板LED閃爍控制終極教程

    ;T113 LED控制菜單\" echo \"1. 心跳燈閃爍\" echo \"2. 用戶LED0閃爍\" echo \"3. 雙LED交替
    發(fā)表于 08-06 13:56

    請(qǐng)問(wèn)VG710都有那些外置接口?

    VG710都有那些外置接口?
    發(fā)表于 08-06 06:50

    【沁恒CH585開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】+點(diǎn)亮RGB彩燈

    掌握GPIO口的使用是步入硬件學(xué)習(xí)的第一步,為此將它的學(xué)習(xí)同點(diǎn)亮RGB彩燈相結(jié)合可起到學(xué)習(xí)和興趣相結(jié)合的功效。 RGB彩燈模塊是采用共陰極連
    發(fā)表于 07-03 22:17

    【BPI-CanMV-K230D-Zero開(kāi)發(fā)板體驗(yàn)】+燈效控制與Python編程

    ,在學(xué)習(xí)Python編程的基礎(chǔ)上通過(guò)GPIO來(lái)實(shí)現(xiàn)LED燈的控制。 在開(kāi)發(fā)板上,僅有的2個(gè)可供GPIO控制的器件是RGB_LED和按鍵,其中RGB_LED的電路如圖
    發(fā)表于 06-27 17:33

    RT-Thread支持STM32H723VG芯片嗎?

    RT-Thread支持STM32H723VG芯片嗎,我現(xiàn)在的工程是裸板工程,芯片是STM32H723VG的芯片,在構(gòu)建工程時(shí)中找不到對(duì)應(yīng)的芯片
    發(fā)表于 06-11 08:28

    X1G0054910008,VG7050EFN差分晶振,EPSON尋呼機(jī)6G晶振

    產(chǎn)品簡(jiǎn)介X1G0054910008,VG7050EFN差分晶振,EPSON尋呼機(jī)6G晶振,日本進(jìn)口晶振,EPSON愛(ài)普生株式會(huì)社,型號(hào):VG7050EFN,編碼為:X1G0054910
    發(fā)表于 05-20 14:13 ?0次下載
    河池市| 肇州县| 曲阜市| 莱芜市| 昌宁县| 老河口市| 内江市| 沅陵县| 盐边县| 顺昌县| 凤阳县| 沽源县| 河南省| 东乡| 从化市| 拉萨市| 东乌珠穆沁旗| 宁海县| 那曲县| 论坛| 土默特右旗| 乐陵市| 文昌市| 南涧| 西平县| 勐海县| 荆州市| 麦盖提县| 五常市| 昭平县| 衡阳县| 利津县| 南陵县| 濉溪县| 神池县| 榕江县| 宝清县| 淅川县| 黄浦区| 玉林市| 通州市|