一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

在rv-star板子上點LED燈實驗

嵌入式IoT ? 來源:嵌入式IoT ? 作者:嵌入式IoT ? 2021-03-29 16:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.實驗?zāi)康?/p>

2.環(huán)境搭建

3.實驗結(jié)果與代碼分析

4.調(diào)用層次分析

1.實驗?zāi)康谋緦嶒炛饕趓v-star的板子上點亮RGB燈。

通過一個簡單的GPIO操作實驗,分析RISCV MCU目前的編程模型。

2.環(huán)境搭建實驗下載操作可以按照我之前的文章來操作

首先導(dǎo)入工程

5ec83174-8ec6-11eb-8b86-12bb97331649.png

然后選擇工程

調(diào)試選擇openocd

5f7295f6-8ec6-11eb-8b86-12bb97331649.png

最后,直接下載即可。

3.實驗結(jié)果與代碼分析入口在main函數(shù)

main函數(shù)中調(diào)用了led_config();函數(shù)

該函數(shù)的實現(xiàn)如下:

void led_config(void)

{

for(int i=0; i《LEDn; i++)

{

gd_rvstar_led_init(i);

gd_rvstar_led_on(i);

delay_1ms(1000);

gd_rvstar_led_off(i);

}

}

首先LEDn在gd32vf103_rvstar.h中

/* rvstar board low layer led */

#define LEDn 3U

定義了三個LED。

接著調(diào)用gd_rvstar_led_init初始化gpio。

其實際的實現(xiàn)可以看如下的代碼

/* Defines for LED functio/* Defines for LED / Key functions to new / general API */

#define gd_rvstar_led_init gd_led_init

#define gd_rvstar_led_on gd_led_on

#define gd_rvstar_led_off gd_led_off

#define gd_rvstar_led_toggle gd_led_toggle

實際上執(zhí)行的是gd_led_init,現(xiàn)在看看該函數(shù)的實現(xiàn)

/* eval board low layer private functions */

/*!

* rief configure led GPIO

* param[in] lednum: specify the led to be configured

* arg LED1

* param[out] none

*

etval none

*/

void gd_led_init(led_typedef_enum lednum)

