STM32F103C8T6板子使用說明

第一章 計算機體系結構(了解)

后續在板子上開發的時候,需要考慮是否有操作系統?

  • 方式一:有操作系統,通過c庫通過os api操作硬件
  • 方式二:無操作系統,?通過c庫通過固件庫操作硬件

第二章 STM32開發板概述

板子/開發板:pcb版,把眾多元器件集中到一個板子上面管理

1. 基礎概念

????????Cortex-M系列是ARM針對微控制器應用推出的內核,STM32系列芯片是STMicroelectronics(意法半導體)公司推出的32位ARM Cortex-M微控制器系列產品

????????STM32系列芯片基于ARM Cortex-M內核,包括Cortex-M0、M0+、M3、M4和M7等多種類型。這些內核提供了不同的性能級別,以滿足從低功耗設備到高性能應用的各種需求

2.?產品分類

STM32F0系列

  • 定位:入門級微控制器,適合初學者和簡單嵌入式應用。

  • 性能:基于ARM Cortex-M0內核,主頻范圍為20-64MHz,提供實時性能和低功耗。

  • 應用場景:家居自動化、小型設備控制等。

STM32F1系列

  • 定位經典中堅力量,廣泛應用的系列

  • 性能:采用Cortex-M3內核,主頻可達72MHz,性能穩定。

  • 應用場景:消費電子、小型設備等。

STM32F2系列

  • 定位:高性能與低功耗的結合。

  • 性能:基于Cortex-M3內核,主頻高達120MHz,平衡了高性能和低功耗。

  • 應用場景:通信設備、物聯網設備等。

STM32F3系列

  • 定位:高度集成數字模擬功能。

  • 性能:搭載Cortex-M4內核,最高主頻可達72MHz,具有豐富的數字模擬外設資源。

  • 應用場景:電源管理、電機控制等需要高度集成模擬功能的應用。

STM32F4系列

  • 定位:高性能數字信號處理之選。

  • 性能:基于Cortex-M4內核,主頻可高達180MHz,具備硬件浮點單元(FPU),支持DSP指令集,適合處理復雜數字信號和高速數據流。

  • 應用場景:航空航天、工業自動化等。

STM32F7系列

  • 定位:引領行業新標準。

  • 性能:采用Cortex-M7內核,最高主頻達到216MHz,具備高級的緩存架構和雙精度浮點單元(FPU)。

  • 應用場景:高性能圖形顯示、多媒體處理等領域。

STM32H7系列

  • 定位:頂級性能系列。

  • 性能:基于Cortex-M7內核,最高主頻可達480MHz,是STM32家族中性能最高的系列。具備豐富的存儲資源和高速接口。

  • 應用場景:運行復雜的實時操作系統(RTOS)和高級圖形界面。

3.?STM32芯片命名與規則

? ? ? ? 比如等下會介紹的:STM32F103C8T6

?4.?嵌入式操作系統

4.1?為什么需要操作系統

????????有的嵌入式系統沒有操作系統。只能調用芯片產品提供一下私有庫文件來操作。

????????優點:性能高, 缺點:通用性非常差。

有操作系統,就有操作系統封裝了硬件的不一致。 只需要調用操作系統的api就OK了

4.2 嵌入式操作系統的分類????????

手機平臺: android,ios,鴻蒙

其他平臺:

  • rtos(實時操作系統): freertos,rtthread,uccos,qnx等 芯片不是很強
  • 通用性: 嵌入式linux(經過裁剪),鴻蒙

5.?外設與硬件接口

5.1?常見的外設

傳感器 ?執行器?顯示屏?通信接口 ?存儲設備 ?輸入設備 ?音頻設備 ?ADC/DAC

ADC/DAC模擬數字轉換器(ADC)數字模擬轉換器(DAC)在模擬和數字信號之間進行轉換,這在嵌入式系統中非常有用,特別是當需要處理模擬信號時

5.2?芯片的硬件接口

