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

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

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

3天內不再提示

DshanMCU-R128s2-DEVKIT應用開發案例

全志在線 ? 來源:r128.docs.aw-ol.com ? 2023-09-28 16:26 ? 次閱讀

本文章為DshanMCU-R128s2-DEVKIT應用開發案例,本文案例(點亮一顆 LED 燈)代碼可以到全志在線-在線文檔或者復制鏈接前往下載

首先我們搭建電路,如下:

b76a5f90-5dd7-11ee-939d-92fbcf53809c.jpgb77ac8b2-5dd7-11ee-939d-92fbcf53809c.png

載入方案

我們使用的開發板是 DshanMCU-R128s2-DEVKIT,需要開發 C906 核心的應用程序,所以載入方案選擇r128s2_module_c906

$ source envsetup.sh 
$ lunch_rtos 1
b78775ee-5dd7-11ee-939d-92fbcf53809c.png

勾選GPIO驅動

mrtos_menuconfig找到下列驅動

Drivers Options --->
  soc related device drivers --->
      GPIO devices --->
        [*] enable GPIO driver
        [*] enbale GPIO hal APIs Test command
b79de2d4-5dd7-11ee-939d-92fbcf53809c.png

編寫程序

打開你喜歡的編輯器,修改文件:lichee/rtos/projects/r128s2/module_c906/src/main.c

b7b8b35c-5dd7-11ee-939d-92fbcf53809c.png

引入頭文件

#include 
b7db6d98-5dd7-11ee-939d-92fbcf53809c.png

使用GPIO配置引腳

1.配置 GPIO 的上下拉狀態

使用 hal_gpio_set_pull(gpio_pin_t pin, gpio_pull_status_t pull);來設置。這里我們設置 PA18 引腳為默認上拉狀態。

hal_gpio_set_pull(GPIOA(18), GPIO_PULL_UP);

2.配置 GPIO 輸入輸出模式

使用 hal_gpio_set_direction(gpio_pin_t pin, gpio_direction_t direction);來設置 GPIO 的輸入輸出模式,這里配置為輸出模式。

hal_gpio_set_direction(GPIOA(18), GPIO_DIRECTION_OUTPUT);

3.配置 GPIO 的 MUX 功能

GPIO 通常有多種功能,需要配置 MUX 選擇需要的功能,使用hal_gpio_pinmux_set_function(gpio_pin_t pin, gpio_muxsel_t function_index);來設置 GPIO 的復用功能,這里配置為GPIO 輸出模式(GPIO_MUXSEL_OUT)

hal_gpio_pinmux_set_function(GPIOA(18), GPIO_MUXSEL_OUT);

4.配置 GPIO 的電平

使用hal_gpio_set_data(gpio_pin_t pin, gpio_data_t data);來配置 GPIO 的電平,這里配置PA18為高電平點亮 LED

hal_gpio_set_data(GPIOA(18), GPIO_DATA_HIGH);

5.完整的配置 GPIO

hal_gpio_set_pull(GPIOA(18), GPIO_PULL_UP); // 配置 GPIO 的上下拉狀態
hal_gpio_set_direction(GPIOA(18), GPIO_DIRECTION_OUTPUT); // 配置 GPIO 輸入輸出模式
hal_gpio_pinmux_set_function(GPIOA(18), GPIO_MUXSEL_OUT); // 配置 GPIO 的 MUX 功能
hal_gpio_set_data(GPIOA(18), GPIO_DATA_HIGH); // 配置 GPIO 的電平

以此類推,我們同時配置PA18,PA13,PA12的 GPIO

hal_gpio_set_pull(GPIOA(18), GPIO_PULL_UP);
hal_gpio_set_direction(GPIOA(18), GPIO_DIRECTION_OUTPUT);
hal_gpio_pinmux_set_function(GPIOA(18), GPIO_MUXSEL_OUT);
hal_gpio_set_data(GPIOA(18), GPIO_DATA_HIGH);


