STM32 開發 - stm32f10x.h 頭文件(內存映射、寄存器結構體與宏、寄存器位定義、實現點燈案例)

概述

  • STM32F10x.h 是 STM32F1 系列微控制器的核心頭文件,提供了所有外設寄存器的定義和內存映射

一、內存映射

#define PERIPH_BASE           ((uint32_t)0x40000000)
#define APB1PERIPH_BASE       PERIPH_BASE
#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)
#define AHBPERIPH_BASE        (PERIPH_BASE + 0x20000)
  1. PERIPH_BASE 是片上外設的起始地址,對于STM32系列是 0x40000000

  2. 根據這個基礎地址,APB1、APB2、AHB 外設的地址空間是依次偏移的,分別為 +0x000000x100000x20000

#define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)
#define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)
#define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)
#define GPIOD_BASE            (APB2PERIPH_BASE + 0x1400)
#define GPIOE_BASE            (APB2PERIPH_BASE + 0x1800)
#define GPIOF_BASE            (APB2PERIPH_BASE + 0x1C00)
#define GPIOG_BASE            (APB2PERIPH_BASE + 0x2000)
  1. 訪問 GPIO 外設的基地址定義,它們基于 APB2PERIPH_BASE

  2. GPIO 的地址按端口(GPIOA、GPIOB…)依次偏移 0x400


二、寄存器結構體與宏

1、復位和時鐘控制 RCC
typedef struct
{__IO uint32_t CR;			// 時鐘控制寄存器__IO uint32_t CFGR;		// 時鐘配置寄存器__IO uint32_t CIR;		// 時鐘中斷寄存器__IO uint32_t APB2RSTR;	// APB2 外設復位寄存器__IO uint32_t APB1RSTR;	// APB1 外設復位寄存器__IO uint32_t AHBENR;		// AHB 外設時鐘使能寄存器__IO uint32_t APB2ENR;	// APB2 外設時鐘使能寄存器__IO uint32_t APB1ENR;	// APB1 外設時鐘使能寄存器__IO uint32_t BDCR;		// 備份域控制寄存器__IO uint32_t CSR;		// 控制 / 狀態寄存器#ifdef STM32F10X_CL  __IO uint32_t AHBRSTR;__IO uint32_t CFGR2;
#endif#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)   uint32_t RESERVED0;__IO uint32_t CFGR2;
#endif
} RCC_TypeDef;
#define RCC                 ((RCC_TypeDef *) RCC_BASE)
2、通用輸入輸出 GPIO
typedef struct
{__IO uint32_t CRL;     // 端口配置低寄存器__IO uint32_t CRH;     // 端口配置高寄存器__IO uint32_t IDR;     // 輸入數據寄存器__IO uint32_t ODR;     // 輸出數據寄存器__IO uint32_t BSRR;    // 位設置/清除寄存器__IO uint32_t BRR;     // 位清除寄存器__IO uint32_t LCKR;    // 配置鎖定寄存器
} GPIO_TypeDef;
#define GPIOA               ((GPIO_TypeDef *) GPIOA_BASE)
#define GPIOB               ((GPIO_TypeDef *) GPIOB_BASE)
#define GPIOC               ((GPIO_TypeDef *) GPIOC_BASE)
#define GPIOD               ((GPIO_TypeDef *) GPIOD_BASE)
#define GPIOE               ((GPIO_TypeDef *) GPIOE_BASE)
#define GPIOF               ((GPIO_TypeDef *) GPIOF_BASE)
#define GPIOG               ((GPIO_TypeDef *) GPIOG_BASE)

三、寄存器位定義