????????嵌入式系統中的硬件接口是連接微控制器其他處理器與外部設備橋梁,它們允許數據和控制信號的傳輸

?通信的概念

  • 通信指的是CPU和外部設備之間或者計算機與計算機之間的數據交互 ?

通信的種類 ?

并行通信

  • 傳輸原理:數據各個位同時進行傳輸(以字節或字節的倍數進行傳輸)
  • 優點:傳輸速度快
  • 缺點:占用引腳資源、傳輸成本高、傳輸距離近、抗干擾能力弱(串擾)
  • 應用領域:一般大量數據傳輸,并且傳輸距離較近 如計算機總線

串行通信

  • 傳輸原理:數據按位依次順序傳輸(每一位都占據固定的時間長度)
  • 優點:節約引腳資源(最少一根線)、傳輸成本低、傳輸距離遠
  • 缺點:傳輸速度慢
  • 應用領域:一般用于工控設備、測量設備、少部分通信設備 USB COM

?第三章?STM32F103C8T6開發板認識

1.?核心參數

STM32F103C8T6是一款基于ARM Cortex-M3 內核STM32系列的32位的微控制器,程序存儲器容量是64KB,需要電壓2V~3.6V,工作溫度為-40°C ~ 85°C。

STM32F103C8T6芯片的基本參數:

  1. 類別:集成電路(IC);
  2. 家族:嵌入式-微控制器;
  3. 總線寬度:32-位;
  4. 速度:72MHz;
  5. 外圍設備:DMA,電機控制PWM,PWM,溫度傳感器;
  6. 輸入/輸出數:37;
  7. 程序存儲器容量:64KB (64K x 8);
  8. 程序存儲器類型:FLASH;
  9. RAM容量:20K x 8;
  10. 電壓-電源(Vcc/Vdd):2 V ~ 3.6 V;
  11. 模數轉換器:A/D 10x12b;
  12. 振蕩器型:內部;
  13. 工作溫度:-40°C ~ 85°C;
  14. 封裝/外殼:48-LQFP。

?2. 安裝驅動

判斷安裝完成 ?

3.?普中 STM32F103C8T6啟動方式

STM32三種啟動模式對應的存儲介質均是芯片內置的,它們是:

  • 用戶閃存=芯片內置的Flash。
  • SRAM=芯片內置的RAM區,就是內存啦。
  • 系統存儲器=芯片內部一塊特定的區域,芯片出廠時在這個區域預置了一段Bootloader,就是通常說的ISP程序。這個區域的內容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROM區。

?BOOT1=xBOOT0=0從用戶閃存啟動,這是正常的工作模式

BOOT1=0BOOT0=1從系統存儲器啟動,這種模式啟動的程序功能由廠家設置。 BOOT1=1BOOT0=1從內置SRAM啟動,這種模式可以用于調試

第四章 環境搭建

? ? ? ? 之后我們就要在這個STM32F103C8T6開發板,燒錄程序,就需要先搭建各種環境

1.?KEIL5 軟件安裝

?

?

2.?安裝 STM32 芯片包

3. 破解KEIL5 軟件?

KEIL5 安裝到這里電腦桌面上會有一個快捷方式,如下所示: 首先以管理員模式打開 KEIL5 軟件

?

  • 之后再把得到的序列號,拷貝回去就可以了?

?4.?固件庫的使用

STM32的開發方式有三種:寄存器開發 + 函數庫開發 + 圖形界面開發

????????寄存器開發: STM32屬于32位的MCU,STM32內部的資源十分豐富,就導致寄存器的數量和復雜度都增大了,就要求開發人員對底層的知識掌握的非常扎實。

????????函數庫開發:相比于寄存器開發,使用庫函數開發的程序的運行效率稍微低一些,大概低10%~15%左右,但是對于一些實時性要求不高的產品來說,可以忽略不計。ST公司針對STM32開發了兩套庫(標準外設庫 + HAL庫),國內大多數的公司還是在采用標準外設庫開發(更穩定、資料更多、容易維護)。

