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

基于STM32F103C8T6以USB to TTL 和 ST-LINK V2兩種方式點亮LED小燈泡

這篇具有很好參考價值的文章主要介紹了基于STM32F103C8T6以USB to TTL 和 ST-LINK V2兩種方式點亮LED小燈泡。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?一、硬件設備

? ? ? ? 所需設備:

? ? ? ????????? 1、STM32F103C8T6;

? ? ????????? ? 2、USB 轉(zhuǎn) TLL 或 ST-LINK V2 01-0;

? ? ? ????????? 3、杜邦線若干;

? ? ????????? ? 4、面包板1個;

? ? ????????? ? 5、USB安卓數(shù)據(jù)線(使用USB 轉(zhuǎn) TLL需要用到);

?二、工程建立

? ? ? ? 1、首先需要建立一個STM32F103C8T6的keil工程。

? ? ? ? 可以根據(jù)以下鏈接結(jié)合實際情況建立。

????????(74條消息) STM32新建keil工程具體步驟(詳細)_愛學習的小王呀的博客-CSDN博客

?三、環(huán)境配置&編寫代碼

? ? ? ? 1、環(huán)境配置和代碼可以參考以下兩個鏈接:? ? ? ?

? ? ? ? (1):(74條消息) 用STM32F103C8T6制作流水燈_甜心猛男的博客-CSDN博客_c8t6燒程序時需要改變跳線帽位置嗎? ? ?

????????(2):(74條消息) STM32F103寄存器方式點亮LED流水燈_Melody crush的博客-CSDN博客_stm32f103寄存器led點燈

? ? ? ? 這里簡單給出幾張個人認為需要注意的點:

????????先點擊stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件? ? ? ??

點擊Device

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

?配置紅框內(nèi)容 ,并點擊Debug(如果使用USB 轉(zhuǎn) TTL則不用勾選藍色框;如果使用ST-link做的則要勾選)stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

?點擊上圖藍色框里的Setting,選擇Flash Download,進行以下配置。(如果不選Reset and Run則每次燒錄到板上后都需要按一下板上的Reset按鍵才會看到現(xiàn)象。選不選看個人,影響不大)

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

?2、編寫main函數(shù)

//頭文件
#include "stm32f10x.h"
#include "GPIOLIKE51.h"

//函數(shù)聲明
void LED_Init(void);
void RCC_Configuration(void);

//=============================================================================
//文件名稱:Delay
//功能概要:延時
//參數(shù)說明:nCount:延時長短
//函數(shù)返回:無
//=============================================================================

void Delay(uint32_t nCount)
{
  for(; nCount != 0; nCount--);
}


//=============================================================================
//文件名稱:main
//功能概要:主函數(shù)
//參數(shù)說明:無
//函數(shù)返回:int
//=============================================================================
int main(void)
{
	

	RCC_Configuration();				//開啟GPIO時鐘
		
	LED_Init();                         //初始LED引腳的GPIO口
    while (1)
		{
			PAout(1)=0;					//1為滅
			Delay(0xfffff);             //延時
			Delay(0xfffff);	
			Delay(0xfffff);
			Delay(0xfffff);
			Delay(0xfffff);
			PAout(1)=1;

			PBout(12)=0;					//0為亮
			Delay(0xfffff);
			Delay(0xfffff);
			Delay(0xfffff);
			Delay(0xfffff);
			Delay(0xfffff);
			PBout(12)=1;

			PCout(15)=0;					
			Delay(0xfffff);
			Delay(0xfffff);
			Delay(0xfffff);
			Delay(0xfffff);
			Delay(0xfffff);
			PCout(15)=1;

    }
}


//=============================================================================
//文件名稱:RCC_Configuration
//功能概要:開啟GPIO時鐘
//參數(shù)說明:無
//函數(shù)返回:無
//=============================================================================

void RCC_Configuration(void)
{
		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);		//開啟GPIOA時鐘并使能
		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);		//開啟GPIOB時鐘并使能
		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);		//開啟GPIOC時鐘并使能
}



//=============================================================================
//文件名稱:LED_Init
//功能概要:LED引腳的GPIO初始化
//參數(shù)說明:無
//函數(shù)返回:無
//=============================================================================

