推薦閱讀最新更新時間:2025-06-07 23:44
Stm32系列芯片規格、密度和命名
一、產品劃分 小容量產品 STM32F103x4 STM32F103x6 中等容量產品 STM32F103x8 STM32F103xB 大容量產品 STM32F103xC STM32F103xD STM32F103xE 二、命名規則 stm32芯片命名規則.png
[單片機]
STM32 x Arduino 通信 —— nRF24L01
Arduino 配置 /* * nRF24L01_RX.ino * * * ====== Pin Connection ====== * * -------------------------- * GND - GND ■■ VCC - 3V3 | * D9 - CE ■■ CSN - D10 | * D13 - SLCK ■■ MOSI - D11 | * D12 - MISO ■■ IRQ - NC | * -------------------------- * * ============================ */
[單片機]
【調試記錄】STM32 HAL庫硬件I2C從機Seq DMA方式不定長接收和發送
序言 久聞STM32硬件I2C坑多,之前做的項目淺嘗主機通信就偶爾遇到總線鎖死的bug,網上解決方案也很多,用著也還行。然而作為從機就是另一個大坑了,官方例程少,網上資料少,api也說的不明不白。本文整合各位博主分享的資料,記錄和分享調試linux主機與STM32的I2C通信過程中遇到的問題和解決方案,最終在STM32L051C8T單片機實現DMA方式的I2C從機。 單片機資源緊張,性能低但是實時性高。要充分發揮單片機實時特性,在處理低速IO時應該盡量用硬件方式實現,盡可能利用硬件處理數據。DMA就是解放CPU負載的利器。 HAL庫API分析 一般來說HAL庫的通信io類API分為polling阻塞,IT和DMA方式。而I2C分
[單片機]
STM32單片機基礎知識
STMicroelectronics的STM32系列是一系列廣受歡迎的32位ARM Cortex-M微控制器(MCU)。這些單片機被廣泛應用于嵌入式系統,因為它們具有高性能、低功耗、豐富的外設和豐富的開發工具生態系統。 1、處理器核心 STM32系列單片機采用不同版本的ARM Cortex-M處理器核心,可根據應用的性能和功耗需求進行選擇。從低功耗的Cortex-M0到高性能的Cortex-M7,這些核心提供了廣泛的選擇,適用于各種嵌入式應用。選型時需要考慮處理器性能、成本、功耗以及應用的實際需求。 Cortex-M0: 特點:Cortex-M0是Cortex-M系列中的低功耗、低成本核心,適用于對功耗有嚴格要求的應用。它是一種精
[單片機]
STM32 FreeRTOS Keil環境搭建
由于FreeRTOS的官方已經支持STM32F1X系列的Cortex-M3的移植,所以只需要在Keil IDE中設置相關即可了; 在Keil中新建一工程,在工程中新建3個組,分別對應3個目錄用來存放:user、rtos、stmlib user中添加用戶自己的代碼和頭文件; rtos中添加rots的文件主要有:list.c、task.c、queue.c、head_2.c、port.c stmlib中添加STM32官方提供的STM32操作的lib庫(注意stm32f10x_md.s中的內容和替換為FreeRTOS Demo 中的STM32F10X.s否則系統調度不能正常工作) 另外需要把FreeRTOS/source/inc
[單片機]
STM32點LED燈
一、建立項目模板 這里的user中重復引用了system_stm32f10x.c Output中選擇Create HEXFile,并且可以選擇輸出路徑。 Listing中可以選擇輸出路徑。 然后在C/C++中加入兩個宏: STM32F10X_MD,USE_STDPERIPH_DRIVER 并且還要勾選One ELF Section per Function,加入頭文件路徑: 在Debug中,使用J-Link,并設置 在Utilities,選擇J-Link并Setting中: 二、寫點LED代碼 GPIO初始化: /**8位的LED的IO口***/ #define PIN_LED (GPIO_Pin_8 | GP
[單片機]
對比STM32各系列產品特性和外設兼容性
在考慮更換STM32,且跨系列更換,可以看看下面各系列的對比圖。 STM32產品系列特性比較 下面是STM32F0、F1、F2、F4、L1各產品系列的特性進行對比: 3 外設兼容性分析對比 對STM32進行過研究的朋友,特別是使用過寄存器開發的朋友應該很明白STM32片上外設,進行過對比的朋友,會發現,各系列MCU的片上外設很多相似之處,甚至完全一樣。 下面將F1分別和F0、F2、F4、L1對比一下,大家看看有哪些差異。 1.STM32 F1 與 F0 系列外設兼容性分析對比 2.STM32 F1 與 F2 系列外設兼容性分析對比 3.STM32 F1 與 F4 系列外設兼容性分析對比 4.STM32 F
[單片機]
Stm32采用環形緩沖區接收rk3588的數據代碼
```c #include stm32f10x.h #include usart.h #include ring_buffer.h #define BUFFER_SIZE 128 uint8_t buffer ; // 定義一個大小為128的緩沖區 ring_buffer_t ring_buffer; // 定義一個環形緩沖區結構體 void USART1_IRQHandler(void) { if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) // 判斷是否接收到數據 { uint8_t data = USART_ReceiveData(USART1); // 讀取接收
[單片機]