????????圖形界面開發:圖形界面開發使用了STM32CubeMX工具

我們學習的事主流的開發方式,使用標準固件庫,也就是函數庫開發

4.1 CMSIS 標準

????????什 么 是 CMSIS 標 準 ? CMSIS 標 準 英 文 全 稱 是 Cortex MicroControllerSoftware Interface Standard,翻譯為中文意思就是ARM Cortex 微控制器軟件接口標準。由于基于 Cortex 核的芯片廠商很多,不只是ST 公司,為了解決不同廠家的 Cortex 核芯片軟件兼容的問題,ARM 和這些廠家就建立了這套CMSIS標準
????????我們可以通過一個基于 CMSIS 標準的應用程序框圖來看其重要性。如下圖所示:

?4.2 建立模塊工程

step1:?創建模版工程存放路徑

step2: 建立三個文件夾(User、Lib、Obj) ?

Obj 文件夾:用于存放編譯產生的 c/匯編/鏈接的列表清單、調試信息、hex文件、預覽信息、封裝庫等文件。

User 文件夾:用于存放用戶編寫的 main.c、stm32f10x.h 頭文件、stm32f10x_conf.h配置文件、stm32f10x_it.c和stm32f10x_it.h中斷函數文件。

Lib 文件夾:用于存放 CMSIS 標準和 STM32 外設驅動文件

step3:?建立自己原始的Lib文件庫?


?


  • 注意:startup_stm32f10x_md.s根據我們使用芯片來決定(c8t6屬于中等容量,所以使用_md.s) ?

step4: User: 根據固件庫的模板添加?

4.3 創建工程

4.4?配置工程文件夾

使用工程管理圖標(Manager Project Items)添加文件夾,添加文件 ?

說明一下:

  • User下面添加Main.c入口程序,以及中斷文件stm32f10x_it.c,后面還可以添加我們的功能性文件;
  • Startup添加啟動文件,startup_stm32f10x_md.s,(找不到可能是因為文件類型)
  • StdPeriph_Driver標準庫外設驅動文件,一般先添加常用的外設驅動文件(gpio常用外設、rcc時鐘相關文件)
  • CMSIS添加兩個內核文件

4.5?工程參數設置

4.6 啟動測試

  • 走到這里就表示都配置完了,之后使用就通過每次的

5. 燒錄程序到板子上

開始燒錄程序

說明一下:?

  • 這個TestLED.hex是一個控制這個板子上燈的程序
  • 這一排燈會從左向右的,依次閃爍

說明一下:

  • ?st-lib.hex 就是我們剛才寫的生成,什么都沒做,就是一個死循環
  • 由于重新燒錄了一遍,所以原來的那個燈又被覆蓋了

?第五章 第一個LED燈- D2(重點)

1. 找到物理位置

2. 找到電路位置

? ? ? ? 剛才我們已經看到了LED燈的物理位置,且這個版在核心版上叫D2, 接下來就是要看一下核心版的原理圖

?說明一下:

  • 在原理圖中D2的左邊有個電阻和一個VCC3.3,這個VCC3.3表示電源為3.3V的正電壓
  • 而想要一個元件通電,就必須要有電流通過這個元件,而電流的形成又需要通過電勢差,電勢差又需要從高電壓到低電壓,
  • 簡單來說,PC13這根必須表示為負電壓(說人話是這樣的)
  • 專業一定是讓這個芯片給PC13引腳輸出一個信號,然后讓它形成低電壓

3.?STM32 芯片的 GPIO

????????在 STM32 芯片中,GPIOGeneral Purpose Input/Output 的縮寫,中文叫做“通用輸入輸出口”。它是 STM32 微控制器上用來與外部設備(如按鈕、LED、傳感器、繼電器等)進行通信的基本接口之一?

4.?PC13引腳

