国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用clion配合STM32CubeMX開發(fā)stm32(包含斷點調(diào)試,查看寄存器值,printf重定向)

這篇具有很好參考價值的文章主要介紹了使用clion配合STM32CubeMX開發(fā)stm32(包含斷點調(diào)試,查看寄存器值,printf重定向)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

摘要

在嵌入式領(lǐng)域中開發(fā)以ARM公司的Cortex M內(nèi)核為代表的單片機時程序員使用最多的IDE一定是Keil公司的MDK4 MDK5,而Keil已經(jīng)脫離現(xiàn)代智能IDE,近年來IAR逐步向現(xiàn)代智能IDE靠近但還不足,一些芯片原廠提供了基于eclipse改裝版IDE,這些工具在調(diào)試方面有優(yōu)勢,比如查看外設(shè)寄存器,內(nèi)核寄存器,反匯編,支持多種調(diào)試器燒錄固件,但在代碼提示,代碼跳轉(zhuǎn)、代碼重構(gòu)、查找調(diào)用代碼等等這些功能很匱乏,而Jetbrains公司的Clion是一款現(xiàn)代化跨平臺IDE,不僅能編寫傳統(tǒng)c/c++程序,還能配合插件開發(fā)單片機程序,解決了傳統(tǒng)嵌入式IDE的痛點。專業(yè)的嵌入式IDE是內(nèi)置燒錄調(diào)試工具,使用第三方IDE需要借助開源工具openocd,openocd有很多版本適配不同芯片能夠滿足使用。當前最熱門的單片機就是stm32,得益于資料公開,有第三方板卡商家,SDK代碼規(guī)范易讀,甚至還有初始化代碼生成工具CubeMX極大程度降低了嵌入式開發(fā)的門檻(有些國內(nèi)半導(dǎo)體廠家的資料是傳家寶見不得人),讓嵌入式程序員更加注重應(yīng)用。本文主要內(nèi)容是使用Clion+CubeMX+arm-gcc+openocd開發(fā)stm32環(huán)境,當然不僅僅是開發(fā)stm32,只要是能使用gcc系列編譯器編譯代碼,并配合編寫編寫的cmake腳本的都可以爆改適配,博主已經(jīng)適配過樂鑫的ESP32、沁恒微電子的CH32。

關(guān)鍵字: Clion、STM32、CubeMX


環(huán)境說明

  • 操作系統(tǒng):win11
  • 單片機:stm32f103rct6
  • IDE:Clion2023
  • 代碼生成器:STM32CubeMX 6.8.1
  • 工具鏈:amr-gcc
  • 固件燒錄軟件:openocd -20231002
  • 調(diào)試器:ST-Linkv2

下載安裝clion

  • 進入官網(wǎng)下載windos版,下載完成雙擊安裝
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 點擊下一步
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 選擇安裝路徑,安裝路徑不要有空格和中文
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 安裝選項,勾選如圖就行了,再點擊下一步
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 默認創(chuàng)建菜單文件夾,點擊安裝就開始安裝了
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 安裝完成選擇稍后重啟
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

下載arm-gcc

  • 進入官網(wǎng)下載windos版arm交叉編譯器,選擇zip壓縮包鏈接,解壓后可以不用安裝直接使用。
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 進入解壓的bin文件夾,把這個路徑添加到系統(tǒng)環(huán)境變量PATH中。以win11為例 設(shè)置 -->系統(tǒng)–>高級系統(tǒng)設(shè)置–>環(huán)境變量–>系統(tǒng)變量–>在PATH中添加解壓后的bin文件夾路徑
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 在命令行中驗證添加成功沒有,wim+r,輸入cmd打開命令行,輸入 arm-none-eabi-gcc.exe -v(注意隔了一個空格),出現(xiàn)了版本號說明添加成功,沒有成功重啟電腦系統(tǒng)重新加載環(huán)境變量再驗證,還是沒有驗證成功查詢下如何添加系統(tǒng)環(huán)境變量。
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

下載配置openocd

  • 進入第三方網(wǎng)站(博主在官網(wǎng)沒有找到已經(jīng)編譯好的程序只有源碼)下載解壓就行了,這個網(wǎng)站也提供arm-gcc下載。
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 安裝驅(qū)動,本文使用的ST-Link,安裝ST-Link驅(qū)動,雙擊bat腳本自動安裝驅(qū)動
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 使用J-link時,先安裝J-link驅(qū)動,再用UsbDriverTool軟件轉(zhuǎn)換USB驅(qū)動為libusb。
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • openocd燒錄調(diào)試程序時需要配置文件,下文提供了配置文件示例。調(diào)試燒錄器配置項是通用的(為了演示提供的文件中設(shè)置了三種,選擇一個就行了)適用于很多芯片,選擇接口同理,文件命令后綴與上圖相同,名字隨意。
#設(shè)置使用的調(diào)試燒錄器為ST-Linkv
source [find interface/stlink.cfg]

