日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

STM32C542開發(fā)(3)----配置串口打印

嵌入式單片機MCU開發(fā) ? 來源:嵌入式單片機MCU開發(fā) ? 作者:嵌入式單片機MCU開 ? 2026-06-08 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

在傳統(tǒng) STM32 開發(fā)中,我們通常會通過 STM32CubeMX 配置 USART,并重定向 printf() 到串口,用于輸出調(diào)試信息。STM32C5 使用新的 STM32CubeMX2 和 HAL2 驅動體系,工程結構和部分 API 命名相比傳統(tǒng) HAL 有所變化,因此串口配置和代碼編寫也需要稍作適配。

需要樣片的可以加群申請:925643491 / 615061293 。

視頻教學

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

樣品申請

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

源碼下載

[https://download.csdn.net/download/qq_24312945/92952814]

硬件準備

首先需要準備一個開發(fā)板,這里我準備的是自己繪制的開發(fā)板,需要的可以進行申請。
主控為STM32C542CCT6

在這里插入圖片描述

參考程序

https://github.com/CoreMaker-lab/STM32C542_SENSOR

https://gitee.com/CoreMaker/STM32C542_SENSOR

生成STM32CUBEMX2

用STM32CUBEMX2生成例程,這里使用MCU為STM32C542CCT6。

  1. 打開 STM32CubeMX2 后,進入 Home 首頁
  2. 點擊 MCU,基于具體芯片型號創(chuàng)建工程

在這里插入圖片描述

在 MCU name 中輸入 STM32C542CCT6,選擇對應的 STM32C5 芯片型號后,點擊 Continue 進入下一步工程配置。

在這里插入圖片描述

填寫工程名稱和保存路徑后,點擊 “Automatically Download, Install & Create Project”,STM32CubeMX2 會自動下載所需軟件包并創(chuàng)建工程。

在這里插入圖片描述
STM32CubeMX2 提示 Project Successfully Created 后,點擊右下角 “Launch Project” 進入工程配置界面。

在這里插入圖片描述

時鐘樹配置

  1. 點擊左側外設配置入口,進入 Peripherals 配置界面
  2. 在 System 分類下選擇 RCC,用于配置系統(tǒng)時鐘源
  3. HSE Source 選擇 Crystal/ceramic resonator,啟用外部高速晶振
  4. LSE Source 選擇 Crystal/ceramic resonator,啟用外部低速晶振

在這里插入圖片描述

  1. 點擊左側 Clock 圖標,進入時鐘樹配置界面
  2. HSE OSC:設置外部高速晶振頻率,這里配置為 24 MHz
  3. PSI Mux / PLL:選擇并配置 PLL 時鐘源,用于倍頻生成系統(tǒng)主頻
  4. System Mux:選擇系統(tǒng)時鐘來源,當前系統(tǒng)主頻配置為 144 MHz

在這里插入圖片描述

DEBUG配置

在 Peripherals 中選擇 Cortex → DEBUG,將 Mode 配置為 Single-wire trace asynchronous,用于后續(xù)程序下載、在線調(diào)試和 Trace 調(diào)試功能。

在這里插入圖片描述

串口配置

查看原理圖,PA9和PA10設置為開發(fā)板的串口。

在這里插入圖片描述
在這里插入圖片描述

  1. 在左側 Peripherals 中選擇 Connectivity → USART1
  2. Mode 選擇 Async,表示配置為異步串口模式
  3. Function used by the component 顯示為 UART,說明 USART1 在異步模式下使用 UART HAL 驅動
  4. 串口參數(shù)配置為:115200 波特率、8 位數(shù)據(jù)位、無校驗、1 位停止位、收發(fā)模式

在這里插入圖片描述

  1. GPIO Tx:USART1_TX 選擇 PA9
  2. GPIO Rx:USART1_RX 選擇 PA10
  3. PA9 / PA10 均配置為 Alternate 復用功能模式
  4. Pull 選擇 No pull-up and no pull-down,Output type 選擇 Push pull,Speed 選擇 Low

在這里插入圖片描述

生成項目

  1. 修改配置后,左下角會提示 Click to save,需要先保存當前工程配置
  2. 點擊左側 Project settings,進入工程生成設置頁面
  3. 在 IDE Project Generation 中選擇工程格式和工具鏈,本例選擇 CMake + GCC,然后點擊 Generate IDE project 生成工程

在這里插入圖片描述

導入STM32CubeIDE

  1. 打開 STM32CubeIDE,點擊菜單欄 File
  2. 選擇 Import...,準備導入 STM32CubeMX2 生成的 CMake 工程

在這里插入圖片描述

  1. 在 Import 窗口中展開 Import STM32 Project
  2. 選擇 STM32 CMake Project
  3. 點擊 Next,進入 CMake 工程路徑選擇頁面

在這里插入圖片描述

  1. Project name:填寫導入到 STM32CubeIDE 中顯示的工程名稱
  2. Source directory:選擇 STM32CubeMX2 生成的 CMake 工程目錄
  3. 點擊 Next,繼續(xù)完成工程導入

在這里插入圖片描述

  1. Toolchain:選擇 MCU ARM GCC,表示使用 ARM GCC 工具鏈進行編譯
  2. MCU:確認芯片型號為 STM32C542CCTx,與前面 STM32CubeMX2 中選擇的 MCU 保持一致
  3. CPU/Core:確認內(nèi)核為 Cortex-M33,Core 為 0
  4. 點擊 Finish,完成 CMake 工程導入

在這里插入圖片描述

設置工程編碼

  1. 在 Project Explorer 中選中當前工程
  2. 點擊菜單欄 Project
  3. 選擇 Properties,進入工程屬性設置

在這里插入圖片描述

  1. 在工程屬性中選擇 Resource
  2. Text file encoding 選擇 Other
  3. 編碼格式輸入 GBK
  4. 點擊 Apply and Close 保存設置

在這里插入圖片描述

添加頭文件

在 main.c 中添加頭文件

#include "mx_usart1.h"
#include < stdio.h >
#include < string.h >

printf 重定向

為了讓 printf() 輸出到 USART1,需要重寫 _write() 函數(shù)。GCC 工程中,printf() 底層會調(diào)用 _write() 輸出字符,因此只需要在 _write() 中調(diào)用 HAL_UART_Transmit(),就可以把 printf() 的內(nèi)容通過串口發(fā)送出去。

int _write(int file, char *ptr, int len)
{
    hal_uart_handle_t *huart1 = mx_usart1_uart_gethandle();

    if (huart1 != NULL)
    {
        HAL_UART_Transmit(huart1, ptr, len, 1000);
    }

    return len;
}

串口打印測試

在 mx_system_init() 初始化完成后,可以直接調(diào)用 printf() 進行串口打印測試

hal_uart_handle_t *huart1 = mx_usart1_uart_gethandle();

printf("Hello STM32C5 UART printfrn");
printf("STM32C5 串口打印測試rn");
char msg[] = "Hello STM32C5 UARTrn";

HAL_UART_Transmit(huart1, msg, strlen(msg), 1000);

演示

在這里插入圖片描述

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2315

    文章

    11223

    瀏覽量

    375711
  • 串口
    +關注

    關注

    15

    文章

    1633

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32C552開發(fā)(2)----BOOT_SEL設置

    在實際項目開發(fā)或量產(chǎn)維護中,除了 ST-LINK 下載方式外,很多場景還會使用 USART 串口、USB DFU、SPI 或 FDCAN 等方式進行程序升級。此時 MCU 需要先進入 ST 出廠
    的頭像 發(fā)表于 06-08 11:11 ?377次閱讀
    <b class='flag-5'>STM32C</b>552<b class='flag-5'>開發(fā)</b>(2)----BOOT_SEL設置

    STM32C542開發(fā)(2)----BOOT_SEL設置

    在實際項目開發(fā)或量產(chǎn)維護中,除了 ST-LINK 下載方式外,很多場景還會使用 USART 串口、USB DFU、SPI 或 FDCAN 等方式進行程序升級。此時 MCU 需要先進入 ST 出廠
    的頭像 發(fā)表于 06-08 11:09 ?350次閱讀
    <b class='flag-5'>STM32C542</b><b class='flag-5'>開發(fā)</b>(2)----BOOT_SEL設置

    STM32C552開發(fā)(1)----點亮LED

    STM32C552 & SENSOR是一款基于STM32C5系列微控制器的評估套件。該微控制器采用了40nm工藝制造,具有更快的FLASH訪問,更高的性能以及更低的功耗。此外,該套件具有豐富
    的頭像 發(fā)表于 06-08 11:08 ?336次閱讀
    <b class='flag-5'>STM32C</b>552<b class='flag-5'>開發(fā)</b>(1)----點亮LED

    STM32C542開發(fā)(1)----點亮LED

    STM32C542 & SENSOR是一款基于STM32C5系列微控制器的評估套件。該微控制器采用了40nm工藝制造,具有更快的FLASH訪問,更高的性能以及更低的功耗。此外,該套件具有豐富
    的頭像 發(fā)表于 06-08 11:06 ?323次閱讀
    <b class='flag-5'>STM32C542</b><b class='flag-5'>開發(fā)</b>(1)----點亮LED

    STM32WB55_NUCLEO開發(fā)(2)----使用STM32CubeMX 生成的簡單 BLE 應用程序連接手機APP

    /en.STM32WB-System-Inter-Processor-communication-controller-IPCC.pdf 開啟如下所示。 配置RTC 啟動RF 配置USART 我們需要
    發(fā)表于 06-04 14:27

    【RA-Eco-RA2E1-V1.0開發(fā)板試用】串口打印例程。

    本實驗基于瑞薩 RA 系列單片機完成UART 串口通信與printf 重定向功能實現(xiàn),通過配置串口引腳、初始化驅動、編寫發(fā)送回調(diào)函數(shù),實現(xiàn)了開發(fā)板與上位機之間的數(shù)據(jù)收發(fā),并可直接使用p
    的頭像 發(fā)表于 02-24 16:33 ?544次閱讀
    【RA-Eco-RA2E1-V1.0<b class='flag-5'>開發(fā)</b>板試用】<b class='flag-5'>串口</b><b class='flag-5'>打印</b>例程。

    STM32驅動串口屏,STM32F103C8T6串口發(fā)送指令控制HMI串口

    僅是一部分常用的基礎指令,更多更仔細的指令或者函數(shù)可以訪問陶晶馳資料官網(wǎng)。 硬件和接線 硬件需要一塊STM32F103C8T6的開發(fā)板,杜邦線諾干,2.4寸串口屏一塊 接線 串口
    的頭像 發(fā)表于 02-10 17:07 ?806次閱讀
    <b class='flag-5'>STM32</b>驅動<b class='flag-5'>串口</b>屏,<b class='flag-5'>STM32F103C</b>8T6<b class='flag-5'>串口</b>發(fā)送指令控制HMI<b class='flag-5'>串口</b>屏

    【瑞薩RA6E2地奇星開發(fā)板試用】OLED 屏幕驅動,串口打印

    開發(fā)板使用瑞薩 200MHz ARM Cortex-M33 內(nèi)核 R7FA6E2 單片機,性能較 STM32F1 強不少,開發(fā)板實物圖如下: 本篇文章使用 Keil 開發(fā),完成以下兩
    發(fā)表于 12-19 18:27

    3D打印機主控:MEGA2560與STM32系列深度解析

    電子發(fā)燒友網(wǎng)綜合報道? 在當前快速發(fā)展的3D打印技術領域,主控板作為打印機的 “ 大腦 ” ,直接決定了設備的性能、穩(wěn)定性與擴展能力。在眾多主控方案中,基于ArduinoMEGA2560和ST
    的頭像 發(fā)表于 12-14 00:10 ?8079次閱讀

    NucleiStudio_IDE_201909串口打印浮點型數(shù)據(jù)時無數(shù)據(jù)輸出,軟件該如何配置串口才能打印浮點型數(shù)據(jù)?

    NucleiStudio_IDE_201909串口打印浮點型數(shù)據(jù)時無數(shù)據(jù)輸出,軟件該如何配置串口才能打印浮點型數(shù)據(jù)?
    發(fā)表于 11-07 07:57

    Proteus中配置STM32外部時鐘HSE如何配置

    有大佬會配置Proteus中的STM32F103C8的外部時鐘嗎 這個proteus中打印不出來數(shù)據(jù),但是在實物的連接中可以正常打印 代碼如下: 并且
    發(fā)表于 11-02 13:54

    【CPKCOR-RA8D1】基礎串口打印測試

    本文將演示如何為瑞薩CPKCOR-RA8D1開發(fā)配置串口功能,并實現(xiàn)最簡單的“Hello World”數(shù)據(jù)打印。串口是嵌入式
    發(fā)表于 10-30 15:23

    【CPKCOR-RA8D1】+ 基礎串口打印測試

    本文將演示如何為瑞薩CPKCOR-RA8D1開發(fā)配置串口功能,并實現(xiàn)最簡單的“Hello World”數(shù)據(jù)打印。串口是嵌入式
    發(fā)表于 10-30 09:40

    ?TUSB542 USB Type-C? 5Gbps Redriver 2:1 MUX 技術文檔總結

    Type-C 可翻轉連接器的 USB SS 信號。TUSB542可以通過外部配置通道邏輯控制器通過SEL引腳進行控制,以正確多路復用信號。
    的頭像 發(fā)表于 08-10 10:04 ?2121次閱讀
    ?TUSB<b class='flag-5'>542</b> USB Type-<b class='flag-5'>C</b>? 5Gbps Redriver 2:1 MUX 技術文檔總結

    【RA-Eco-RA6M4開發(fā)板評測】——2.串口打印

    上次講了LED點亮流水燈,這次來講解串口打印,首先打開原理圖 由圖可知,用到的串口是109和110 打開LED工程,直接在上面添加串口功能 生成代碼 打開KEIL 先編譯一遍 發(fā)現(xiàn)錯
    發(fā)表于 07-16 13:20
    黔南| 潮安县| 修水县| 米易县| 惠东县| 武宣县| 旬阳县| 容城县| 宣武区| 澜沧| 靖远县| 金山区| 清水县| 长岭县| 天全县| 安平县| 新安县| 金堂县| 平乡县| 仁寿县| 蒲城县| 麻江县| 西畴县| 浠水县| 广丰县| 布拖县| 灵川县| 黑河市| 伊宁市| 遵义县| 奉贤区| 弥渡县| 鄂托克旗| 蕲春县| 微博| 民权县| 泉州市| 涿鹿县| 女性| 犍为县| 罗田县|