PC13 是 STM32 微控制器中端口 C 的第 13 號 GPIO 引腳,常用于控制板載 LED

引腳是微控制器(如 STM32)與外部世界進行電氣連接的金屬腳位,用于輸入輸出信號?

在 STM32 微控制器中,所有的 GPIO 引腳都有一個命名規則,比如:

  • P 代表 Port(端口)

  • C 是端口的字母名(Port C)

  • 13 是該端口上的第 13 個引腳

????????所以,PC13 就是 端口 C 的第 13 個引腳

????????STM32 通常有多個 GPIO 端口(A、B、C、D 等),每個端口包含若干個引腳,比如 PA0、PB5、PC13 等。

? ? ? ? 對了我這個STM32F103C8T6是有48組引腳

5.? step1:給APB2 GPIO C進行時鐘使能

5.1?時鐘使能

????????時鐘使能就是給某個外設通電并啟動它的工作時鐘讓它能正常運行

在 STM32 中,比如你要用 GPIOC,就必須先“時鐘使能”,也就是打開 GPIOC 的時鐘,不然它就不會工作

  • STM32 的時鐘來自內部振蕩器外部晶振經過 RCC 分配,你必須手動“打開”才能讓外設工作

5.2?GPIO C - PC

GPIOC 是一個端口,PC13 是它的一個引腳(第13號)?

簡單對比:

  • GPIOC:表示整個 C 端口,包括 PC0 ~ PC15 共 16 個引腳。

  • PC13:是 GPIOC 中的第 13 個引腳,是 GPIOC 的一部分。

5.3 APB2

? ? ? ? 要說這個東西,又要看參考手冊中的系統架構 去看看內部的線路是怎么走的

  • APB2 是 STM32 芯片內部的一個外設總線GPIOC 就掛載在這條總線上。

詳細但簡潔地說:

STM32 內部有多個總線(像交通道路),負責把時鐘和數據傳給各個外設,常見的有:

總線名全稱掛載的外設
AHBAdvanced High Bus內存、DMA、FSMC 等
APB1Advanced Peripheral Bus 1比如 USART2、TIM2、I2C1 等
APB2Advanced Peripheral Bus 2GPIOA/B/C、AFIO、USART1、ADC1等

5.4 參考手冊6.2?RCC寄存器描述

? ? ? ? 我這個板子是STM32,32就是32個bit位,每一個bit位的功能都不一樣,

說明一下:?

  • 保留的意思是這個bit位還沒有用(這里是始終為0)也就是0不啟動
  • 如果要開啟某個功能,就設置為1?

