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

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

這篇具有很好參考價(jià)值的文章主要介紹了L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、MDK-ARM環(huán)境介紹及安裝

二、STM32Cube簡介及安裝

??STM32CubeMX安裝

加載固件庫

?編輯

?三、 STM32F0存儲(chǔ)器映射

四、STM32啟動(dòng)文件分析

五、GPIO的基本概念及寄存器介紹1

1、GPIO接口簡介

?2、GPIO功能復(fù)用

?3、GPIO寄存器介紹

?GPIO工作原理框圖:

五、點(diǎn)亮LED寄存器版(STM32F051K8)

1、硬件原理圖分析

2、 使能GPIO的時(shí)鐘

3、編程步驟分析?

六、點(diǎn)亮LED庫函數(shù)版(STM32F051K8)?

2、CubeMX的配置

?3、初始化關(guān)鍵代碼分析

4、控制LED關(guān)鍵代碼分析

七、初識(shí)人機(jī)交互--按鍵

1、硬件原理圖分析

作業(yè):拍攝stm32流水燈視頻


一、MDK-ARM環(huán)境介紹及安裝

?略

二、STM32Cube簡介及安裝

?直觀的選擇STM32微控制器
?微控制器圖形化配置
自動(dòng)處理引腳沖突
動(dòng)態(tài)設(shè)置確定的時(shí)鐘樹
可以動(dòng)態(tài)確定參數(shù)設(shè)置的外圍和中間件模式和初始化
功耗預(yù)測
?C代碼工程生成器覆蓋了STM32微控制器初始化編譯軟件,如IAR,KEIL,GCC可以獨(dú)立使用,作為Eclipse插件使用

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

??STM32CubeMX安裝

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)? 安裝JAVA運(yùn)行環(huán)境,JavaSetup8u151.exe?
? 解壓stm32cubemx.zip,安裝SetupSTM32CubeMX-4.22.0.exe,最好不要有中文路徑
? 解壓stm32cube_fw_f0_v180.zip到STM32CubeMX的安裝路徑中
?

加載固件庫

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?三、 STM32F0存儲(chǔ)器映射

?略

四、STM32啟動(dòng)文件分析

五、GPIO的基本概念及寄存器介紹1

1、GPIO接口簡介

?通用輸入輸出接口GPIO是嵌入式系統(tǒng)、單片機(jī)開發(fā)過程中最常用的接口,用戶可以通過編程靈活的對(duì)接口進(jìn)行控制,實(shí)現(xiàn)對(duì)電路板上LED、數(shù)碼管、按鍵等常用設(shè)備控制驅(qū)動(dòng),也可以作為串口的數(shù)據(jù)收發(fā)管腳,或AD的接口等復(fù)用功能使用。因此其作用和功能是非常重要的。

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?2、GPIO功能復(fù)用

?注:查看 《 STM32F0數(shù)據(jù)手冊》

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?3、GPIO寄存器介紹

??STM32F051-GPIO常用寄存器 ?

4個(gè)32位配置寄存器 ? ? ? ? GPIOx_MODER, ?GPIOx_OTYPER, ?GPIOx_OSPEEDR ? ? GPIOx_PUPDR ?

2個(gè)32位數(shù)據(jù)寄存器 ? ? ? GPIOx_IDR 、GPIOx_ODR

1 個(gè)32 位置位 / 復(fù)位寄存器 ? ? ? GPIOx_BSRR

2 個(gè) 32 位復(fù)用功能配置寄存器 ? ? ?GPIOx_AFRH 、GPIOx_AFRL

注:每一組GPIO端口都有一套上述的寄存器去配置它自己的功能

GPIO寄存器MODER:

GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..D,F) ? ? 偏移地址: 0x00 ? ? 復(fù)位值: ?

● ?0x2800 0000 端口 A ? ● ?0x0000 0000 其他口

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

GPIO寄存器OTYPER:

GPIO 端口輸出類型寄存器 (GPIOx_OTYPER) (x = A..D,F) ? 偏移地址: 0x04 ? 復(fù)位值: 0x0000 0000

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?GPIO工作原理框圖:

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?GPIO寄存器OSPEEDR:

? GPIO 口輸出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F) ? ? ?偏移地址: 0x08 ? ? ?復(fù)位值: 0x0000 0000

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?GPIO寄存器PUPDR:

? GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F) ? ? ?偏移地址: 0x0C ? ? ?復(fù)位值: ? ? ● 0x2400 0000 端口 A ? ? ● 0x0000 0000 其它端口

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?GPIO寄存器IDR:

? GPIO 端口輸入數(shù)據(jù)寄存器 (GPIOx_IDR) (x = A..D,F) ? ? ?偏移地址: 0x10 ? ? ?復(fù)位值: 0x0000 XXXX (X 表明不定 )

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?GPIO寄存器ODR:?

GPIO 端口輸出數(shù)據(jù)寄存器 (GPIOx_ODR) (x = A..D,F) ? ? ?偏移地址: 0x14 ? ? ?復(fù)位值: 0x0000 0000

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?GPIO寄存器BSRR:

? GPIO 端口置位 / 復(fù)位寄存器 (GPIOx_BSRR) (x = A..D,F) ? ? ?偏移地址: 0x18 ? ? ?復(fù)位值: 0x0000 0000

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?GPIO寄存器AFRL:

? GPIO 復(fù)用功能低位寄存器 (GPIOx_AFRL) (x = A..B) ? ? ? 偏移地址: 0x20 ? ? ? 復(fù)位值: 0x0000 0000

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

GPIO寄存器AFRH:

? GPIO 復(fù)用功能低位寄存器 (GPIOx_AFRH) (x = A..B) ? ? ? 偏移地址: 0x24 ? ? ? 復(fù)位值: 0x0000 0000

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

五、點(diǎn)亮LED寄存器版(STM32F051K8)

1、硬件原理圖分析

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

2、 使能GPIO的時(shí)鐘

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

??AHB 外部時(shí)鐘使能寄存器 (RCC_AHBENR) ? ?

偏移地址 : 0x14 ? ? 復(fù)位值 : 0x0000 0014 ? ? 訪問:無等待周期,字,半字和字節(jié)訪問

3、編程步驟分析?

??開啟GPIOB的時(shí)鐘 ? ? ? ?RCC->AHBENR ?|= ?1<<18; ? ? ? ? ? ? ?

配置PB0 PB1 PB2接口 ? ? ? ? ?

GPIOB->MODER |= (1<<0)|(1<<2)|(1<<4); ? ?//設(shè)置PB0, PB1, PB2為通用輸出模式 ? ? ? GPIOB->OTYPER = 0x0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//設(shè)置PB0, PB1, PB2為通用推挽輸出 ? ? ? GPIOB->OSPEEDR = 0x0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //設(shè)置輸出速度為低速 ?

控制LED; ? ? ? ? ? ? ? ? ? ? ? ? ?

GPIOB->BSRR = (1<<16)|(1<<17)|(1<<18); ? ? //復(fù)位PB0, PB1, PB2 既點(diǎn)亮LED ? ? ? ?GPIOB->BSRR = (1<<0)|(1<<1)|(1<<2); ? ? ? ? ? ?//置位PB0, PB1, PB2 既熄滅LED

六、點(diǎn)亮LED庫函數(shù)版(STM32F051K8)?

?1、硬件原理圖

2、CubeMX的配置

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?3、初始化關(guān)鍵代碼分析

?GPIOB初始化

void MX_GPIO_Init(void)
{
? ?? ?GPIO_InitTypeDef GPIO_InitStruct;

?? ?__HAL_RCC_GPIOB_CLK_ENABLE(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //使能GPIOB的時(shí)鐘
?? ?
?? ? GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2; ? ? ? //初始化對(duì)象為0, 1, 2號(hào)管腳
??? ? GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; ? ? ? ? ? ? ? ? ? ? ? ?//模式為推挽輸出
??? ? GPIO_InitStruct.Pull = GPIO_NOPULL; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//沒有上拉
??? ? GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; ? ? ? ? ? ? ? ? ? ? ? ? //低速
?? ? ?HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //配置好后開始初始化
}

4、控制LED關(guān)鍵代碼分析

復(fù)位PB0, PB1, PB2 既點(diǎn)亮LED ? ? ?

HAL_GPIO_WritePin(GPIOB, ?GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_RESET); ?

置位PB0, PB1, PB2 既熄滅LED ? ? ? ?

HAL_GPIO_WritePin(GPIOB, ?GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_SET);

七、初識(shí)人機(jī)交互--按鍵

1、硬件原理圖分析

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)

