在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

STM32G0開(kāi)發(fā)筆記:LED燈示例

CHANBAEK ? 來(lái)源:電子技術(shù)攻城獅 ? 作者:MakerInChina.cn ? 2023-01-17 10:52 ? 次閱讀

使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,下面為LED燈示例。

1 新建項(xiàng)目

PIO的Home頁(yè)面新建項(xiàng)目,項(xiàng)目名稱led,選擇開(kāi)發(fā)板為上一次建立的自定義開(kāi)發(fā)板型號(hào) MonkeyPi_STM32_G070RB,開(kāi)發(fā)框架選擇libopencm3:

2 LED燈程序

在項(xiàng)目文件夾的src目錄下新建文件main.c,內(nèi)容如下:

1/**
 2 * @file main.c
 3 * @author MakerInChina (makerinchina.cn)
 4 * @brief 
 5 * @version 0.01
 6 * @date 2022-09-04
 7 * 
 8 * @copyright Copyright (c) 2022
 9 * 
10 */
11
12#include 
13#include 
14
15#define     LED_GPIO_CLK     RCC_GPIOC
16#define     LED_GPIO_PORT    GPIOC
17#define     LED_GPIO_PIN     GPIO12
18
19int main(void)
20{
21
22    //system clock
23    rcc_clock_setup(&rcc_clock_config[RCC_CLOCK_CONFIG_HSI_PLL_64MHZ]);
24
25    //gpio setting
26    rcc_periph_clock_enable(LED_GPIO_CLK);
27    gpio_mode_setup(LED_GPIO_PORT,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,LED_GPIO_PIN);
28
29    while (1)
30    {
31        //toggle gpio
32        gpio_toggle(LED_GPIO_PORT,LED_GPIO_PIN);
33
34        //delay with 'nop' instruction
35        for(int i=0; i<4000000; i++){
36            __asm__("nop;");
37        }
38    }
39
40    return 0;
41}
  • libopencm3頭文件引用:
1#include /stm32/rcc.h>
2#include /stm32/gpio.h>
  • 定義LED引腳
1#define     LED_GPIO_CLK     RCC_GPIOC
2#define     LED_GPIO_PORT    GPIOC
3#define     LED_GPIO_PIN     GPIO12
1rcc_clock_setup(&rcc_clock_config[RCC_CLOCK_CONFIG_HSI_PLL_64MHZ]);

這個(gè)是設(shè)置為內(nèi)部PLL到64MHz,還可以根據(jù)自己的實(shí)際情況選擇如下配置:

1RCC_CLOCK_CONFIG_LSI_32KHZ,
2RCC_CLOCK_CONFIG_HSI_4MHZ,
3RCC_CLOCK_CONFIG_HSI_16MHZ,
4RCC_CLOCK_CONFIG_HSI_PLL_32MHZ,
5RCC_CLOCK_CONFIG_HSI_PLL_64MHZ,
6RCC_CLOCK_CONFIG_HSE_12MHZ_PLL_64MHZ,

這個(gè)在rcc頭文件有相關(guān)定義:

  • 打開(kāi)GPIO外設(shè)時(shí)鐘
1rcc_periph_clock_enable(LED_GPIO_CLK);
  • 設(shè)置GPIO輸入輸出和上下拉:
1gpio_mode_setup(LED_GPIO_PORT,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,LED_GPIO_PIN);
  • 設(shè)置GPIO輸出選項(xiàng):
1gpio_set_output_options(LED_GPIO_PORT,GPIO_OTYPE_OD,GPIO_OSPEED_MED,LED_GPIO_PIN);
  • GPIO輸出操作:
1gpio_toggle(LED_GPIO_PORT,LED_GPIO_PIN);

其功能為翻轉(zhuǎn)GPIO,還有其他輸出操作函數(shù):

1void gpio_set(uint32_t gpioport, uint16_t gpios);
2void gpio_clear(uint32_t gpioport, uint16_t gpios);
3void gpio_port_write(uint32_t gpioport, uint16_t data);
  • 軟件延時(shí)
1for(int i=0; i<2000000; i++){
2    __asm__("nop;");
3}

使用指令 'nop' 進(jìn)行延時(shí)操作;

3 燒寫(xiě)驗(yàn)證

這里使用DAPLink SWD方式下載,因此更改項(xiàng)目配置文件 platformio.ini 文件如下:

1[env:MonkeyPi_STM32_G070RB]
2platform = ststm32
3board = MonkeyPi_STM32_G070RB
4framework = libopencm3
5
6upload_protocol=cmsis-dap
7debug_tool=cmsis-dap

