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

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

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

3天內不再提示

跟AB32VG1開發學習RGB交替閃爍

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

掃碼添加小助手

加入工程師交流群

今天開始學習RGB交替閃爍。
這是一個最基本的io口控制例程??吹紸B32VG1編寫的內容,感覺有些地方不懂,后面再說?,F在先記錄整個學習過程。
1.查看硬件電路結構

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

這里采用了header4×2來轉接一下。便于胸口復用。
2.軟件設計與編寫
可以看到LED是低電平使能,在相應的io口輪次輸出0,使得LED點亮。
獲得LED
設置pin模式,
輪次輸出相應電平,點亮或熄滅相應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");
// 設置引腳為輸出方式
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");
}

//傳入參數 on=1:對應亮,on=0:對應滅
//紅燈驅動
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);
}
}
//藍燈驅動
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);
}
}
//綠燈驅動
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能夠循環工作。
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;
}
操作系統入口函數
void rgb_thread_entry(void* p)
{
RGB_Init();
while(1)
{
rt_thread_mdelay(500);
rgb_switch();
}
}
//這個函數不太明白是做什么的,應該是線程控制函數,不知道哪里有相應的教程可以看到
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);
}


然后看到該同學還設置了key.h函數。
//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_ */

不太明白為什么要做這個,是為了以后擴展用?

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

看完了這個學習,感覺疑惑還是很多,
有關于系統本身的,也有關于這位同學的編寫代碼內容的??墒仟殞W而無友,則孤陋而寡聞。
多向各位大佬學習。
爭取能夠看明白。

還有這個編輯界面不知道為什么無法直接在word中直接粘貼復制。

難道是需要排版才行?

ymf

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

    關注

    173

    文章

    6075

    瀏覽量

    178376
  • 操作系統
    +關注

    關注

    37

    文章

    7401

    瀏覽量

    129279
  • 中科藍訊
    +關注

    關注

    10

    文章

    66

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式單片機開發學習路徑

    嵌入式系統是現代科技的重要組成部分,廣泛應用于智能家居、汽車電子、工業控制、醫療設備等領域。學習嵌入式單片機開發不僅能提升個人技能,還能開拓職業發展路徑。本文將為你提供一條詳細的嵌入式單片機開發
    發表于 02-09 15:42

    《機智云Gokit3開發篇》4 RGB燈的介紹與驅動移植(HAL庫)

    在物聯網開發與STM32嵌入式應用實踐中,RGB燈是實現可視化交互、狀態指示的常用外設,而機智云Gokit3開發板作為物聯網開發的經典硬件平臺,其板載的
    的頭像 發表于 01-28 19:11 ?5065次閱讀
    《機智云Gokit3<b class='flag-5'>開發</b>篇》4 <b class='flag-5'>RGB</b>燈的介紹與驅動移植(HAL庫)

    經典 PLC 程序(5) - 閃爍

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

    TUSB5461-Q1:汽車類DisplayPort交替模式轉接驅動開關的卓越之選

    TUSB5461-Q1:汽車類DisplayPort交替模式轉接驅動開關的卓越之選 在汽車電子領域,數據傳輸的高效性和穩定性至關重要。TUSB5461-Q1作為一款基于USB Type-C的VESA
    的頭像 發表于 12-15 15:40 ?384次閱讀

    光纜怎么分ab

    、基站等)。 B端:光纜的終止端,通常連接接收設備(如終端盒、用戶端等)。 作用: 確保光纖對(如TX-RX)正確配對,避免信號反射或丟失。 在環形網絡或雙纖鏈路中,AB端區分可防止光纖交叉連接導致的故障。 二、AB端的區分方法 1
    的頭像 發表于 09-28 09:38 ?1950次閱讀

    RT-Thread支持STM32H723VG芯片嗎?

    RT-Thread支持STM32H723VG芯片嗎,我現在的工程是裸板工程,芯片是STM32H723VG的芯片,在構建工程時中找不到對應的芯片
    發表于 09-22 06:57

    【創龍TLT113-MiniEVM開發板試用體驗】T113開發板LED閃爍控制終極教程

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

    請問VG710都有那些外置接口?

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

    【沁恒CH585開發板免費試用體驗】+點亮RGB彩燈

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

    【BPI-CanMV-K230D-Zero開發板體驗】+燈效控制與Python編程

    ,在學習Python編程的基礎上通過GPIO來實現LED燈的控制。 在開發板上,僅有的2個可供GPIO控制的器件是RGB_LED和按鍵,其中RGB_LED的電路如圖
    發表于 06-27 17:33

    RT-Thread支持STM32H723VG芯片嗎?

    RT-Thread支持STM32H723VG芯片嗎,我現在的工程是裸板工程,芯片是STM32H723VG的芯片,在構建工程時中找不到對應的芯片
    發表于 06-11 08:28

    X1G0054910008,VG7050EFN差分晶振,EPSON尋呼機6G晶振

    產品簡介X1G0054910008,VG7050EFN差分晶振,EPSON尋呼機6G晶振,日本進口晶振,EPSON愛普生株式會社,型號:VG7050EFN,編碼為:X1G0054910
    發表于 05-20 14:13 ?0次下載

    愛普生VG3225EFN壓控晶振5G基站低噪聲的解決方案

    不僅為基站提供了穩定的時鐘基準,更從源頭降低了系統噪聲,助力構建更高效、更可靠的5G通信基礎設施。VG3225EFN壓控晶振技術優勢:1.高頻基模晶體與低相位噪聲設
    的頭像 發表于 03-25 17:29 ?923次閱讀
    愛普生<b class='flag-5'>VG</b>3225EFN壓控晶振5G基站低噪聲的解決方案

    愛普生壓控晶振 VG7050CDN(X1G004861)在 5G 通信基站中的應用

    7050CDN(X1G004861)是愛普生推出的一款電壓控制晶體振蕩器,振憑借出色的頻率穩定性、低相位噪聲、快速頻率響應以及寬溫度適應性等特點,成為5G通信基站的理想選擇。 VG7050CDN 晶振如何滿足 5G?基站的需求: VG
    的頭像 發表于 03-25 16:03 ?850次閱讀

    DS1265AB adi

    電子發燒友網為你提供ADI(ADI)DS1265AB相關產品參數、數據手冊,更有DS1265AB的引腳圖、接線圖、封裝手冊、中文資料、英文資料,DS1265AB真值表,DS1265AB
    發表于 03-10 18:32
    DS1265<b class='flag-5'>AB</b> adi