void LED_Init(void)
{
		GPIO_InitTypeDef GPIO_InitStruct;												//聲明GPIO初始化結(jié)構(gòu)體,聲明要在最前面

		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);	//開啟GPIOA時鐘并使能

		
		GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1;					//定義GPIO初始化結(jié)構(gòu)體的GPIO引腳
		GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;			//定義GPIO初始化結(jié)構(gòu)體的GPIO輸出模式
		GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;		    //定義GPIO初始化結(jié)構(gòu)體的GPIO速率

		GPIO_Init(GPIOA,  &GPIO_InitStruct);					//初始化GPIO

	

		
		GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12;			    	//定義GPIO初始化結(jié)構(gòu)體的GPIO引腳
		GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;			//定義GPIO初始化結(jié)構(gòu)體的GPIO輸出模式,推挽輸出模式
		GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;		    //定義GPIO初始化結(jié)構(gòu)體的GPIO速率

		GPIO_Init(GPIOB,  &GPIO_InitStruct);					//初始化GPIO

		


		
		GPIO_InitStruct.GPIO_Pin = GPIO_Pin_15;					//定義GPIO初始化結(jié)構(gòu)體的GPIO引腳
		GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;			//定義GPIO初始化結(jié)構(gòu)體的GPIO輸出模式,推挽輸出模式
		GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;			//定義GPIO初始化結(jié)構(gòu)體的GPIO速率

		GPIO_Init(GPIOC,  &GPIO_InitStruct);					//初始化GPIO

		
}

點擊下面兩個任意一個編譯

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

確保0錯誤,0警告。

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

四、硬件連接

? ? ? ? 1、USB 轉(zhuǎn) TTL 方式

? ? ? ? ? ? ? ? (1)、將STM32F103C8T6插入面包板,注意!一定要插深一點!確保C8T6的引腳能和面包板進行導電!!(筆者因為這個小細節(jié)沒注意,排查了好幾天的代碼、硬件,甚至以為是筆者焊接不到位,重新把板的引腳焊過...最后排查出來是面包板和開發(fā)板的引腳接觸不緊密沒導上電...血的眼淚...)

????????????????(2)、USB 轉(zhuǎn) TLL硬件插上電腦USB端口。

? ? ? ? ????????(3)、USB to TTL硬件和STM32F103C8T6連線。

? ? ? ? ? ? ? ? ? ? ? ? 跳線帽連接方式:UBOOT0 用1;UBOOT1用0。

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? ? ? ? ? ? ? ? ? USB轉(zhuǎn)TTL連接方式:用杜邦線將USB to TTL的GND連開發(fā)板的GND、3.3V連3.3V、RXD連接PA9、TXD連接PA10

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

注意,下圖此處有小紅燈亮了,說明RXD連接PA9引腳連接可以導上電;如果是不亮的,則要檢查一下是否會導電。

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

LED小燈連接方式:根據(jù)代碼設定的GPIO端口,把LED小燈插到對應的引腳即可。筆者插的是A1、B12、C15引腳。注意!小燈泡會有高低腳,高的一側(cè)要插正極,低的一側(cè)插負極。

接地連接方式:用杜邦線把開發(fā)板上的G和面包板兩側(cè)的藍色負極行連接起來。

?最終連接效果:

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? ? ? ? ? (4)、打開設備管理器,確保有USB-SERIAL CH340(COMx)(如果沒有顯示或顯示未知設備就去安裝一個CH340的驅(qū)動)

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? ? ? ? ? ?(5)、打開FlyMCU,確保剛才端口是空閑狀態(tài)(一般來講,設備管理器識別的COM口號和FlyMCU的COM口號是一致的。這里解釋一下為什么這里的COM口號和上面不同,因為筆者沒有當時的截圖,下面這張圖時后來寫博客時補的圖...原來的端口電腦經(jīng)常識別有誤,所以插了另一個端口。)

? ? ? ? ? ? ? ? ? ? ?stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? ? ? ? ? ?(6)、進行以下配置,并點擊三個小點...處,選擇工程編譯生成的.hex文件,點擊開始編程。

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? ? ? ? ? ?(7)、別忘記按板上的Reset鍵,按了之后才會有反應。

?*常見問題:

????????1、未知USB設備(設備描述符請求失?。?/p>

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ?2、FlyMCU的Port端口顯示占用

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

解決方法:右鍵卸載這個設備,再重新插拔USB 轉(zhuǎn) TTL,多試幾次。筆者懷疑是USB轉(zhuǎn)TLL和拓展塢的USB口接觸不好導致的。

? ? ? ? 3、Fly MCU 出現(xiàn)無法打開串口

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

原因:說明電腦沒有識別到USB轉(zhuǎn)TTL的端口,請確保USB轉(zhuǎn)TTL已經(jīng)插上。如果確認插上,說明還是接觸不好的問題。

解決方法:重新插拔USB 轉(zhuǎn) TTL,多試幾次。(如果有條件,可以嘗試更換一個TTL)

????????4、無法打開串口COMx:Not Support Setting(bps/byte size etc)!

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

原因:RXD連接PA9沒有成功,需要檢查一下PA9引腳是否導電,可以看USB轉(zhuǎn)TTL上的小紅燈有沒有亮,沒亮就是沒導上電。

解決方法:1、更換TTL;2、更換杜邦線;3、插拔USB轉(zhuǎn)TTL;4、重新焊接PA9引腳;5、如果之前燒錄過其他程序,則嘗試一下按Reset后再試一次。

????????

? ? ? ?2、ST-LINK V2 01-0方式

???????????????(1)、將STM32F103C8T6插入面包板,注意!一定要插深一點!確保C8T6的引腳能和面包板進行導電??!

????????????????(2)、ST-LINK V2仿真編程器插上電腦USB端口。

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

????????????????(3)、ST-LINK V2仿真編程器和STM32F103C8T6連線。

? ? ? ? ? ? ? ? ? ? ? ? 跳線帽連接方式:UBOOT0 用0;UBOOT1用0。

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? ? ? ? ? ? ? ? ? ST-LINK和電腦連接方式:(開發(fā)板上的DCLK就是ST-LINK上的CLK)

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

????????????????LED小燈連接方式:根據(jù)代碼設定的GPIO端口,把LED小燈插到對應的引腳即可。筆者插的是A1、B12、C15引腳。注意!小燈泡會有高低腳,高的一側(cè)要插正極,低的一側(cè)插負極。

????????????????接地連接方式:用杜邦線把開發(fā)板上的G和面包板兩側(cè)的藍色負極行連接起來。

?連接最終效果:

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? (4)、打開設備管理器,確保有STM32 STLink (如果沒有顯示或顯示未知設備就去安裝一個STLink的驅(qū)動)

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? (5)、打開Keil,在確認編譯過、0錯誤,0警告后點擊LOAD下載按鈕。

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? ? ? ? ? 顯示下載成功信息。

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? (6)、如果在Debug的Setting勾選了Reset and Run則直接可以看到燈亮現(xiàn)象;如果沒有勾選Reset and Run則需要再按一下開發(fā)板上的RESET按鍵才可以觀察到燈亮現(xiàn)象。

五、實驗效果

? ? ? ? 1、USB to TTL:

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

? ? ? ? 2、ST-LINK V2 :

stm32f103c8t6 連接 st-link,stm32,單片機,嵌入式硬件

六、寫在最后

? ? ? ? 感謝文中所引用博客的作者提供了思路和幫助,再次感謝。文章來源地址http://www.zghlxwxcb.cn/news/detail-779324.html

到了這里,關于基于STM32F103C8T6以USB to TTL 和 ST-LINK V2兩種方式點亮LED小燈泡的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

    STM32項目設計:基于stm32f103c8t6智能電梯系統(tǒng)

    資料鏈接:待更新~ 嗶哩嗶哩視頻鏈接:https://www.bilibili.com/video/BV17D4y1V7HG/?vd_source=e5082ef80535e952b2a4301746491be0(bilibili:化作塵my) 資料鏈接:https://pan.baidu.com/s/1qObK7KBl50RmFrAtoX12kw 提取碼:iih4 實物鏈接:https://m.tb.cn/h.5h5mDXI?tk=MdxLWYHgKnz CZ0001 1、OLED顯示當前樓層、目標樓層等信息

    2024年02月03日
    瀏覽(40)
  • 基于STM32F103C8T6的超聲波測距應用

    基于STM32F103C8T6的超聲波測距應用

    #一、超聲波HC_SR04簡介 #二、超聲波工作原理 #三、超聲波測距步驟 #四、硬件接線 #五、項目代碼 一、超聲波HC_SR04簡介 超聲波傳感器模塊上面通常有兩個超聲波元器件,一個用于發(fā)射,一個用于接收。電路板上有四個引腳:VCC、GND、Trig(觸發(fā))、Echo(回應) 工作電壓與電流

    2024年02月03日
    瀏覽(27)
  • STM32f103c8t6模板的搭建-基于正點例程

    STM32f103c8t6模板的搭建-基于正點例程

    ? ? ? ?筆者認為正點編寫的官方例程結(jié)構(gòu)較為整潔,可以便于后期的例程開發(fā),如果開發(fā)者對于項目開發(fā)中芯片要求較高的話,有很多人會選擇正點的開發(fā)板,但是通常大多數(shù)是stm32初學者會選擇用價格更為便宜的c8t6來進行學習,而正點選用的教程開發(fā)板大多都是些RC、ZE、

    2024年02月06日
    瀏覽(99)
  • 基于stm32f103c8t6的fft頻率計

    之前項目中需要用到正弦信號的頻率測量,也參考了幾個大佬的博客(鏈接如下),但可能是由于stm32的型號不匹配,雖然也在網(wǎng)上查了一些需要修改的地方,但結(jié)果一直不太對,后來經(jīng)過自己摸索結(jié)果終于對了,在這里給大家分享下,具體原理不在贅述。 參考的部分大佬博

    2024年02月14日
    瀏覽(49)
  • 基于STM32F103C8T6的HC-06藍牙通信

    基于STM32F103C8T6的HC-06藍牙通信

    如果朋友們 遇到了如下問題 ,可以仔細借鑒本文章和另一篇專門講解 藍牙通信問題 的文章,一定能夠解決你在藍牙通信時遇到的諸多困難 1.在調(diào)試藍牙模塊AT指令時無返回值 2.身邊 無USB轉(zhuǎn)TTL模塊 可以直接調(diào)試藍牙模塊(本人就是由于無模塊花了了整整一天才調(diào)試成功)

    2024年02月03日
    瀏覽(34)
  • 基于STM32F103C8T6ADC檢測交流電壓

    基于STM32F103C8T6ADC檢測交流電壓

    上篇文章寫了硬件部分的實現(xiàn)思路,通過采樣電阻的到小電壓后經(jīng)過二級放大電路得到單片機可處理的交流電壓,此文介紹了如何采用單片機采集交流電壓以及stm32ADC外設的使用。首先是硬件電路部分。 ?電路沒有采用核心板,而是直接將芯片焊接到主板上,采用type-c接口供

    2024年02月12日
    瀏覽(35)
  • HX711壓力傳感器(基于STM32F103C8T6)

    HX711模塊是我們目前比較常見的壓力傳感器模塊,主要的作用是用來做壓力檢測,重量監(jiān)測等等。博主的這篇博文主要實現(xiàn)功能為,在對重量或者壓力進行監(jiān)測的同時,可以累加或者清零數(shù)值,在此基礎上就可以對比如飲水量進行統(tǒng)計等等。 HX711模塊是市面上比較常見的模塊

    2024年02月11日
    瀏覽(19)
  • 基于stm32f103c8t6的定時器詳解(持續(xù)更新)

    基于stm32f103c8t6的定時器詳解(持續(xù)更新)

    先聲明:stm32f103c8t6中沒有基本定時器、只有TIM1-TIM4:分別是高級定時器和通用定時器(對照下圖請自行閱讀stm32f103x的datasheet) 1、定時器功能:定時、輸出比較、輸入捕獲、互補輸出,其中基本定時器只有定時功能、通用定時器只沒有互補輸出功能、高級定時器具有所有功能

    2023年04月24日
    瀏覽(28)
  • [STM32F103C8T6]基于stm32的循跡,跟隨,避障智能小車

    [STM32F103C8T6]基于stm32的循跡,跟隨,避障智能小車

    目錄 1.小車驅(qū)動主要是通過L9110S模塊來驅(qū)動電機 motor.c 2.我們可以加入串口控制電機驅(qū)動(重寫串口接收回調(diào)函數(shù),和重定向printf) Uart.c main.c? 3.點動功能 uart.c main.c 為什么使用的是HAL_Delay()要設置滴答定時器的中斷優(yōu)先級呢? 4.小車PWM調(diào)速,? 6.跟隨功能 7.避障功能 超聲波測距

    2024年02月13日
    瀏覽(43)
  • 基于STM32F103C8T6的UAV飛控板硬件設計

    基于STM32F103C8T6的UAV飛控板硬件設計

    一、主控單元: ????????主控單元基于意法半導體公司的STM32F103C8T6單片機進行設計。STM32F103C8T6DE 內(nèi)核為ARM Cortex-M3;最大主頻:72MHz ;工作電壓范圍:2V~3.6V ;程序存儲容量:64KB; 程序存儲器類型:FLASH ;RAM總?cè)萘浚?0KB; GPIO端口數(shù)量:37 ;封裝為LQFP-48;串行單線調(diào)試(

    2024年02月08日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包