更改后,點(diǎn)擊 platformio:Upload 按鈕上傳到開(kāi)發(fā)板即可驗(yàn)證,按 ‘F5’ 可以進(jìn)行調(diào)試。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1595

    瀏覽量

    109445
  • STM32
    +關(guān)注

    關(guān)注

    2291

    文章

    11019

    瀏覽量

    363039
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5589

    瀏覽量

    103167
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1279

    瀏覽量

    53715
  • PIO
    PIO
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    6391
收藏 人收藏

    評(píng)論

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

    AN5096_介紹STM32G0系列硬件開(kāi)發(fā)

    AN5096_介紹STM32G0系列硬件開(kāi)發(fā)
    發(fā)表于 11-21 08:11 ?4次下載
    AN5096_介紹<b class='flag-5'>STM32G0</b>系列硬件<b class='flag-5'>開(kāi)發(fā)</b>

    STM32G0開(kāi)發(fā)筆記:FreeRTOS和FreeModbus庫(kù)使用

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,以下為FreeRTOS和FreeModbus庫(kù)使用。
    的頭像 發(fā)表于 01-16 14:44 ?6843次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:FreeRTOS和FreeModbus庫(kù)使用

    STM32G0開(kāi)發(fā)筆記:FreeRTOS和CLI組件使用

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,以下為FreeRTOS和CLI組件使用。
    的頭像 發(fā)表于 01-16 14:47 ?4489次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:FreeRTOS和CLI組件使用

    STM32G0開(kāi)發(fā)筆記:使用FreeRTOS系統(tǒng)的隊(duì)列Queue

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,下面為使用FreeRTOS系統(tǒng)的隊(duì)列Queue。
    的頭像 發(fā)表于 01-16 14:50 ?1787次閱讀

    STM32G0開(kāi)發(fā)筆記:使用FreeRTOS系統(tǒng)

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,下面為使用FreeRTOS系統(tǒng)。
    的頭像 發(fā)表于 01-16 15:07 ?2959次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:使用FreeRTOS系統(tǒng)

    STM32G0開(kāi)發(fā)筆記:使用ADC進(jìn)行NTC溫度采集

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,以下使用ADC進(jìn)行NTC溫度采集。
    的頭像 發(fā)表于 01-16 15:12 ?1.1w次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:使用ADC進(jìn)行NTC溫度采集

    STM32G0開(kāi)發(fā)筆記:用PWM來(lái)實(shí)現(xiàn)LED呼吸效果

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,下面使用PWM來(lái)實(shí)現(xiàn)LED呼吸效果。
    的頭像 發(fā)表于 01-16 15:15 ?2721次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:用PWM來(lái)實(shí)現(xiàn)<b class='flag-5'>LED</b>呼吸<b class='flag-5'>燈</b>效果

    STM32G0開(kāi)發(fā)筆記:EEPROM M24C02的使用方法

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,以下為EEPROM M24C02的使用方法。
    的頭像 發(fā)表于 01-16 15:19 ?3389次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:EEPROM M24C02的使用方法

    STM32G0開(kāi)發(fā)筆記:SD卡模塊的使用方法

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,下面介紹SD卡模塊的使用方法。
    的頭像 發(fā)表于 01-19 16:27 ?2816次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:SD卡模塊的使用方法

    STM32G0開(kāi)發(fā)筆記:SPI接口的基本使用

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,下面介紹SPI接口的基本使用。
    的頭像 發(fā)表于 01-17 10:38 ?3653次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:SPI接口的基本使用

    STM32G0開(kāi)發(fā)筆記:多通道ADC與DMA的使用

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,以下為多通道ADC與DMA的使用。
    的頭像 發(fā)表于 01-17 10:41 ?7886次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:多通道ADC與DMA的使用

    STM32G0開(kāi)發(fā)筆記:定時(shí)器timer的基本使用方法

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,以下為定時(shí)器timer的基本使用方法。
    的頭像 發(fā)表于 01-17 10:43 ?4346次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:定時(shí)器timer的基本使用方法

    STM32G0開(kāi)發(fā)筆記:串口中斷的使用

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,以下為串口中斷的使用。
    的頭像 發(fā)表于 01-17 10:46 ?2808次閱讀

    STM32G0開(kāi)發(fā)筆記:GPIO接按鍵的使用方式

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,下面為GPIO接按鍵的使用方式。
    的頭像 發(fā)表于 01-17 10:48 ?2124次閱讀

    STM32G0開(kāi)發(fā)筆記:使用libopencm3庫(kù)

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0開(kāi)發(fā)環(huán)境為VSCode+PIO插件,這里以開(kāi)發(fā)
    的頭像 發(fā)表于 01-17 10:56 ?2419次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開(kāi)發(fā)筆記</b>:使用libopencm3庫(kù)
    主站蜘蛛池模板: 最新合集丨新片速递 | 欧美宗合网 | 女人扒开腿让男人桶到爽 | 欧美.成人.综合在线 | 五月天婷婷激情 | 日本xxxx69日本 | 三级欧美在线 | 1024手机在线观看你懂的 | 免费一级特黄特色大片在线观看看 | 狠狠躁夜夜躁人人爽天天段 | 4虎影院在线观看 | 天堂网站 | 黄色网欧美| 欧美一级特黄乱妇高清视频 | 深爱五月激情五月 | 视频在线观看一区 | 欧美性性性性性ⅹxxbbbb | 国产精品五月天 | 国产九九热 | 欧美一级黄色片在线观看 | 午夜视频在线免费播放 | 日日天天干| 亚洲青草视频 | 中文字幕xxx | 精品在线一区二区三区 | 国产国拍亚洲精品mv在线观看 | 中国美女乱淫免费看视频 | 天天干狠狠操 | 久精品视频村上里沙 | 99色视频在线 | 欧美黄色免费网址 | 国产精品免费看久久久 | 97国内精品久久久久久久影视 | 精品视频免费看 | 欧美一区二区在线观看视频 | 精品欧美 | 色涩在线观看 | 涩涩97在线观看视频 | 亚洲国产精品热久久2022 | 2022第二三四天堂网 | 1024手机看片日韩 |