hal_gpio_set_pull(GPIOA(13), GPIO_PULL_UP);
hal_gpio_set_direction(GPIOA(13), GPIO_DIRECTION_OUTPUT);
hal_gpio_pinmux_set_function(GPIOA(13), GPIO_MUXSEL_OUT);
hal_gpio_set_data(GPIOA(13), GPIO_DATA_HIGH);


hal_gpio_set_pull(GPIOA(12), GPIO_PULL_UP);
hal_gpio_set_direction(GPIOA(12), GPIO_DIRECTION_OUTPUT);
hal_gpio_pinmux_set_function(GPIOA(12), GPIO_MUXSEL_OUT);
hal_gpio_set_data(GPIOA(12), GPIO_DATA_HIGH);
b7f74392-5dd7-11ee-939d-92fbcf53809c.png

結果

編譯固件后燒錄,可以看到三色 LED 燈同時亮起。

b80c7b72-5dd7-11ee-939d-92fbcf53809c.jpg

流水燈

為了實現流水燈,我們先實現一個sleep函數

static inline int msleep(int ms) {
  vTaskDelay(ms / portTICK_RATE_MS); 
}
b822efec-5dd7-11ee-939d-92fbcf53809c.png

然后實現流水燈邏輯即可,之前已經設置過的GPIO狀態不需要重復設置。

while (1) {
  hal_gpio_set_data(GPIOA(18), GPIO_DATA_HIGH);
  hal_gpio_set_data(GPIOA(13), GPIO_DATA_LOW);
  hal_gpio_set_data(GPIOA(12), GPIO_DATA_LOW);
  msleep(100);
  hal_gpio_set_data(GPIOA(18), GPIO_DATA_LOW);
  hal_gpio_set_data(GPIOA(13), GPIO_DATA_HIGH);
  hal_gpio_set_data(GPIOA(12), GPIO_DATA_LOW);
  msleep(100);
  hal_gpio_set_data(GPIOA(18), GPIO_DATA_LOW);
  hal_gpio_set_data(GPIOA(13), GPIO_DATA_LOW);
  hal_gpio_set_data(GPIOA(12), GPIO_DATA_HIGH);
  msleep(100);
}
b839eb7a-5dd7-11ee-939d-92fbcf53809c.png

審核編輯:湯梓紅

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

    關注

    146

    文章

    17319

    瀏覽量

    352650
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    108415
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98195
  • GPIO
    +關注

    關注

    16

    文章

    1216

    瀏覽量

    52379

原文標題:R128點燈指南