#設(shè)置使用的調(diào)試燒錄器為J-link
source [find interface/jlink.cfg]

#設(shè)置使用的調(diào)試燒錄器為DAP-Link
source [find interface/cmsis-dap.cfg]

# 調(diào)試接口選擇swd,此類型是ST-Link專用的
transport select hla_swd

# 調(diào)試接口選擇swd,此類型是J-link,DAP-Link通用
transport select swd

#設(shè)置目標芯片,選擇stm32f1x,如果是f4系列的換成f4就行了其他系列以此類推
source [find target/stm32f1x.cfg]

編輯完成文件保存到openocd的文件夾,方便在clion中選擇配置文件
clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機


下載安裝STM23Cubemx

  • 進入官網(wǎng),向下滑動頁面,找到如圖windos版欄,選擇6.8.1版本,下載安裝包需要登錄st賬號沒有賬號可以使用郵箱注冊一個,注冊以后ST時不時會往郵箱發(fā)一些新聞類郵件(可能是為了推廣產(chǎn)品),所以選擇一個不常用的但能收到郵件的郵箱就行了,博主測試高版本安裝后發(fā)現(xiàn)有bug且需要登錄賬號才能下載開發(fā)包,下載后是一個壓縮包,解壓后直接雙擊安裝。
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 點擊下一步
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 同意下一步
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 同意下一步
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 選擇安裝路徑,并下一步,安裝路徑不要有空格和中文
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 沒有文件夾需要創(chuàng)建,點擊確認
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 選擇開始菜單文件,按需修改,點擊下一步開始安裝
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 安裝完成,下一步
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 完成安裝
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 啟動CubeMX安裝開發(fā)包(也可以不安裝后續(xù)新建工程選擇芯片自動下載)
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 選擇對應(yīng)芯片型號點擊install安裝,安裝完成地點擊clsoe退出
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

新建demo工程

使用CubeMX生成初始化代碼

clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

  • 輸入芯片名稱選好型號,開始新建工程
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 配置外部時鐘
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 配置調(diào)試器接口
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 配置GPIO點燈,引腳編號根據(jù)實際的板卡來,直接在右下側(cè)配置IO為輸出
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 配置外部時鐘,注意使用的外部時鐘頻率與板卡匹配clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 工程配置,注意IDE選擇STM32CubeIDE,Clion能轉(zhuǎn)換這個工程為cmake工程clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 生成代碼以源文件加頭文件方式(方便模塊化代碼編寫),再點擊生成代碼,彈框選擇打開文件夾clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

使用Clion寫代碼和燒錄固件

創(chuàng)建一個嵌入式如門經(jīng)典demo工程點燈

  • 右鍵菜單選擇使用clion作為工程打開
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 第一次使用clion打開選擇不發(fā)送
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 信任項目
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

有插件且已經(jīng)配置過一次情況

  • 選擇openocd配置文件(沒有彈窗可能是插件沒有設(shè)置,后文再說明),沒有圖中的配置見上文提到的添加配置文件,由于博主是已經(jīng)搭建過一次環(huán)境有一些配置和插件是以前的,還有登錄賬號會自動同步設(shè)置和插件。順便提一下clion是一個收費軟件,第一次使用會讓登錄賬號激活,或者填入激活碼,這部分移步其他地方查詢方法,又能力的可以直接購買正版年費,想白嫖可以搞一個校園郵箱注冊賬號免費使用。
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 在while循環(huán)添加以下代碼每隔500毫秒閃爍LED
  while (1)
  {
      HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_8);
      HAL_Delay(500);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  • 有圖中的圖標說明已經(jīng)安裝了插件(新版已經(jīng)默認綁定安裝了),沒有則看下文安裝插件,點擊錘子構(gòu)建,右側(cè)三角就是燒錄,蟲子是調(diào)試,調(diào)試注意打斷點
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

沒有插件情況

  • 安裝插件
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 第一步選擇左側(cè)的插件市場,為了演示本文選擇已經(jīng)安裝選項(已經(jīng)安裝過的插件在插件市場搜不到)
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 安裝完成進行插件設(shè)置,選擇openocd存放路徑,Cubemx安裝路徑,右側(cè)有可以測試軟件是否可用,完成點擊OK退出
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 添加工程構(gòu)建運行配置,添加完成后就有了上文提到的功能,就可以coding了
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 板卡配置文件見上文,點擊右側(cè)幫助會自動彈出選擇窗口,點擊確認配置完成
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

調(diào)試