每個bit位的功能?

    5.5 參考手冊 6.3.4 APB2 外設復位寄存器 (RCC_APB2RSTR)

    ? ? ? ? ?首先明確目標:我們在這一步要做的是開啟APB2 GPIOC的時鐘使能

    ????????這個IOPCRST就是GPIOC,把這個bit位打開了,就是把PC那個一堆引腳都打開了,其中自然就有PC13

    ? ? ? ? ?所以接下來我們把這個寄存器中的第四個bit位置成1就可以了,也就是0....10000(二進制) = 16(十進制)這時我們就得到了一個關鍵數字16

    ? ? ? ? ?接下來就需要思考,這個16給誰能,換句話說16給那個地址呢

    5.6 參考手冊?2.3 存儲器映像

    ? ? ? ? 所有寄存器的起始地址如下:

    ?

    起始地址?

    ? ? ? ? 而我們想要的其實是這個:AHB總線上的-> 復位和時鐘控制(RCC) -> 0x4002 1000

    5.6 參考手冊6.3.11 RCC寄存器地址映像

    偏移量

    說明一下?

    • ?IOPCEN就是GPIOC,GPIOC其中就有PC13
    • 這時,我們就得到了一個重要數字018h,也就是0x18(十六進制)

    5.7 最終代碼

    ????????此時我們有了寄存器起始地址(0x4002 1000),寄存器偏移量(0x18),還有個值(16),則最終代碼如下:

    //1.給APB2  GPIO C進行時鐘使能
    *(uint32_t *)(0x40021000+0x18)=16;
    

    6. step2 : 找GPIOC 第13個引腳 輸出一個低電平

    6.1 參考手冊 8.1 GPIO功能描述

    ? ? ? ? 我們需要思考GPIOC的第13根線,怎么工作,也就是選擇那個工作模式?

    考慮的東西有點多,直接說結論: 選擇推挽輸出

    ?6.2 推挽輸出模式

    簡單來說:就是輸入輸出模式

    說明一下:?

    • ?VDD是正,VSS是負
    • 當我們給輸出控制為1時,表示接通VDD,此時里面為正,外面為負,電流從內到外,推模式
    • 當我們給輸出控制為0時,表示接通VSS,此時里面為負,外面為正,電流從外到內,挽模式

    6.3?參考手冊 8.2.2 端口配置高寄存器(GPIOx_CRH) (x=A..E)

    ?????????每個端口配置需要用4個bit位,但要16根線,一共需要64位,則STM32中的32bit位是不夠的,其實端口配置是分了低寄存器,和高寄存器的每個8根線

    ? ? ? ? ?其實這里是有2個寄存器的,但我們這里就只看高寄存器,也就是后面8根線

    為什么用4個bit為才能搞定這件事呢??

    ?

    說明一下:

    • 后2個bit位標識MODE8[1:0],也就是0和1的組合
    • 前2個bit為標識CNFy[1:0]?,也是0和1的組合
    • 當我們將第是三根線上的MODEy[1:0]設置為11時,表示最大速率wei50MHZ的輸出模式
    • 而我們選擇的工作模式是推挽輸出模式,且此時的MODEy[1:0]>00,則CNFy[1:0]為00

    則這個寄存器中的二進制為 0000 0000 0011 0000?0000 0000 0000 0000 也就是

    這時我們得到了一個數字0x300000(十六進制)

    ?6.4?參考手冊?2.3 存儲器映像

    ? ? ? ? 在這一步中,我們也需要到GPIOC起始地址偏移量,然后才能把剛才那個數字存到寄存器中

    ?起始地址

    ?

    • 此時我們得到了GPIOC的起始地址為0x4001 1000?

    ?偏移量

    • 通過查詢手冊,我們可發現這個寄存器的偏移地址為0x04?

    6.5 最終代碼?

    ?????????此時我們有了寄存器起始地址(0x4001 1000),寄存器偏移量(0x04?),還有個值(0x300000),則最終代碼如下:

    //2. 設置模式-推挽輸出模式 50mhz
    *(uint32_t *)(0x40011000+0x04)=0x300000;
    

    7. step3: 給PC13輸出一個低電平

    ? ? ? ? 簡單來說:就是找到對應的端口13引腳 賦值為0 低電平

    7.1 參考手冊?8.5 GPIO AFIO寄存器地址映象

    ? ? ? ? 每一組引腳有16根線GPIOA有16根線,GPIOB有16根線,所以一組數據用不到高16位,則保留

    說明一下:

    • ?我們要做的就是讓PC這個根線上的第13位設置為0,其他為1

    ? ? ? ? 所以:我們要讓PC13輸出一個低電平,就是給它一個值為0xDFFF

    ODR的偏移量?

    • 通過查詢手冊發現這個偏移量為0x0c?

    ?ODR的起始地址

    • 這個寄存器的起始地址和上面那個相同都是0x4001 1000,就只是偏移量不同?

    7.2 最終代碼

    ?????????此時我們有了寄存器起始地址(0x4001 1000),寄存器偏移量(0x0C?),還有個值(0xDFFF),則最終代碼如下:

    //3.給PC13輸出一個低電平
    *(uint32_t *)(0x40011000+0x0C)=0xDFFF;

    8. 完整代碼

    #include "stm32f10x.h"
    #include "led.h"
    int main()
    {//1.給APB2  GPIO C進行時鐘使能*(uint32_t *)(0x40021000+0x18)=16;//2. 設置模式-推挽輸出模式 50mhz*(uint32_t *)(0x40011000+0x04)=0x300000;//3.給PC13輸出一個低電平*(uint32_t *)(0x40011000+0x0C)=0xDFFF;while(1){}return 0;
    }

    9. 燒錄程序到板子上

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

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

    相關文章

    PBR材質-Unity/Blender/UE

    目錄 前言: 一、Unity: 二、Blender: 三、UE: 四、全家福: 五、后記: 前言: PBR流程作為表達物理效果的經典方式,很值得一學。紋理貼圖使用的是上一期的Textures | cgbookcas…

    【生產實踐】Linux中/usr/bin、/usr/sbin與/usr/local的關系解析(2025年技術規范)

    一、核心定位與功能劃分 /usr/bin:用戶級通用命令庫 ? 定位:存儲系統預裝的用戶級可執行文件,這些命令通常由Linux發行版官方軟件包管理器(如APT、YUM)安裝,屬于系統默認功能的一部分。 ? 示例命令&#…

    智能網聯汽車 “中央計算” 博弈:RTOS 與跨域融合的算力分配挑戰

    一、引言 隨著智能駕駛技術的飛速發展,汽車逐漸從傳統的交通工具演變為移動的智能終端。智能網聯汽車的核心競爭力日益體現在其強大的計算能力和高效的算力管理上。汽車電子電氣架構(EEA)正經歷從分布式架構向 “中央計算 區域控制” 架構的…

    【PDF】使用Adobe Acrobat dc添加水印和加密

    【PDF】使用Adobe Acrobat dc添加水印和加密 文章目錄 [TOC](文章目錄) 前言一、添加保護加密口令二、添加水印三、實驗四、參考文章總結 實驗工具: 1.Adobe Acrobat dc 前言 提示:以下是本篇文章正文內容,下面案例可供參考 一、添加保護加…

    python面試實戰經驗分享

    2025/3/28第一面 杭州實在智能 見習python開發工程師 1、Python方法中參數默認值可以是列表或者字典嗎? 在Python中,函數參數的默認值可以是列表或字典,列表或者字典在初始化應在函數體內,如果不正確處理,可能會導致所有調用都共享同一個列表。 2、協程、線性和進程 進程…

    MIST:一鍵解鎖 macOS 歷史版本,舊系統安裝不再難!

    在 Mac 電腦的使用過程中,你是否遇到過這些困擾?為了運行一款經典設計軟件,新系統卻無法兼容;或是想給老舊 Mac 設備升級,卻找不到適配的系統版本。而 App Store 里,舊版 macOS 安裝包就像 “隱藏副本”&am…

    win10 局域網內聊天

    在 Windows 10 的局域網 中,如果你想實現 多個用戶之間的聊天功能,可以選擇以下幾種方案,取決于你需要的是: ? ? 命令行純文字聊天(如 Linux talk) ? ? 圖形界面聊天室 ? ? 局域網廣播消息 ? ? 多人…

    Android CountDownTimer重寫

    Android 倒計時器重寫,實現可重復使用,動態修改計時時間 CountDownTimerRew 是一個可重寫、動態修改計時時間的 Android 倒計時器類。它允許開發者設置倒計時總時長、間隔時間,并通過 onTick 和 onFinish 方法實現定時回調。該類支持動態修改…

    dp自動化登陸之hCaptcha 驗證碼

    hCaptcha 是一種常見的驗證碼服務,用于區分人類用戶和自動化程序。由于其基于圖像識別和行為分析,下面介紹如何使用自動化點擊驗證碼完成登陸。 思路:登陸目標網站觸發驗證碼,截圖并發給打碼平臺返回坐標,模擬人工點擊…

    【工作記錄】crmeb后端項目打開、運行

    1、下載代碼 1)安裝git 不再詳述 2)git拉代碼 項目地址如下,在vscode-分支中拉代碼 # 克隆項目 git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ 截圖如下是已經成功拉下來 注意安裝對應版本 2、maven配置 安裝配置見&#x…

    敏捷軟件開發與Scrum

    目錄 一、敏捷軟件開發 敏捷開發原則 敏捷開發特點 二、Scrum (一)Scrum 基礎知識

    Three.js模型材質調整與性能優化實戰

    一、材質基礎調整 1.1 顏色與透明度控制 通過Material.color屬性可直接修改材質顏色: material.color new THREE.Color(0xff0000); // 紅色結合opacity屬性實現透明效果: material.opacity 0.5; // 50%透明度如需動態調整,可通過Color.…

    Flutter速成指南:不懂編程也能10天開發專業級App

    Flutter速成指南:不懂編程也能10天開發專業級App 🚀 輕松構建漂亮的跨平臺應用 📑 目錄 一、Flutter是什么? 為什么選擇Flutter?Flutter工作原理 二、環境搭建與命令行 安裝Flutter SDK常用Flutter命令創建第一個項目…

    【面試真題】王者榮耀億級排行榜,如何設計?

    目錄 一、數據庫 order by 二、Redis 的zset 三、抗億級數據存在的問題 3.1 熱點 key 問題 3.1.1 多級緩存(RedisJVM本地緩存) 3.1.2 讀寫分離 從庫負載均衡 3.1.3 分片Key設計 3.2 內存爆炸 3.2.1 縮短鍵名 3.2.2 分片存儲 3.3 數據持久化風…

    Java 語法基礎(筆記)

    java 的數據類型 基本類型 Java 有八種基本類型: byte:1 字節,-128~127short:2 字節,-32768~32767int:4 字節,-2147483648~2147483647long:8 字節,-92233720368547758…

    C# 方法(棧幀)

    本章內容: 方法的結構 方法體內部的代碼執行 局部變量 局部常量 控制流 方法調用 返回值 返回語句和void方法 局部函數 參數 值參數 引用參數 引用類型作為值參數和引用參數 輸出參數 參數數組 參數類型總結 方法重載 命名參數 可選參數 棧幀 遞歸 棧幀 至此,我們已…

    C# 使用 WinUI 3 項目模板創建桌面應用程序

    文章目錄 1. 概述2. 先決條件3. 創建項目步驟4. 項目結構簡介5. 代碼示例5.1. MainWindow.xaml (UI 定義)5.2. MainWindow.xaml.cs (邏輯代碼) 6. 生成和運行應用程序7. 關鍵概念 1. 概述 本示例演示如何使用 Visual Studio 中的 “Blank App, Packaged (WinUI 3 in Desktop)”…

    設計模式簡述(十八)享元模式

    享元模式 描述基本組件使用 描述 當內存中存在大量類似的對象時,可以考慮使用享元模式減少整體內存占用。 可以將相同的部分和不同的部分進行拆分,以達到多個對象共享相同部分內存的目的。 基本組件 通常享元對象通過共享的屬性映射一個享元對象。 公…

    大數據狙擊金融欺詐——技術如何守護交易安全?

    大數據狙擊金融欺詐——技術如何守護交易安全? 金融領域一直是欺詐行為的“重災區”,從傳統的信用卡盜刷到精心策劃的網絡詐騙,攻擊者不斷進化手法,使得防御變得越來越復雜。然而,大數據技術的出現,讓金融欺詐檢測從被動防守轉向主動狙擊,通過深度學習、行為分析和實時…

    如何通過DNS解析實現負載均衡?

    在當今的互聯網時代,隨著網絡應用的飛速發展,網站和各類在線服務面臨著海量的用戶請求。為了保障服務的高可用性和高性能,負載均衡技術應運而生。DNS(域名系統)負載均衡作為其中一種重要的實現方式,憑借其簡…