1、RCC_APB2RSTR 寄存器位定義
#define  RCC_APB2ENR_AFIOEN                  ((uint32_t)0x00000001)         /*!< Alternate Function I/O clock enable */
#define  RCC_APB2ENR_IOPAEN                  ((uint32_t)0x00000004)         /*!< I/O port A clock enable */
#define  RCC_APB2ENR_IOPBEN                  ((uint32_t)0x00000008)         /*!< I/O port B clock enable */
#define  RCC_APB2ENR_IOPCEN                  ((uint32_t)0x00000010)         /*!< I/O port C clock enable */
#define  RCC_APB2ENR_IOPDEN                  ((uint32_t)0x00000020)         /*!< I/O port D clock enable */
#define  RCC_APB2ENR_ADC1EN                  ((uint32_t)0x00000200)         /*!< ADC 1 interface clock enable */#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL)
#define  RCC_APB2ENR_ADC2EN                  ((uint32_t)0x00000400)         /*!< ADC 2 interface clock enable */
#endif#define  RCC_APB2ENR_TIM1EN                  ((uint32_t)0x00000800)         /*!< TIM1 Timer clock enable */
#define  RCC_APB2ENR_SPI1EN                  ((uint32_t)0x00001000)         /*!< SPI 1 clock enable */
#define  RCC_APB2ENR_USART1EN                ((uint32_t)0x00004000)         /*!< USART1 clock enable */#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)
#define  RCC_APB2ENR_TIM15EN                 ((uint32_t)0x00010000)         /*!< TIM15 Timer clock enable */
#define  RCC_APB2ENR_TIM16EN                 ((uint32_t)0x00020000)         /*!< TIM16 Timer clock enable */
#define  RCC_APB2ENR_TIM17EN                 ((uint32_t)0x00040000)         /*!< TIM17 Timer clock enable */
#endif#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL)#define  RCC_APB2ENR_IOPEEN                 ((uint32_t)0x00000040)         /*!< I/O port E clock enable */
#endif /* STM32F10X_LD && STM32F10X_LD_VL */#if defined (STM32F10X_HD) || defined (STM32F10X_XL)#define  RCC_APB2ENR_IOPFEN                 ((uint32_t)0x00000080)         /*!< I/O port F clock enable */#define  RCC_APB2ENR_IOPGEN                 ((uint32_t)0x00000100)         /*!< I/O port G clock enable */#define  RCC_APB2ENR_TIM8EN                 ((uint32_t)0x00002000)         /*!< TIM8 Timer clock enable */#define  RCC_APB2ENR_ADC3EN                 ((uint32_t)0x00008000)         /*!< DMA1 clock enable */
#endif#if defined (STM32F10X_HD_VL)#define  RCC_APB2ENR_IOPFEN                 ((uint32_t)0x00000080)         /*!< I/O port F clock enable */#define  RCC_APB2ENR_IOPGEN                 ((uint32_t)0x00000100)         /*!< I/O port G clock enable */
#endif#ifdef STM32F10X_XL#define  RCC_APB2ENR_TIM9EN                 ((uint32_t)0x00080000)         /*!< TIM9 Timer clock enable  */#define  RCC_APB2ENR_TIM10EN                ((uint32_t)0x00100000)         /*!< TIM10 Timer clock enable  */#define  RCC_APB2ENR_TIM11EN                ((uint32_t)0x00200000)         /*!< TIM11 Timer clock enable */
#endif
宏定義說明
RCC_APB2ENR_AFIOE0x00000001復位 AFIO
RCC_APB2ENR_IOPAEN0x00000004使能 GPIOA
RCC_APB2ENR_IOPBEN0x00000008使能 GPIOB
RCC_APB2ENR_IOPCEN0x00000010使能 GPIOC
RCC_APB2ENR_IOPDEN0x00000020使能 GPIOD
RCC_APB2ENR_ADC1EN0x00000200使能 ADC1
RCC_APB2ENR_TIM1EN0x00000800使能高級定時器 TIM1
RCC_APB2ENR_SPI1EN0x00001000使能 SPI1
RCC_APB2ENR_USART1EN0x00004000使能 USART1
2、GPIO_CRL 寄存器位定義
#define  GPIO_CRL_MODE                       ((uint32_t)0x33333333)        /*!< Port x mode bits */#define  GPIO_CRL_MODE0                      ((uint32_t)0x00000003)        /*!< MODE0[1:0] bits (Port x mode bits, pin 0) */
#define  GPIO_CRL_MODE0_0                    ((uint32_t)0x00000001)        /*!< Bit 0 */
#define  GPIO_CRL_MODE0_1                    ((uint32_t)0x00000002)        /*!< Bit 1 */#define  GPIO_CRL_MODE1                      ((uint32_t)0x00000030)        /*!< MODE1[1:0] bits (Port x mode bits, pin 1) */
#define  GPIO_CRL_MODE1_0                    ((uint32_t)0x00000010)        /*!< Bit 0 */
#define  GPIO_CRL_MODE1_1                    ((uint32_t)0x00000020)        /*!< Bit 1 */#define  GPIO_CRL_MODE2                      ((uint32_t)0x00000300)        /*!< MODE2[1:0] bits (Port x mode bits, pin 2) */
#define  GPIO_CRL_MODE2_0                    ((uint32_t)0x00000100)        /*!< Bit 0 */
#define  GPIO_CRL_MODE2_1                    ((uint32_t)0x00000200)        /*!< Bit 1 */#define  GPIO_CRL_MODE3                      ((uint32_t)0x00003000)        /*!< MODE3[1:0] bits (Port x mode bits, pin 3) */
#define  GPIO_CRL_MODE3_0                    ((uint32_t)0x00001000)        /*!< Bit 0 */
#define  GPIO_CRL_MODE3_1                    ((uint32_t)0x00002000)        /*!< Bit 1 */#define  GPIO_CRL_MODE4                      ((uint32_t)0x00030000)        /*!< MODE4[1:0] bits (Port x mode bits, pin 4) */
#define  GPIO_CRL_MODE4_0                    ((uint32_t)0x00010000)        /*!< Bit 0 */
#define  GPIO_CRL_MODE4_1                    ((uint32_t)0x00020000)        /*!< Bit 1 */#define  GPIO_CRL_MODE5                      ((uint32_t)0x00300000)        /*!< MODE5[1:0] bits (Port x mode bits, pin 5) */
#define  GPIO_CRL_MODE5_0                    ((uint32_t)0x00100000)        /*!< Bit 0 */
#define  GPIO_CRL_MODE5_1                    ((uint32_t)0x00200000)        /*!< Bit 1 */#define  GPIO_CRL_MODE6                      ((uint32_t)0x03000000)        /*!< MODE6[1:0] bits (Port x mode bits, pin 6) */
#define  GPIO_CRL_MODE6_0                    ((uint32_t)0x01000000)        /*!< Bit 0 */
#define  GPIO_CRL_MODE6_1                    ((uint32_t)0x02000000)        /*!< Bit 1 */#define  GPIO_CRL_MODE7                      ((uint32_t)0x30000000)        /*!< MODE7[1:0] bits (Port x mode bits, pin 7) */
#define  GPIO_CRL_MODE7_0                    ((uint32_t)0x10000000)        /*!< Bit 0 */
#define  GPIO_CRL_MODE7_1                    ((uint32_t)0x20000000)        /*!< Bit 1 */#define  GPIO_CRL_CNF                        ((uint32_t)0xCCCCCCCC)        /*!< Port x configuration bits */#define  GPIO_CRL_CNF0                       ((uint32_t)0x0000000C)        /*!< CNF0[1:0] bits (Port x configuration bits, pin 0) */
#define  GPIO_CRL_CNF0_0                     ((uint32_t)0x00000004)        /*!< Bit 0 */
#define  GPIO_CRL_CNF0_1                     ((uint32_t)0x00000008)        /*!< Bit 1 */#define  GPIO_CRL_CNF1                       ((uint32_t)0x000000C0)        /*!< CNF1[1:0] bits (Port x configuration bits, pin 1) */
#define  GPIO_CRL_CNF1_0                     ((uint32_t)0x00000040)        /*!< Bit 0 */
#define  GPIO_CRL_CNF1_1                     ((uint32_t)0x00000080)        /*!< Bit 1 */#define  GPIO_CRL_CNF2                       ((uint32_t)0x00000C00)        /*!< CNF2[1:0] bits (Port x configuration bits, pin 2) */
#define  GPIO_CRL_CNF2_0                     ((uint32_t)0x00000400)        /*!< Bit 0 */
#define  GPIO_CRL_CNF2_1                     ((uint32_t)0x00000800)        /*!< Bit 1 */#define  GPIO_CRL_CNF3                       ((uint32_t)0x0000C000)        /*!< CNF3[1:0] bits (Port x configuration bits, pin 3) */
#define  GPIO_CRL_CNF3_0                     ((uint32_t)0x00004000)        /*!< Bit 0 */
#define  GPIO_CRL_CNF3_1                     ((uint32_t)0x00008000)        /*!< Bit 1 */#define  GPIO_CRL_CNF4                       ((uint32_t)0x000C0000)        /*!< CNF4[1:0] bits (Port x configuration bits, pin 4) */
#define  GPIO_CRL_CNF4_0                     ((uint32_t)0x00040000)        /*!< Bit 0 */
#define  GPIO_CRL_CNF4_1                     ((uint32_t)0x00080000)        /*!< Bit 1 */#define  GPIO_CRL_CNF5                       ((uint32_t)0x00C00000)        /*!< CNF5[1:0] bits (Port x configuration bits, pin 5) */
#define  GPIO_CRL_CNF5_0                     ((uint32_t)0x00400000)        /*!< Bit 0 */
#define  GPIO_CRL_CNF5_1                     ((uint32_t)0x00800000)        /*!< Bit 1 */#define  GPIO_CRL_CNF6                       ((uint32_t)0x0C000000)        /*!< CNF6[1:0] bits (Port x configuration bits, pin 6) */
#define  GPIO_CRL_CNF6_0                     ((uint32_t)0x04000000)        /*!< Bit 0 */
#define  GPIO_CRL_CNF6_1                     ((uint32_t)0x08000000)        /*!< Bit 1 */#define  GPIO_CRL_CNF7                       ((uint32_t)0xC0000000)        /*!< CNF7[1:0] bits (Port x configuration bits, pin 7) */
#define  GPIO_CRL_CNF7_0                     ((uint32_t)0x40000000)        /*!< Bit 0 */
#define  GPIO_CRL_CNF7_1                     ((uint32_t)0x80000000)        /*!< Bit 1 */
宏定義值(十六進制)值(二進制)功能描述
GPIO_CRL_MODE0x33333333... 00110011所有引腳的 MODE 位掩碼(復位值)
GPIO_CRL_MODE00x00000003... 00000011引腳 0 的 MODE 位 0、1
GPIO_CRL_MODE0_00x00000001... 00000001引腳 0 的 MODE 位 0
GPIO_CRL_MODE0_10x00000002... 00000010引腳 0 的 MODE 位 1
GPIO_CRL_MODE10x00000030... 00110000引腳 1 的 MODE 位 4 、5
GPIO_CRL_MODE1_00x00000010... 00010000引腳 1 的 MODE 位 4
GPIO_CRL_MODE1_10x00000020... 00100000引腳 1 的 MODE 為 5
宏定義值(十六進制)值(二進制)功能描述
GPIO_CRL_CNF0xCCCCCCCC... 11001100所有引腳的 CNF 位掩碼(復位值)
GPIO_CRL_CNF00x0000000C... 00001100引腳 0 的 CNF 位 2、3
GPIO_CRL_CNF0_00x00000004... 00000100引腳 0 的 CNF 位 2
GPIO_CRL_CNF0_10x00000008... 00001000引腳 0 的 CNF 位 3
GPIO_CRL_CNF10x000000C0... 11000000引腳 1 的 CNF 位 6、7
GPIO_CRL_CNF1_00x00000040... 01000000引腳 1 的 CNF 位 6
GPIO_CRL_CNF1_10x00000080... 10000000引腳 1 的 CNF 位 7
3、GPIO_ODR 寄存器位定義
#define GPIO_ODR_ODR0                        ((uint16_t)0x0001)            /*!< Port output data, bit 0 */
#define GPIO_ODR_ODR1                        ((uint16_t)0x0002)            /*!< Port output data, bit 1 */
#define GPIO_ODR_ODR2                        ((uint16_t)0x0004)            /*!< Port output data, bit 2 */
#define GPIO_ODR_ODR3                        ((uint16_t)0x0008)            /*!< Port output data, bit 3 */
#define GPIO_ODR_ODR4                        ((uint16_t)0x0010)            /*!< Port output data, bit 4 */
#define GPIO_ODR_ODR5                        ((uint16_t)0x0020)            /*!< Port output data, bit 5 */
#define GPIO_ODR_ODR6                        ((uint16_t)0x0040)            /*!< Port output data, bit 6 */
#define GPIO_ODR_ODR7                        ((uint16_t)0x0080)            /*!< Port output data, bit 7 */
#define GPIO_ODR_ODR8                        ((uint16_t)0x0100)            /*!< Port output data, bit 8 */
#define GPIO_ODR_ODR9                        ((uint16_t)0x0200)            /*!< Port output data, bit 9 */
#define GPIO_ODR_ODR10                       ((uint16_t)0x0400)            /*!< Port output data, bit 10 */
#define GPIO_ODR_ODR11                       ((uint16_t)0x0800)            /*!< Port output data, bit 11 */
#define GPIO_ODR_ODR12                       ((uint16_t)0x1000)            /*!< Port output data, bit 12 */
#define GPIO_ODR_ODR13                       ((uint16_t)0x2000)            /*!< Port output data, bit 13 */
#define GPIO_ODR_ODR14                       ((uint16_t)0x4000)            /*!< Port output data, bit 14 */
#define GPIO_ODR_ODR15                       ((uint16_t)0x8000)            /*!< Port output data, bit 15 */
宏定義值(十六進制)二進制值說明
GPIO_ODR_ODR00x0001... 00000001設置引腳 0
GPIO_ODR_ODR10x0002... 00000010設置引腳 1
GPIO_ODR_ODR20x0004... 00000100設置引腳 2
GPIO_ODR_ODR30x0008... 00001000設置引腳 3