調(diào)試功能同keil相比稍遜色些,但仍然可以斷點調(diào)試、查看寄存器、反匯編、查看內(nèi)存、變量值

printf重定向
  • 在clion中打開CubeMX工程文件,添加打印串口生成代碼,關(guān)閉CubeMX回到Clion中
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 由于printf函數(shù)很耗時(庫的原因)所以使用寄存器代碼,在Core/Src/usart.c文件中添加以下代碼
/* USER CODE BEGIN 1 */
int __io_putchar(int ch)
{
    while ((USART1->SR & 0X40) == 0) // 等待上一次發(fā)送完
        ;
    USART1->DR = (uint8_t)ch; //串口發(fā)送字符
    return 1;
}
/* USER CODE END 1 */
  • 在Core/Src/usart.h文件中添加以下代碼
/* USER CODE BEGIN Includes */
#include <stdio.h>
/* USER CODE END Includes */
  • 在Core/Src/main.c中添加以下代碼,IO翻轉(zhuǎn)根據(jù)實際情況填寫參數(shù),注意printf打印是帶有緩沖的遇見換行才會打印輸出
  /* USER CODE BEGIN WHILE */
  char str[] = "demo\n";
  while (1)
  {
      for (int i = 0; i < 5; ++i)
      {
          printf("%d", i);
      }
      printf("%s", str);
      HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_8);
      HAL_Delay(500);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
斷點調(diào)試調(diào)試
  • 打好斷點,點擊小蟲子開始調(diào)試,在變量欄中右擊顯示內(nèi)核寄存器值
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 調(diào)試菜單
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 在內(nèi)存中查看變量值
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
查看外設(shè)寄存器值
  • 查看外設(shè)寄存器,直接加載keil包中svd,svd文件在keil的Packs文件夾下,選擇對應(yīng)芯片的svd就行了
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 就能看見熟悉的寄存器了
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機
  • 以查看IO輸出數(shù)據(jù)為例(ODR)
    clion debug 的時候顯示通用寄存器的值,工具,stm32,嵌入式硬件,單片機

寫在后面

如果本文對你有幫助不要吝嗇你的點贊、收藏、評論、關(guān)注,你的支持將是我繼續(xù)輸出優(yōu)質(zhì)文章的動力,也歡迎嗮出你的博客一起進步文章來源地址http://www.zghlxwxcb.cn/news/detail-856914.html

