哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

STM32C011開(kāi)發(fā)(2)----nBOOT_SEL設(shè)置

嵌入式單片機(jī)MCU開(kāi)發(fā) ? 來(lái)源:嵌入式單片機(jī)MCU開(kāi)發(fā) ? 作者:嵌入式單片機(jī)MCU開(kāi) ? 2024-12-16 17:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

STM32CubeProgrammer (STM32CubeProg) 是一款用于編程STM32產(chǎn)品的全功能多操作系統(tǒng)軟件工具。
它提供了一個(gè)易用高效的環(huán)境,通過(guò)調(diào)試接口(JTAG和SWD)和自舉程序接口(UART、USB DFU、I2C、SPI和CAN)讀取、寫(xiě)入及驗(yàn)證器件內(nèi)存。
STM32CubeProgrammer的功能廣泛,可以對(duì)STM32內(nèi)部存儲(chǔ)器(如Flash、RAM和OTP)以及外部存儲(chǔ)器進(jìn)行編程。

最近在弄ST的教程,需要樣片的可以加群申請(qǐng):615061293/925643491 。

硬件準(zhǔn)備

首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是自己繪制的開(kāi)發(fā)板,需要的可以進(jìn)行申請(qǐng)。

主控為STM32C011F4P6

視頻教學(xué)