{

/* enable the led clock */

rcu_periph_clock_enable(`[lednum]);

/* configure led GPIO port */

gpio_init(GPIO_PORT[lednum], GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN[lednum]);

GPIO_BOP(GPIO_PORT[lednum]) = GPIO_PIN[lednum];

}

首先調(diào)用rcu_periph_clock_enable初始化對于的GPIO時鐘。

對于GPIO_CLK有如下的定義。

static const rcu_periph_enum GPIO_CLK[LEDn] = {LEDG_GPIO_CLK,LEDB_GPIO_CLK,LEDR_GPIO_CLK};

#define LEDG_PIN GPIO_PIN_1

#define LEDG_GPIO_PORT GPIOA

#define LEDG_GPIO_CLK RCU_GPIOA

#define LEDB_PIN GPIO_PIN_3

#define LEDB_GPIO_PORT GPIOA

#define LEDB_GPIO_CLK RCU_GPIOA

#define LEDR_PIN GPIO_PIN_2

#define LEDR_GPIO_PORT GPIOA

#define LEDR_GPIO_CLK RCU_GPIOA

簡單的說,就是LED綠燈對應(yīng)的是PA1,LED藍(lán)燈對應(yīng)PA3,LED紅燈對應(yīng)PA2。

查看原理圖

6034df9e-8ec6-11eb-8b86-12bb97331649.png

對應(yīng)芯片的引腳

60a18c70-8ec6-11eb-8b86-12bb97331649.png

不難看出,操作一個gpio的流程主要是三部分

1.設(shè)置GPIO時鐘

2.設(shè)置初始化設(shè)置GPIO

3.操作對應(yīng)的GPIO位

4.調(diào)用層次分析main--》gd32vf103_rvstar--》gd32vf103_xx.c--》寄存器操作

所以如果需要自己實現(xiàn)板子的定義,只需要修改gd32vf103_rvstar中間層即可。

原文標(biāo)題:rv-star RGB LED燈實驗

文章出處:【微信公眾號:嵌入式IoT】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    242

    文章

    23847

    瀏覽量

    674183

原文標(biāo)題:rv-star RGB LED燈實驗

文章出處:【微信號:Embeded_IoT,微信公眾號:嵌入式IoT】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    汽車LED珠光強測試

    現(xiàn)代汽車照明系統(tǒng)中,LED珠憑借其高效、節(jié)能、壽命長等諸多優(yōu)勢,已然成為主流選擇。然而,LED珠的光強性能對于汽車照明的安全性、可靠性
    的頭像 發(fā)表于 07-03 21:29 ?108次閱讀
    汽車<b class='flag-5'>LED</b><b class='flag-5'>燈</b>珠光強測試

    瑞芯微rv1106開發(fā)資料 rv1106數(shù)據(jù)手冊 rv1106詳細(xì)說明書免費下載

    瑞芯微rv1106開發(fā)資料 rv1106數(shù)據(jù)手冊 rv1106詳細(xì)說明書免費下載
    的頭像 發(fā)表于 05-19 11:16 ?1521次閱讀
    瑞芯微<b class='flag-5'>rv</b>1106開發(fā)資料 <b class='flag-5'>rv</b>1106數(shù)據(jù)手冊 <b class='flag-5'>rv</b>1106詳細(xì)說明書免費下載

    同樣的代碼官方開發(fā)板上運行正常,自己板子上就跑不起來,怎么辦?

    同樣的代碼Nordic官方開發(fā)板上可以運行正常,但在自己板子上就跑不起來,如果你碰到了上述情況,建議按照如下步驟進(jìn)行自檢: 首先確認(rèn)用戶板元器件焊接良好,功能正常。如果你的板子LED
    的頭像 發(fā)表于 05-12 15:26 ?218次閱讀
    同樣的代碼<b class='flag-5'>在</b>官方開發(fā)板上運行正常,<b class='flag-5'>在</b>自己<b class='flag-5'>板子</b>上就跑不起來,怎么辦?

    LED桿屏與常規(guī)LED顯示屏的區(qū)別

    LED桿屏與常規(guī)LED顯示屏的區(qū)別
    的頭像 發(fā)表于 03-21 08:45 ?411次閱讀
    <b class='flag-5'>LED</b><b class='flag-5'>燈</b>桿屏與常規(guī)<b class='flag-5'>LED</b>顯示屏的區(qū)別

    RISC-V 使用J-Link調(diào)試RV-STAR

    J-Link調(diào)試器和RV-STAR開發(fā)板,且Nuclei Studio中運行和調(diào)試應(yīng)用程序。 關(guān)于Nuclei Studio IDE下載安裝、編譯和調(diào)試運行等流程的詳細(xì)介紹,請參見RV-STAR快速上手
    發(fā)表于 12-14 17:47

    國產(chǎn)處理器RK3568教學(xué)實驗箱操作案例:LED控制實驗

    Linux系統(tǒng)下GPIO的使用方法;3、通過編寫應(yīng)用程序?qū)崿F(xiàn)控制LED的亮滅。三、實驗原理管腳控制根據(jù)原理圖,可知LED1和LED2的管腳控制:LE
    的頭像 發(fā)表于 10-18 08:07 ?1470次閱讀
    國產(chǎn)處理器RK3568教學(xué)<b class='flag-5'>實驗</b>箱操作案例:<b class='flag-5'>LED</b><b class='flag-5'>燈</b>控制<b class='flag-5'>實驗</b>

    霍爾開關(guān)在魚缸LED中的應(yīng)用

    水溫。 你知道嗎?霍爾開關(guān)在魚缸LED中起著關(guān)鍵性作用,霍爾開關(guān)是如何應(yīng)用于LED板中的呢? 魚缸
    的頭像 發(fā)表于 10-09 09:59 ?661次閱讀

    基于RK3568教學(xué)實驗箱操作案例分享:4-1 LED控制實驗

    1是GPIO0_D5_d管腳控制。 LED2是GPIO0_D6_d管腳控制。 本實驗通過向用戶可編程指示LED設(shè)備節(jié)點反復(fù)交替寫入1、0數(shù)值,實現(xiàn)
    發(fā)表于 09-23 14:06

    led是什么類型負(fù)載電路

    ,將電能直接轉(zhuǎn)換為光能。與傳統(tǒng)的白熾、熒光等相比,LED燈具有更高的能效和更長的使用壽命。 LED的工作原理
    的頭像 發(fā)表于 09-19 11:10 ?1848次閱讀

    led啟動電流是額定電流的幾倍

    的,這意味著正常工作狀態(tài)下,LED的電流是恒定的,即等于其額定電流。然而,啟動瞬間,由于電路中的電容等元件需要充電,可能會產(chǎn)生一個短暫的沖擊電流,這個電流可能會高于額定電流。 關(guān)
    的頭像 發(fā)表于 09-19 11:09 ?4679次閱讀

    COB光源與LED珠的區(qū)別

    COB(Chip on Board)珠和LED(Light Emitting Diode)珠都是用于照明的光源技術(shù),但它們結(jié)構(gòu)和性能上有一些區(qū)別。 結(jié)構(gòu): COB
    的頭像 發(fā)表于 09-19 09:33 ?9003次閱讀

    低壓差分信號(LVDS)LED墻中的應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《低壓差分信號(LVDS)LED墻中的應(yīng)用.pdf》資料免費下載
    發(fā)表于 08-30 09:23 ?0次下載
    低壓差分信號(LVDS)<b class='flag-5'>在</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>墻中的應(yīng)用

    LED高精密板:卓越照明

    LED 高精密板是一種基于發(fā)光二極管(LED)技術(shù)的照明設(shè)備,它具有高亮度、高效率、長壽命、節(jié)能環(huán)保等優(yōu)點,被廣泛應(yīng)用于室內(nèi)外照明、汽車照明、顯示屏等領(lǐng)域。捷多邦小編今天與大家分享LED
    的頭像 發(fā)表于 08-08 11:42 ?605次閱讀

    LED基板,裝修必備好物

    的相關(guān)內(nèi)容,一起看看吧~ LED基板的作用 1.電氣連接:LED基板為 LED 珠提
    的頭像 發(fā)表于 08-06 17:29 ?560次閱讀