到了這里,關(guān)于使用clion配合STM32CubeMX開發(fā)stm32(包含斷點調(diào)試,查看寄存器值,printf重定向)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • STM32CubeMX里面沒有 CLion的SW4STM32選項(CLion修改單片機型號)

    STM32CubeMX里面沒有 CLion的SW4STM32選項(CLion修改單片機型號)

    ????????大家在使用最新版本的CubeMX按照網(wǎng)上的一些教程配置CLion時通常會遇到編譯器選項里面沒有SW4STM32的選項的問題。 ?????????根據(jù)網(wǎng)上的很多人都會要求把CubeMX降低到某個版本以下,但是一直使用低版本肯定不是解決問題的方法。其實在CLion文檔里面就有解決方

    2024年02月05日
    瀏覽(20)
  • 優(yōu)雅的使用CLion開發(fā)STM32 2023最新版本~

    優(yōu)雅的使用CLion開發(fā)STM32 2023最新版本~

    一共需要的資料如下 ?代表需要魔法 沒有標注可直接訪問 Clion 下載鏈接 cubemx 下載鏈接 mingw 下載連接 ? 安裝完直接解壓到文件夾 并且把bin文件的路徑存入path環(huán)境變量 gcc 下載鏈接? 安裝完直接解壓到文件夾 并且把bin文件的路徑存入path環(huán)境變量 openocd 下載鏈接 安裝完直接

    2024年02月16日
    瀏覽(39)
  • STM32配合CubeMX硬件SPI驅(qū)動0.96寸OLED

    STM32配合CubeMX硬件SPI驅(qū)動0.96寸OLED

    目錄 一、簡單介紹 1.1 OLED 1.2 SPI協(xié)議 接口 優(yōu)點 缺點 數(shù)據(jù)傳輸 二、實戰(zhàn) 2.1 工程配置 2.2?測試工程 2.3 波形分析 三、驅(qū)動OLED 3.1?初始化代碼 3.2 清屏函數(shù) 3.3 設(shè)置坐標函數(shù) 3.4 顯示字符函數(shù) 3.5 顯示字符串函數(shù) 3.6 顯示圖片函數(shù) 附錄 驅(qū)動代碼文件 oled.c oled.h f6x8.h 1.1 OLED 有機發(fā)

    2024年02月02日
    瀏覽(25)
  • Clion中使用C/C++開發(fā)stm32程序

    Clion中使用C/C++開發(fā)stm32程序

    前言 ????????從剛開始學(xué)習(xí)階段,一直是用的keil5開發(fā)stm32程序,自從看到稚暉君推薦的CLion開發(fā)嵌入式程序后,這次嘗試在CLion上開發(fā)stm32程序。 1、配置CLion用于STM32開發(fā)的環(huán)境 ? ? ? ? 這里我就不詳細寫了,沒必要重新寫,網(wǎng)上教程很多,這里我主要參考的是稚暉君的文

    2024年02月05日
    瀏覽(22)
  • 從零開始教你使用Clion優(yōu)雅開發(fā)STM32(三)Clion嵌入式開發(fā)必備插件

    從零開始教你使用Clion優(yōu)雅開發(fā)STM32(三)Clion嵌入式開發(fā)必備插件

    (一)軟件安裝與環(huán)境配置 (二)移植工程文件到其他芯片 (三)Clion嵌入式開發(fā)必備插件 文章目錄 前言 1)Chinese(simplified) 2)CodeGlance Pro 3)File Watchers? 4)Key Promoter X 5)CodeGlance Pro 6)Monokai Pro Theme 7)Rainbow Brackets?Lite 8)Serial Port??Monitor 總結(jié) 前段時間,稚暉君用 Cl

    2024年02月06日
    瀏覽(35)
  • STM32配合cubeMX硬件I2C驅(qū)動0.96寸OLED

    STM32配合cubeMX硬件I2C驅(qū)動0.96寸OLED

    目錄 一、簡單介紹 1.1? ?OLED 1.2? ?I2C協(xié)議 二、實戰(zhàn) 2.1 工程配置 2.2 測試工程 2.3 波形分析 三、驅(qū)動OLED 3.1?初始化代碼 3.2 清屏函數(shù) 3.3 設(shè)置坐標函數(shù) 3.4 顯示字符函數(shù) 3.5 顯示字符串函數(shù) 3.6 顯示圖片函數(shù) 附錄 驅(qū)動代碼文件 oled.c oled.h f6x8.h 有機發(fā)光二極管 (英語:Organic

    2024年02月08日
    瀏覽(38)
  • STM32開發(fā) | Clion搭建STM32開發(fā)環(huán)境

    STM32開發(fā) | Clion搭建STM32開發(fā)環(huán)境

    做嵌入式開發(fā)的人對STM32這個平臺應(yīng)該都是非常熟悉的,在國內(nèi)尤其流行,很多產(chǎn)品里面都是基于這個平臺做的方案。多數(shù)人在開發(fā)STM32的時候用的都是 Keil 這個老牌IDE,很大一部分原因是因為大多數(shù)人最初是從51單片機學(xué)習(xí)過來的,51就是基于Keil去開發(fā)的,然后遷移到STM32的

    2023年04月12日
    瀏覽(25)
  • STM32開發(fā)(2)----CubeMX的安裝和使用

    STM32開發(fā)(2)----CubeMX的安裝和使用

    本章對STM32CubeMX的安裝和使用做簡單介紹 STM32CubeMX是一種圖形化工具,它允許非常簡單地配置STM32微控制器和微處理器,并通過逐步過程為Arm?Cortex?-M內(nèi)核生成相應(yīng)的初始化C代碼,或為Arm?Cortex?-a內(nèi)核生成部分Linux?設(shè)備樹。 STM32CubeMX 具有如下特性: ① 直觀的選擇 MCU 型號,

    2024年02月16日
    瀏覽(18)
  • STM32+Clion多線程開發(fā)

    STM32+Clion多線程開發(fā)

    目錄 創(chuàng)建多線程 freertos.c main.cpp main_app.h 二值信號量 相關(guān)API介紹 (1) osSemaphoreCreate (2)osSemaphoreDelete (3)osSemaphoreRelease (4)osSemaphoreWait 實際使用 創(chuàng)建信號量(freertos.c) 在頭文件中外部引用(freertos_inc.h) main.c 關(guān)于clion使用printf,參考【教程】手把手教你用Clion進行STM32開

    2024年03月15日
    瀏覽(33)
  • 嘗試使用CubeMX做stm32開發(fā)之十:ADC配置

    嘗試使用CubeMX做stm32開發(fā)之十:ADC配置

    ????????參考《STM32中文參考手冊_V10》,研究CubeMX中有關(guān)ADC的配置。 ADC1 Mode and Configuration: ????????IN0~IN9:10路12位ADC采樣通道,外部模擬量信號輸入 ????????Temperature Sensor Channel:MCU內(nèi)置溫度傳感器采樣通道,用來測量器件周圍的溫度。在MCU內(nèi)部與ADC1_IN16通道相連

    2024年02月05日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包