[https://www.bilibili.com/video/BV1gnBbYiERj/]

樣品申請(qǐng)

[https://www.wjx.top/vm/OhcKxJk.aspx#]

源碼下載

參考程序

[https://github.com/CoreMaker-lab/STM32C011_TSSOP20]

[https://gitee.com/CoreMaker/STM32C011_TSSOP20]

自舉模式

AN2606在自舉模式部分,該文檔介紹了 STM32C011 的自舉功能和選項(xiàng):

USART1 自舉程序:
● 啟用狀態(tài):USART1 被啟用,用于通信
● USART1_RX 引腳:PA10 被配置為接收引腳(輸入),并啟用了上拉電阻
● USART1_TX 引腳:PA9 被配置為發(fā)送引腳(輸出),設(shè)置為推挽模式,同時(shí)啟用了上拉電阻。
● 配置參數(shù):初始化為 8 位數(shù)據(jù),無(wú)校驗(yàn)位,1 個(gè)停止位。

在 WLCSP12、SO8N、TSSOP20 和 UFQFN20 封裝中,USART1 的 PA9/PA10 引腳可能與 PA11/PA12 引腳重疊。

復(fù)用管腳如下所示。

BOOT0設(shè)置

BOOT0可以通過(guò)CN9跳線(xiàn)帽進(jìn)行設(shè)置。

PA14 與 BOOT0 功能共用:需謹(jǐn)慎使用,因?yàn)檎{(diào)試器可能會(huì)修改 BOOT0 引腳值。

進(jìn)入系統(tǒng)存儲(chǔ)器模式(Bootloader):
● 設(shè)置 nBOOT_SEL = 0, nBOOT1 = 1, BOOT0 = 1。
● 啟用 Bootloader 模式,可通過(guò) USART、I2C 等方式進(jìn)行固件更新。

配置 nBOOT_SEL

選項(xiàng)字節(jié)寄存器 (FLASH_OPTR) 用于存儲(chǔ)芯片的啟動(dòng)配置、安全性和一些功能性參數(shù),包括:
● 啟動(dòng)模式選擇 (nBOOT_SEL, nBOOT0, nBOOT1)。
看門(mén)狗模式選擇(獨(dú)立看門(mén)狗 IWDG_SW 和窗口看門(mén)狗 WWDG_SW)。
● 低功耗模式的復(fù)位控制 (nRST_STOP, nRST_STDBY, nRST_SHDW)。
● 讀保護(hù)等級(jí) (RDP)。
● SRAM 奇偶校驗(yàn)功能 (RAM_PARITY_CHECK)。
● 高速外部時(shí)鐘映射功能 (HSE_NOT_REMAPPED)。

在stm32c0xx_hal_flash_ex.c中,F(xiàn)LASH_OB_OptrConfig 函數(shù)的主要作用是配置 STM32 微控制器的 選項(xiàng)字節(jié)(Option Bytes) 中的 OPTR 寄存器(Option Byte Register)。該寄存器包含了用戶(hù)配置的一些關(guān)鍵功能位,例如:
● 啟動(dòng)模式相關(guān)配置(如 nBOOT_SEL、nBOOT0、nBOOT1)

建議配合更高層的 HAL_FLASHEx_OBProgram 函數(shù)使用,因?yàn)楹笳叻庋b了 FLASH_OB_OptrConfig,提供了更強(qiáng)的可讀性和靈活性。

以下代碼展示了如何使用 HAL_FLASHEx_OBProgram 函數(shù)來(lái)啟用或禁用 nBOOT_SEL。

static void Configure_nBOOT_SEL(uint8_t enable)
{
   FLASH_OBProgramInitTypeDef OBInit;

    // 讀取當(dāng)前 Option Bytes 配置
    HAL_FLASHEx_OBGetConfig(&OBInit);

    // 檢查是否需要修改 nBOOT_SEL
    if (((OBInit.USERConfig & OB_USER_NBOOT_SEL) == OB_BOOT0_FROM_OB) != enable)
    {
        // 解鎖 Flash
        if (HAL_FLASH_Unlock() == HAL_OK)
        {
            // 解鎖 Option Bytes
            if (HAL_FLASH_OB_Unlock() == HAL_OK)
            {
                // 配置選項(xiàng)字節(jié)
                OBInit.OptionType = OPTIONBYTE_USER;
                OBInit.USERType = OB_USER_NBOOT_SEL;
                OBInit.USERConfig = enable ? OB_USER_NBOOT_SEL : 0;

                // 寫(xiě)入新的配置
                if (HAL_FLASHEx_OBProgram(&OBInit) != HAL_OK)
                {
                    printf("Error: Option Bytes Programming failed!n");
                }

                // 啟動(dòng) Option Bytes 配置
                if (HAL_FLASH_OB_Launch() != HAL_OK)
                {
                    printf("Error: Option Bytes Launch failed!n");
                }

                // 鎖定 Option Bytes 和 Flash
                HAL_FLASH_OB_Lock();
                HAL_FLASH_Lock();
            }
            else
            {
                printf("Error: Failed to unlock Option Bytes!n");
            }
        }
        else
        {
            printf("Error: Failed to unlock Flash!n");
        }
    }



    else
    {
        printf("nBOOT_SEL is already set to the desired value.n");
    }    


}

添加到主程序中。

/* USER CODE BEGIN SysInit */
    HAL_Delay(100);
    Configure_nBOOT_SEL(0);    
  /* USER CODE END SysInit */

在STM32CubeProgrammer中可以查看nBOOT_SEL的狀態(tài)。

生成STM32CUBEMX

用STM32CUBEMX生成例程,這里使用MCU為STM32C011F4P6。

配置時(shí)鐘樹(shù),配置時(shí)鐘為48M。

串口配置

查看原理圖,PA0和PA1設(shè)置為開(kāi)發(fā)板的串口。

配置串口,速率為115200。

LED配置

查看原理圖,對(duì)應(yīng)LED分別為PA4,PA5,PA6。

配置如下所示。

堆棧設(shè)置

若無(wú)法正常運(yùn)行需要修改優(yōu)化等級(jí)。

串口重定向

打開(kāi)魔術(shù)棒,勾選MicroLIB
image.png

在main.c中,添加頭文件,若不添加會(huì)出現(xiàn) identifier "FILE" is undefined報(bào)錯(cuò)。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

函數(shù)聲明和串口重定向:

/* USER CODE BEGIN PFP */
int fputc(int ch, FILE *f){
    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}
/* USER CODE END PFP */

主循環(huán)

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
        HAL_GPIO_WritePin(LED1_GPIO_Port, LED5_Pin, GPIO_PIN_SET);        
        HAL_GPIO_WritePin(LED2_GPIO_Port, LED6_Pin, GPIO_PIN_SET);            
        HAL_GPIO_WritePin(LED3_GPIO_Port, LED7_Pin, GPIO_PIN_SET);        
        printf("LED ON!n");
        HAL_Delay(1000);
        HAL_GPIO_WritePin(LED1_GPIO_Port, LED5_Pin, GPIO_PIN_RESET);        
        HAL_GPIO_WritePin(LED2_GPIO_Port, LED6_Pin, GPIO_PIN_RESET);            
        HAL_GPIO_WritePin(LED3_GPIO_Port, LED7_Pin, GPIO_PIN_RESET);        
        printf("LED OFF!n");        
        HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

演示

審核編輯 黃宇

聲明:本文內(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)投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7426

    瀏覽量

    129571
  • STM32
    +關(guān)注

    關(guān)注

    2312

    文章

    11187

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32H573 使能 HSLV 引起 I2C4 失效的案例分析

    某客戶(hù)使用 STM32H573II 開(kāi)發(fā)一款 PLC 產(chǎn)品時(shí)反饋 I2C4 無(wú)法通信,在上一款產(chǎn)品中也是使用的 I2C4 接口,通信卻是正常的,客戶(hù)對(duì)此感到非常困惑,百思不得其解。進(jìn)一
    發(fā)表于 04-15 15:57 ?0次下載

    onsemi NTMYS011N04C:高性能N溝道MOSFET的卓越之選

    onsemi NTMYS011N04C:高性能N溝道MOSFET的卓越之選 在電子設(shè)計(jì)領(lǐng)域,MOSFET作為一種關(guān)鍵的功率器件,其性能直接影響著整個(gè)電路的效率和穩(wěn)定性。今天,我們就來(lái)深入探討一下
    的頭像 發(fā)表于 04-10 09:30 ?62次閱讀

    探索 onsemi NVMYS011N04C:高性能 N 溝道 MOSFET 的卓越之選

    探索 onsemi NVMYS011N04C:高性能 N 溝道 MOSFET 的卓越之選 在電子設(shè)計(jì)領(lǐng)域,MOSFET 作為關(guān)鍵的功率器件,其性能直接影響著整個(gè)系統(tǒng)的效率和穩(wěn)定性。今天,我們將
    的頭像 發(fā)表于 04-02 17:20 ?384次閱讀

    LAT1618_STM32H573 使能 HSLV 引起 I2C4 失效的案例分析

    某客戶(hù)使用 STM32H573II 開(kāi)發(fā)一款 PLC 產(chǎn)品時(shí)反饋 I2C4 無(wú)法通信,在上一款產(chǎn)品中也是使用的 I2C4 接口,通信卻是正常的,客戶(hù)對(duì)此感到非常困惑,百思不得其解。進(jìn)一
    發(fā)表于 03-11 10:41 ?0次下載

    AT32F011 系列快速使用指南

    工程。如下是 Keil_v5 工程示例: 圖 2. Keil_v5 templates 工程示例 工程內(nèi)添加的內(nèi)容描述如下: ① at32F011_clock.c 時(shí)鐘配置文件,設(shè)置了默認(rèn)的時(shí)鐘
    發(fā)表于 03-02 11:27

    【ESP32-C2/C3系列】WT9901C2/C3-SN2 開(kāi)發(fā)板上手指南

    指南本小節(jié)將簡(jiǎn)要介紹WT9901C2/C3-SN2開(kāi)發(fā)板。1WT9901C2/C3-SN2實(shí)物圖2
    的頭像 發(fā)表于 02-12 18:16 ?269次閱讀
    【ESP32-<b class='flag-5'>C2</b>/<b class='flag-5'>C</b>3系列】WT9901<b class='flag-5'>C2</b>/<b class='flag-5'>C3-SN2</b> <b class='flag-5'>開(kāi)發(fā)</b>板上手指南

    CW32L011開(kāi)發(fā)支持

    1.開(kāi)發(fā)工具 集成開(kāi)發(fā)環(huán)境(IDE) Keil MDK:這是一款廣泛使用的嵌入式開(kāi)發(fā) IDE,它提供了強(qiáng)大的代碼編輯、編譯、調(diào)試功能。對(duì)于 CW32L011
    發(fā)表于 11-17 06:30

    STM32C0116-DK探索套件開(kāi)發(fā)指南與技術(shù)解析

    基于STM32C011F6微控制器的UFQFPN20至DIL20模塊,使用戶(hù)能夠開(kāi)發(fā)和共享應(yīng)用。該器件還包含一個(gè)板載ST-LINK/V2-1,以調(diào)試和編程設(shè)定嵌入式STM32微控制器。
    的頭像 發(fā)表于 10-27 14:57 ?784次閱讀
    <b class='flag-5'>STM32C</b>0116-DK探索套件<b class='flag-5'>開(kāi)發(fā)</b>指南與技術(shù)解析

    STMicroelectronics NUCLEO-C071RB STM32 Nucleo-64開(kāi)發(fā)板數(shù)據(jù)手冊(cè)

    STMicroelectronics NUCLEO-C071RB STM32 Nucleo-64開(kāi)發(fā)板帶有板載STM32C071RB MCU,支持Arduino和ST morpho連
    的頭像 發(fā)表于 10-17 16:47 ?985次閱讀
    STMicroelectronics NUCLEO-<b class='flag-5'>C</b>071RB <b class='flag-5'>STM32</b> Nucleo-64<b class='flag-5'>開(kāi)發(fā)</b>板數(shù)據(jù)手冊(cè)

    ?STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64開(kāi)發(fā)板通過(guò)由STM32微控制器為概念測(cè)試和原型創(chuàng)建提供了一種經(jīng)濟(jì)實(shí)惠且靈活的途徑。該
    的頭像 發(fā)表于 10-16 10:50 ?946次閱讀
    ?<b class='flag-5'>STM32</b> Nucleo-64<b class='flag-5'>開(kāi)發(fā)</b>板技術(shù)解析與應(yīng)用指南

    STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析:以NUCLEO-C092RC為例

    用于STM32C092RC的STMicroelectronics NUCLEO-C092RC Nucleo-64開(kāi)發(fā)板通過(guò)STM32微控制器提供性能,提供了一個(gè)經(jīng)濟(jì)劃算、靈活的概念嘗試
    的頭像 發(fā)表于 10-16 10:26 ?800次閱讀
    <b class='flag-5'>STM32</b> Nucleo-64<b class='flag-5'>開(kāi)發(fā)</b>板技術(shù)解析:以NUCLEO-<b class='flag-5'>C</b>092RC為例

    STM32C011開(kāi)發(fā)(3)----Flash操作

    STM32C011 系列微控制器內(nèi)置 Flash 存儲(chǔ)器,支持程序存儲(chǔ)與數(shù)據(jù)保存,具備頁(yè)面擦除、雙字寫(xiě)入、讀寫(xiě)保護(hù)等功能。本文將簡(jiǎn)要介紹 STM32C011 的 Flash 結(jié)構(gòu)與特性,并通過(guò)實(shí)際代碼示例,講解 Flash 的擦除、寫(xiě)入與讀取等基本操作。
    的頭像 發(fā)表于 09-18 16:48 ?5216次閱讀
    <b class='flag-5'>STM32C011</b><b class='flag-5'>開(kāi)發(fā)</b>(3)----Flash操作

    CW32L011電機(jī)驅(qū)動(dòng)開(kāi)發(fā)板——驅(qū)動(dòng)無(wú)刷電機(jī)

    CW32L011電機(jī)驅(qū)動(dòng)開(kāi)發(fā)
    的頭像 發(fā)表于 08-22 10:02 ?1176次閱讀
    CW32L<b class='flag-5'>011</b>電機(jī)驅(qū)動(dòng)<b class='flag-5'>開(kāi)發(fā)</b>板——驅(qū)動(dòng)無(wú)刷電機(jī)

    CW32L011電機(jī)驅(qū)動(dòng)控制開(kāi)發(fā)板-軟件

    CW32L011電機(jī)驅(qū)動(dòng)控制開(kāi)發(fā)板-軟件分析 銜接上一個(gè)硬件
    的頭像 發(fā)表于 08-13 10:44 ?1166次閱讀
    CW32L<b class='flag-5'>011</b>電機(jī)驅(qū)動(dòng)控制<b class='flag-5'>開(kāi)發(fā)</b>板-軟件

    CW32L011電機(jī)驅(qū)動(dòng)電機(jī)控制開(kāi)發(fā)板-硬件1

    CW32L011電機(jī)驅(qū)動(dòng)電機(jī)控制開(kāi)發(fā)板-硬件介紹 后面有軟件分析
    的頭像 發(fā)表于 08-12 14:20 ?4441次閱讀
    CW32L<b class='flag-5'>011</b>電機(jī)驅(qū)動(dòng)電機(jī)控制<b class='flag-5'>開(kāi)發(fā)</b>板-硬件1
    岳阳市| 班玛县| 吉安市| 灵丘县| 白银市| 岳阳县| 景宁| 陆河县| 定襄县| 荥经县| 珲春市| 息烽县| 黑河市| 马山县| 大城县| 邹平县| 花莲市| 抚松县| 安仁县| 彩票| 鄱阳县| 达州市| 玛纳斯县| 尼玛县| 安国市| 贵溪市| 黔江区| 塘沽区| 肇州县| 汶上县| 巴东县| 金阳县| 和政县| 米脂县| 巍山| 阜城县| 和顺县| 偏关县| 河津市| 曲阳县| 疏附县|