?L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)文章來源地址http://www.zghlxwxcb.cn/news/detail-430331.html

作業(yè):拍攝stm32流水燈視頻

到了這里,關(guān)于L16物聯(lián)網(wǎng)ARM開發(fā)--開發(fā)環(huán)境搭建及平臺(tái)及GPIO口操作平臺(tái)介紹(day2、3)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • QT·移植Qt到ARM平臺(tái)及搭建Qt交叉編譯環(huán)境

    QT·移植Qt到ARM平臺(tái)及搭建Qt交叉編譯環(huán)境

    目錄 一、編譯tslib庫 二、移植 tslib 到文件系統(tǒng) ?三、編譯Qt源碼(用于移植到ARM) 四、移植Qt到文件系統(tǒng) ?五、搭建 Qt Creator 交叉編譯環(huán)境 ?六、獲得Qt可執(zhí)行文件的另一種方法 要想在ARM平臺(tái)上運(yùn)行Qt程序,得滿足以下兩個(gè)點(diǎn): 1、ARM平臺(tái)上搭建Qt運(yùn)行環(huán)境 2、獲得通過交叉編

    2024年02月02日
    瀏覽(27)
  • 【ARM 裸機(jī)】開發(fā)環(huán)境搭建

    【ARM 裸機(jī)】開發(fā)環(huán)境搭建

    使用過程中,要頻繁進(jìn)行 Ubuntu 和 Windows 的文件互傳,需要使用 FTP 服務(wù); 1.1、開啟 Ubuntu 下的 FTP 服務(wù) 修改結(jié)果,保證這兩行命令前面沒有 # ,保存退出; 重啟 FTP 服務(wù); 1.2、Windows 下安裝 FTP 客戶端 FileZilla 安裝好 FileZilla 客戶端之后,點(diǎn)擊文件選項(xiàng)進(jìn)入站點(diǎn)管理器,編號(hào)4輸

    2024年04月10日
    瀏覽(26)
  • VSCode搭建ARM開發(fā)環(huán)境

    VSCode搭建ARM開發(fā)環(huán)境

    為了構(gòu)建Cortex M系列單片機(jī)免費(fèi)開源的開發(fā)環(huán)境,網(wǎng)絡(luò)上了解來看VSCODE+GCC+JLINK是一套比較高效的組合方式,下面記錄環(huán)境搭建的流程。 我這邊的PC環(huán)境為 WIN7專業(yè)版64bit。 Visual Studio Code STM32Cubemx ARM GCC 交叉編譯工具鏈:? arm-none-eabi-gcc Windows版本的GCC編譯器:MinGW-W64或MinGW或T

    2024年03月21日
    瀏覽(22)
  • ARM-系統(tǒng)移植(開發(fā)環(huán)境搭建)

    ARM-系統(tǒng)移植(開發(fā)環(huán)境搭建)

    首先保證ubuntu連接網(wǎng)絡(luò)成功 1. 安裝步驟 作用:完成ubuntu和開發(fā)板之間傳輸文件 1)安裝tftp服務(wù)器的安裝包 sudo apt-get install tftpd-hpa? tftp-hpa ? ? ? ?tftpd-hpa : 服務(wù)器端 ? ? ? ?tftp-hpa : 客戶端? ?2)在家目錄下,創(chuàng)建一個(gè)文件夾 tftpboot ,并且添加最高權(quán)限 cd ~ mkdir? tftpboot ch

    2024年02月07日
    瀏覽(40)
  • ARM接口編程—GPIO(exynox 4412平臺(tái))

    ARM接口編程—GPIO(exynox 4412平臺(tái))

    GPIO(General-purpose input/output)即通用型輸入輸出,GPIO可以控制連接在其之上的引腳實(shí)現(xiàn)信號(hào)的輸入和輸出 芯片的引腳與外部設(shè)備相連,從而實(shí)現(xiàn)與外部硬件設(shè)備的通訊、控制及信號(hào)采集等功能 我們用開發(fā)板的LED為例,查看LED電路原理圖,可以看到LED2是連接在GPX2_7這個(gè)引腳上

    2024年02月09日
    瀏覽(19)
  • FreeSWITCH使用L16編碼通信及raw數(shù)據(jù)提取

    FreeSWITCH使用L16編碼通信及raw數(shù)據(jù)提取

    環(huán)境:CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 Python版本:3.9.12 PCM(Pulse Code Modulation,脈沖編碼調(diào)制)音頻數(shù)據(jù)是未經(jīng)壓縮的音頻采樣數(shù)據(jù),它是由模擬信號(hào)經(jīng)過采樣、量化、編碼轉(zhuǎn)換成的標(biāo)準(zhǔn)數(shù)字音頻數(shù)據(jù)。 在FreeSWITCH中體現(xiàn)為L16編碼(switch_pcm.c文件),和網(wǎng)絡(luò)平臺(tái)進(jìn)行音頻對(duì)接時(shí)會(huì)

    2024年02月03日
    瀏覽(22)
  • QEMU搭建arm虛擬機(jī)開發(fā)環(huán)境

    使用git指令切換到對(duì)應(yīng)的分支上,我這里使用的是stable-4.0的分支 git checkout -b stable-4.0 remotes/origin/stable-4.0 在工程的根目錄下執(zhí)行 ./configure --target-list=aarch64-linux-user,aarch64-softmmu --enable-virtfs --enable-debug 然后執(zhí)行make,視情況是否要執(zhí)行make install

    2024年01月25日
    瀏覽(20)
  • Qt5開發(fā)環(huán)境-銀河麒麟V10ARM平臺(tái)

    Qt5開發(fā)環(huán)境-銀河麒麟V10ARM平臺(tái)

    前言 近期因參與開發(fā)的某個(gè)軟件需要適配銀河麒麟v10arm 平臺(tái),于是自己搭建起一套Qt 開發(fā)環(huán)境,在此記錄下具體過程,以供有需要的朋友參考。一開始手上并沒有Arm架構(gòu)的PC,先在Windows下用Vs2017和QtCreator 開發(fā),軟件開發(fā)快結(jié)束的時(shí)候Arm PC到了。Qt 沒有提供可直接安裝的arm架

    2024年02月12日
    瀏覽(23)
  • 【ZYNQ 開發(fā)】AMP雙arm核交互 - 環(huán)境搭建(1)

    【ZYNQ 開發(fā)】AMP雙arm核交互 - 環(huán)境搭建(1)

    目錄 1. 實(shí)驗(yàn)?zāi)康模?2. 實(shí)驗(yàn)原理介紹: 2.1 什么是AMP? 2.2? 實(shí)驗(yàn)的功能框圖: 3. 實(shí)驗(yàn)流程: 3.1 無中斷的連續(xù)通信(1) 3.2 軟中斷通信(2) 3.3 硬中斷通信(3) 3.4 AXI_LITE雙口ram的建立(4) 4. 實(shí)驗(yàn)過程 4.1 創(chuàng)建amp環(huán)境及CPU的FSBL 4.2 創(chuàng)建CPU0的app應(yīng)用程序 4.3?創(chuàng)建CPU1的app應(yīng)用程序

    2024年02月21日
    瀏覽(20)
  • [ARM 匯編]高級(jí)部分—ARM匯編編程實(shí)戰(zhàn)—3.3.2 嵌入式開發(fā)環(huán)境搭建

    [ARM 匯編]高級(jí)部分—ARM匯編編程實(shí)戰(zhàn)—3.3.2 嵌入式開發(fā)環(huán)境搭建

    搭建一個(gè)嵌入式開發(fā)環(huán)境主要包括以下幾個(gè)部分: 安裝交叉編譯器 配置集成開發(fā)環(huán)境(IDE) 安裝調(diào)試工具 下載和燒錄程序 接下來,我們將詳細(xì)介紹每個(gè)部分,并提供相應(yīng)的實(shí)例。 安裝交叉編譯器 交叉編譯器是用于將您編寫的ARM匯編代碼編譯成可執(zhí)行文件的工具。在本教程

    2024年02月11日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包