文章出處:【微信號:gh_79acfa3aa3e3,微信公眾號:全志在線】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用全志R128實現LVGL的移植

    我們使用的開發板是 R128-Devkit,需要開發 C906 核心的應用程序,所以載入方案選擇 r128s2_module_c906
    的頭像 發表于 11-13 10:14 ?1654次閱讀
    使用全志<b class='flag-5'>R128</b>實現LVGL的移植

    全志R128 Devkit開發板原理圖模塊介紹及使用說明

    針對 R128 模組,百問科技推出了 R128 DevKit 開發板作為快速開發評估工具。 板載 R
    發表于 01-17 09:45

    小時候畫在手腕上的表,我用全志R128讓他真正動了起來

    ——NWatch,并把他移植到了R128開發板上。 項目簡介 本項目基于ZakKemble的開源項目NWatch,與原作者的NWatch不一樣的是,作者將其移植到DShanMCU-R128s2-DevKit
    發表于 11-09 17:03

    全志R128應用開發案例—點亮一顆LED燈

    我們使用的開發板是 R128-Devkit,需要開發 C906 核心的應用程序,所以載入方案選擇`r128s2_module_c906`
    發表于 10-09 16:46 ?528次閱讀
    全志<b class='flag-5'>R128</b>應用<b class='flag-5'>開發案</b>例—點亮一顆LED燈

    基于DShanMCU-R128s2-DevKit開發智能手表

    本項目基于DShanMCU-R128s2-DevKit開發,用意是提供一個綜合的示例進行學習參考。
    的頭像 發表于 11-01 15:32 ?841次閱讀
    基于<b class='flag-5'>DShanMCU-R128s2-DevKit</b><b class='flag-5'>開發</b>智能手表

    DshanMCU-R128s2全志R128視頻教程

    基于DShanMCU-R128S2_DevKit的入門教程
    的頭像 發表于 12-26 14:05 ?659次閱讀

    DshanMCU-R128s2芯片簡介

    DshanMCU-R128s2芯片簡介
    的頭像 發表于 12-22 09:55 ?956次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b>芯片簡介

    DshanMCU-R128s2芯片參數

    MB LS PSRAM R128 S2)/8 channels (R128 S3) - One LEDC used to control the external intellige
    的頭像 發表于 12-26 10:57 ?1193次閱讀

    DshanMCU-R128s2 R128 模組

    R128-S2-N16R16 R128-S2 Arm Cortex-M33 C906 RISC-V HIFI5 DSP 1MByte 8Mbyte 8Mbyte 16M NOR Flash 2 Audio
    的頭像 發表于 12-26 11:11 ?1138次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> <b class='flag-5'>R128</b> 模組

    DshanMCU-R128s2 R128 DevKit 開發

    針對 R128 模組,百問科技推出了 R128 DevKit 開發板作為快速開發評估工具。 特性: 板載
    的頭像 發表于 12-22 12:02 ?702次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> <b class='flag-5'>R128</b> <b class='flag-5'>DevKit</b> <b class='flag-5'>開發</b>板

    DshanMCU-R128s2 R128 EVT 開發套件

    針對 R128 模組,百問科技推出了 R128 EVT 開發套件作為快速開發評估工具。
    的頭像 發表于 12-22 15:16 ?854次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> <b class='flag-5'>R128</b> EVT <b class='flag-5'>開發</b>套件

    DshanMCU-R128s2 SDK 架構與目錄結構

    R128 S2 是全志提供的一款 M33(ARM)+C906(RISCV-64)+HIFI5(Xtensa) 三核異構 SoC,同時芯片內部 SIP 有 1M SRAM、8M LSPSRAM、8M
    的頭像 發表于 12-22 15:57 ?813次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> SDK 架構與目錄結構

    DshanMCU-R128s2 Hello World!

    本文將介紹使用 R128 開發板從串口輸出 Hello World 的方式介紹 SDK 軟件開發流程。 載入方案 我們使用的開發板是 R128-De
    的頭像 發表于 12-22 17:24 ?672次閱讀
    <b class='flag-5'>DshanMCU-R128s2</b> Hello World!

    DshanMCU-R128s2 配置引腳復用

    解析 sys_config.fex 的驅動配置位于 licheertos-componentsawsys_config_script 中。 對于配置引腳復用,只需要修改 boardr128s2{PROJECT}configsys_config.fex 文件即可。 GPIO描述
    的頭像 發表于 12-22 17:36 ?728次閱讀

    DshanMCU-R128s2硬件設計參考

    R128 DevKit 開發板 硬件工程開源地址:https://oshwhub.com/gloomyghost/r128-module 電路圖
    的頭像 發表于 12-26 09:46 ?1050次閱讀
    大发888官网注册| 游戏百家乐押发| 巴登娱乐城开户| 大桥下做生意风水好吗| 博彩e族天上人间| 百家乐中的小路怎样| 百家乐官网贴| 大发888下载大发888游戏平台| 百家乐官网路单下| 鼎龙国际娱乐城| 百家乐发脾机| 百家乐官网赌博程序| 博彩机| 邯郸百家乐园怎么样| 金盾百家乐官网网址| 最好的棋牌游戏大厅| 海威百家乐赌博机| 百家乐官网闲9点| bet365最新地址| 线上百家乐代理| 百家乐官网娱乐下载| 喀什市| 全讯网hg33.com| 百家乐怎样捉住长开| 百家乐官网马宝| 棋牌真钱游戏| 威尼斯人娱乐城线上赌场| 百家乐网上赌博| 百家乐官网玄机| 988娱乐城| 全讯网一码353788| 真钱百家乐哪里最好| 大发888娱乐城破解软件| 百家乐稳赢秘笈| 百家乐官网可以作假吗| 石首市| 大发888下载网址| 百家乐纸牌赌博| 百家乐官网那里信誉好| 破解百家乐官网公式| 民丰县|