實現點燈案例

#include "stm32f10x.h"int main()
{// RCC APB2 使能RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;// 清除 PB5 的配置位 [23:20]// GPIO_CRL_MODE5 為 00000000 00110000 00000000 00000000// GPIO_CRL_CNF5 為 00000000 11000000 00000000 00000000// GPIO_CRL_MODE5 | GPIO_CRL_CNF5 得到 00000000 11110000 00000000 00000000// ~(GPIO_CRL_MODE5 | GPIO_CRL_CNF5) 得到 11111111 00001111 11111111 11111111GPIOB->CRL &= ~(GPIO_CRL_MODE5 | GPIO_CRL_CNF5);// 設置 PB5 為推挽輸出模式,最大速度為 50MH// GPIO_CRL_MODE5_0 為 00000000 00010000 00000000 00000000// GPIO_CRL_MODE5_1 為 00000000 00100000 00000000 00000000// GPIO_CRL_MODE5_0 | GPIO_CRL_MODE5_1 得到 00000000 00110000 00000000 00000000GPIOB->CRL |= GPIO_CRL_MODE5_0 | GPIO_CRL_MODE5_1;// 點亮 PB5// GPIO_ODR_ODR5 為 00000000 00000000 00000000 00010000// ~GPIO_ODR_ODR5 得到 11111111 11111111 11111111 11101111GPIOB->ODR &= ~GPIO_ODR_ODR5;while (1){}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78353.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78353.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78353.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

QEMU源碼全解析 —— 塊設備虛擬化(23)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(22) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 特此致謝! QEMU啟動過程中的塊設備虛擬化 上一回解析了qcow2格式對應的qcow2_open函數,本回解…

【PCB工藝】推挽電路及交越失真

推挽電路(Push-Pull Circuit) 推挽電路(Push-Pull Circuit) 是一種常用于功率放大、電機驅動、音頻放大等場合的電路結構,具有輸出對稱、效率高、失真小等優點。 什么是推挽電路? 推挽是指:由兩種極性相反的器件(如 NPN 和 PNP、NMOS 和 PMOS)交替導通,一個“推”電…

RD電子實驗記錄本選用貼士A-B-C

傳統的實驗記錄本&#xff0c;令人又愛又恨本 如何挑選電子實驗室記錄本&#xff08;ELN&#xff09;的品牌/服務商/供應商&#xff1f; 電子實驗記錄本&#xff0c;又名為ELN&#xff0c;Electronic lab notebook&#xff0c;enotebook&#xff0c;研發電子管理系統&#xf…

Qt實戰之將自定義插件(minGW)顯示到Qt Creator列表的方法

Qt以其強大的跨平臺特性和豐富的功能&#xff0c;成為眾多開發者構建圖形用戶界面&#xff08;GUI&#xff09;應用程序的首選框架。而在Qt開發的過程中&#xff0c;自定義插件能夠極大地拓展應用程序的功能邊界&#xff0c;讓開發者實現各種獨特的、個性化的交互效果。想象一下…

java基礎之枚舉和注解

枚舉 簡介 枚舉&#xff1a;enumeration&#xff0c;jdk1.5中引入的新特性&#xff0c;用于管理和使用常量 入門案例 第一步&#xff1a;定義枚舉&#xff0c;這里定義一個動物類&#xff0c;里面枚舉了多種動物 public enum AnimalEnum {CAT, // 貓DOG, // 狗PIG // …

2.3java運算符

運算符 1. 算術運算符 算術運算符用于執行基本的數學運算&#xff0c;像加、減、乘、除等。 運算符描述示例加法int a 5 3; // a 的值為 8-減法int b 5 - 3; // b 的值為 2*乘法int c 5 * 3; // c 的值為 15/除法int d 6 / 3; // d 的值為 2%取模&#xff08;取余&…

升級 Spring Boot CLI

&#x1f31f; 升級 Spring Boot CLI 1?? &#x1f504; 通過包管理器升級 使用對應包管理器命令&#xff08;如 brew upgrade&#xff09; 2?? &#x1f4e5; 手動安裝升級 遵循 標準安裝說明 注意更新 PATH 環境變量移除舊版本路徑 &#x1f517; 鏈接原文&#xff1a…

如何輕松將RS232轉為Profibus DP,提升PLC效率?

如何輕松將RS232轉為Profibus DP&#xff0c;提升PLC效率&#xff1f; 今天&#xff0c;我們就來聊聊一個工業自動化中常見的應用場景&#xff1a;如何通過興達易控RS232轉Profibus DP網關&#xff0c;實現流量泵與PLC&#xff08;可編程邏輯控制器&#xff09;的通信。這個話…

QT 連接數據庫操作(15)

文章目錄 一、本章說明二、QT連接云端數據庫實現2.1 ODBC軟件安裝及參數設置2.2 軟件代碼實現三、項目源碼文件一、本章說明 注:本節為【基于STM的環境監測系統(節點+云服務器存儲+QT界面設計)】項目第15篇文章,前面已經創建了監測軟件的登錄窗口,接下來我們將在主窗口實…

linux系統之----命令行參數和環境變量

一、命令行參數 1.main()函數的參數 在C語言中&#xff0c;main函數可以接收命令行參數&#xff0c;其標準形式為&#xff1a; int main(int argc, char *argv[]) {// 程序代碼return 0; } 這里我們解釋一下&#xff1a; argc&#xff1a;參數個數計數器&#xff08;Argum…

解析excel中的圖片

解析excel中的圖片 前言一、pom依賴二、使用步驟1.示例數據2.代碼如下&#xff08;示例&#xff09;&#xff1a; 總結 前言 初始化數據是&#xff0c;需要將excel中的數據解析并插入數據庫。 但是某幾列存放的是圖片&#xff0c;這時候怎么辦呢。 主要解決的是&#xff1a;獲…

Unity任務系統筆記

數據結構設計 任務基類包括的字段&#xff1a; string 任務內容&#xff1b; Transform 任務目的地&#xff1b; MyCharacter 任務開啟后要更新對話的NPC&#xff1b; MyTalkData 任務開啟后相關NPC要說的對話數據&#xff1b; 共同方法&#xff1a;開啟任務、完成任務。…

STM32的開發環境介紹

目錄 STM32軟件環境 Keil軟件在線安裝 其他軟件環境安裝 STM32開發的幾種方式 STM32寄存器版本和庫函數版本 標準外設庫的作用&#xff1a; STM32軟件環境 STM32 的集成開發環境&#xff08;IDE&#xff09;&#xff1a;編輯編譯軟件 常見的環境&#xff1a; (1)KEIL&a…

【特殊場景應對9】視頻簡歷的適用場景與風險分析

寫在最前 作為一個中古程序猿,我有很多自己想做的事情,比如埋頭苦干手搓一個低代碼數據庫設計平臺(目前只針對寫java的朋友),比如很喜歡幫身邊的朋友看看簡歷,講講面試技巧,畢竟工作這么多年,也做到過高管,有很多面人經歷,意見還算有用,大家基本都能拿到想要的offe…

Linux系統性能調優技巧分享

在數字化時代,Linux 系統以其開源、穩定、高效的特性,成為服務器、云計算、物聯網等領域的核心支撐。然而,隨著業務規模的擴大和負載的增加,系統性能問題逐漸凸顯。掌握 Linux 系統性能調優技巧,不僅能提升系統運行效率,還能降低運維成本。下面從多個方面介紹實用的性能調…

關于Code_流蘇:商務合作、產品開發、計算機科普、自媒體運營,一起見證科技與藝術的交融!

Code_流蘇 &#x1f33f; 名人說&#xff1a;路漫漫其修遠兮&#xff0c;吾將上下而求索。—— 屈原《離騷》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; &#x1f31f; 歡迎來到Code_流蘇的CSDN主頁 —— 與我一起&…

系統架構設計(三):質量屬性

常見分類 一般來說&#xff0c;質量屬性可以分為以下幾類&#xff1a; 類別常見質量屬性性能相關響應時間、吞吐量、資源利用率、實時性、可擴展性可用性相關可用性、高可用性&#xff08;HA&#xff09;、可靠性、容錯性、恢復性可維護性相關可維護性、可測試性、可擴展性、…

【鋰電池剩余壽命預測】GRU門控循環單元鋰電池剩余壽命預測(Matlab完整源碼)

目錄 效果一覽程序獲取程序內容代碼分享研究內容GRU門控循環單元在鋰電池剩余壽命預測中的應用摘要關鍵詞1. 引言1.1 研究背景1.2 研究現狀與問題1.3 研究目的與意義2. 文獻綜述2.1 鋰電池剩余壽命預測傳統方法2.2 深度學習在鋰電池壽命預測中的應用2.3 研究空白與本文切入點3.…

SpringCloud原理和機制

Spring Cloud 是一套基于Spring Boot的微服務開發工具集&#xff0c;它提供了在分布式系統環境下構建應用程序所需的一系列工具和服務。Spring Cloud旨在幫助開發人員快速構建一些常見的微服務模式&#xff0c;如服務發現、配置管理、智能路由、熔斷器、微代理、控制總線等。 …

LeetCode -- Flora -- edit 2025-04-25

1.盛最多水的容器 11. 盛最多水的容器 已解答 中等 相關標簽 相關企業 提示 給定一個長度為 n 的整數數組 height 。有 n 條垂線&#xff0c;第 i 條線的兩個端點是 (i, 0) 和 (i, height[i]) 。 找出其中的兩條線&#xff0c;使得它們與 x 軸共同構成的容器可以容納最…