版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)產(chǎn)品設(shè)計(jì)與制作
(stm32機(jī)型)袁秀英石梅香項(xiàng)目1、利用GPIO和位帶操作實(shí)現(xiàn)溫度報(bào)警任務(wù)1.4程序設(shè)計(jì)與調(diào)試總目錄1項(xiàng)目1、利用GPIO和位帶操作實(shí)現(xiàn)溫度報(bào)警
2項(xiàng)目2、利用SysTick實(shí)現(xiàn)溫度報(bào)警與控制
3項(xiàng)目3、利用按鍵查詢(xún)實(shí)現(xiàn)參數(shù)設(shè)定及顯示
4項(xiàng)目4、利用外部中斷實(shí)現(xiàn)工件計(jì)數(shù)顯示
5項(xiàng)目5、利用定時(shí)器實(shí)現(xiàn)直流電動(dòng)機(jī)PWM調(diào)速6項(xiàng)目6、利用計(jì)數(shù)器實(shí)現(xiàn)工件計(jì)數(shù)顯示和打包控制
7項(xiàng)目7、利用ADC實(shí)現(xiàn)土壤濕度采集
具體工作任務(wù)設(shè)計(jì)基于STM32單片機(jī)的溫度報(bào)警器,實(shí)現(xiàn)如下功能:
溫度超過(guò)設(shè)定溫度(30℃)時(shí),報(bào)警燈點(diǎn)亮;否則,報(bào)警燈熄滅。請(qǐng)進(jìn)行1、方案設(shè)計(jì)2、器件選型3、電路和程序設(shè)計(jì)4、完成軟硬件調(diào)試。項(xiàng)目總目標(biāo)1、了解單片機(jī)的發(fā)展及用途,理解其關(guān)鍵概念與術(shù)語(yǔ);2、了解單片機(jī)產(chǎn)品的開(kāi)發(fā)過(guò)程,會(huì)使用開(kāi)發(fā)工具進(jìn)行軟硬件設(shè)計(jì)與調(diào)試;3、理解基于STM32F103ZET6的電源電路原理,能夠獨(dú)立進(jìn)行電源電路的設(shè)計(jì)與調(diào)試;4、理解按鍵、溫度開(kāi)關(guān)等簡(jiǎn)單DI電路的原理,能夠獨(dú)立進(jìn)行類(lèi)似電路的設(shè)計(jì)與調(diào)試;5、理解LED等簡(jiǎn)單DO電路的原理,能夠獨(dú)立進(jìn)行類(lèi)似電路的設(shè)計(jì)與調(diào)試;6、掌握基于HAL庫(kù)函數(shù)的GPIO引腳讀寫(xiě)和位操作編程方法;7、能夠按照分組管理的模塊化設(shè)計(jì)方法進(jìn)行程序設(shè)計(jì)與調(diào)試;8、了解STM32GPIO電路的內(nèi)部結(jié)構(gòu);9、會(huì)查找相關(guān)資料、閱讀相關(guān)文獻(xiàn)。子目錄1項(xiàng)目1、利用GPIO和位帶操作實(shí)現(xiàn)溫度報(bào)警
1.1任務(wù)1.1 認(rèn)識(shí)STM32單片機(jī)及其開(kāi)發(fā)工具1.2任務(wù)1.2 方案設(shè)計(jì)
1.3任務(wù)1.3 電路設(shè)計(jì)
1.4任務(wù)1.4 程序設(shè)計(jì)
1.5任務(wù)1.5 利用位帶操作實(shí)現(xiàn)溫度報(bào)警
1.6任務(wù)1.6 stm32軟硬件深入(一)
任務(wù)1.4程序設(shè)計(jì)與調(diào)試本任務(wù)目標(biāo)1、能根據(jù)任務(wù)需求繪制系統(tǒng)流程圖;2、能根據(jù)需要確定輸入輸出引腳的工作模式;3、會(huì)編寫(xiě)GPIO引腳初始化函數(shù);4、會(huì)利用GPIO讀引腳庫(kù)函數(shù)采集引腳輸入;5、會(huì)利用GPIO寫(xiě)引腳庫(kù)函數(shù)向引腳輸出信號(hào);6、會(huì)利用示例框架和開(kāi)發(fā)板,在Keil5中進(jìn)行程序的編輯、編譯、生成、下載和調(diào)試;7、能舉一反三獨(dú)立進(jìn)行類(lèi)似應(yīng)用的程序設(shè)計(jì)。課程回顧-基于STM32的溫度報(bào)警器電路程序設(shè)計(jì)思路——流程圖安裝KEIL5搭建框架(1)在電腦適當(dāng)位置新建一個(gè)文件夾如“電氣1”(如已有,則打開(kāi))。(2)將老師給的“01-01-程序框架-簡(jiǎn)易框架-庫(kù)函數(shù)法”文件夾復(fù)制粘貼進(jìn)來(lái)。(3)再粘貼一次,并修改副本文件夾名為:01-02-溫度報(bào)警器-GPIO讀寫(xiě)。這樣你的文件夾里至少包含了“01-01-程序框架-簡(jiǎn)易框架-庫(kù)函數(shù)法”和“01-02-溫度報(bào)警器-GPIO讀寫(xiě)”兩個(gè)文件夾。(4)打開(kāi)文件夾:01-02-溫度報(bào)警器-GPIO讀寫(xiě),修改工程文件“Template”為“Temperature_Alarm”。當(dāng)然不修改就用原來(lái)的名字也沒(méi)有問(wèn)題。修改工程名的目的是使其功能看起來(lái)一目了然。(5)注意:1)工程文件的文件類(lèi)型是:μVision5Project;2)內(nèi)部子文件夾和文件名(例如CORE等)不要用中文。搭建框架(1)雙擊工程文件:Temperature_Alarm,打開(kāi)Keil5。(2)點(diǎn)擊左側(cè)Project窗口中的+或-,展開(kāi)或者折疊目錄,觀察工程的結(jié)構(gòu)。(3)在Project(工程)窗口,找到main.c,雙擊,打開(kāi)該文件。main.c是主程序文件。主函數(shù)部分主程序一般應(yīng)包括聲明、子函數(shù)、主函數(shù)三個(gè)部分。聲明部分子函數(shù)部分主函數(shù)的一般結(jié)構(gòu)認(rèn)識(shí)intmain() //必須有的函數(shù),名字和返回類(lèi)型不能變,是首先要運(yùn)行的函數(shù){}while(1)
//無(wú)條件循環(huán)部分,反復(fù)要做的事務(wù){(diào)……;
}……;
//初始化部分,循環(huán)前要做的事務(wù)聲明部分子函數(shù)部分主函數(shù)部分主函數(shù)的一般結(jié)構(gòu)認(rèn)識(shí)intmain() //主函數(shù)最重要的函數(shù),名字和返回類(lèi)型只能如此{(lán)}while(1)
//無(wú)條件循環(huán)部分,反復(fù)要做的事務(wù){(diào)
}
//初始化部分,循環(huán)前要做的事務(wù)voidAAA(
)//子函數(shù)AAA{……;}HAL_Init(
);//調(diào)用庫(kù)函數(shù)HAL_Init()#include"stm32f1xx.h";//包含stm321xx.h庫(kù)文件……;AAA(
);//調(diào)用子函數(shù)AAA……;
主函數(shù)的一般結(jié)構(gòu)認(rèn)識(shí)主程序一般應(yīng)包括聲明、子函數(shù)、主函數(shù)三個(gè)部分。例如:voidGPIOA_Init() //子函數(shù)GPIOA_Init(),名字和返回類(lèi)型可根據(jù)需要自定{
//子函數(shù)內(nèi)容,根據(jù)需要自定}voidGPIOC_Init()
//子函數(shù)GPIOC_Init(),名字和返回類(lèi)型可根據(jù)需要自定{
//子函數(shù)內(nèi)容,根據(jù)需要自定}intmain()
//主函數(shù),最重要的函數(shù),名字和返回類(lèi)型只能如此{(lán)
//初始化部分HAL_Init(
); //調(diào)用庫(kù)函數(shù)HAL_Init()GPIOA_Init();
//調(diào)用子函數(shù)GPIOA_Init()GPIOC_Init();
//調(diào)用子函數(shù)GPIOC_Init()
while(1)
//循環(huán)部分,根據(jù)需要自定
{ }}#include“stm32f1xx.h” //聲明部分,聲明包含stm32f1xx.h頭文件本系統(tǒng)主函數(shù)的設(shè)計(jì)intmain(){
GPIO_PinStatetemperature; //定義變量temperature,用于存溫度信號(hào),數(shù)據(jù)類(lèi)型為GPIO_PinState
HAL_Init(); //初始化HAL
GPIOA_Init(); //對(duì)GPIOA的PA0引腳初始化
GPIOC_Init(); //對(duì)GPIOC的PC0引腳初始
while(1)
{
temperature=HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
//讀取PA0引腳輸入給temperature
if(temperature==1)
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_RESET);//若溫度超限,則向PC0寫(xiě)0,點(diǎn)亮LED
else
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET);
//否則,向PC0寫(xiě)1,熄滅LED
}}函數(shù)分析1、主函數(shù)main(),自己寫(xiě)內(nèi)容,名字main和返回值類(lèi)型int固定,包括初始化和無(wú)條件循環(huán)兩部分2、初始化部分主要進(jìn)行PA0和PC0引腳初始化;
循環(huán)部分主要用于溫度采集、判斷和LED控制3、PA0和PC0引腳初始化用兩個(gè)子函數(shù)GPIOA_Init()和GPIOC_Init()完成,
子函數(shù)名、內(nèi)容、傳遞參數(shù)、返回值,根據(jù)需要自定4、用到了3個(gè)HAL庫(kù)函數(shù):HAL_Init()、
HAL_GPIO_ReadPin()、
HAL_GPIO_WritePin()
庫(kù)函數(shù)名稱(chēng)、功能、參數(shù)、返回值都是廠家提供的,不能用錯(cuò)。5、定義了變量temperature,其名字可自定義,但類(lèi)型受到函數(shù)HAL_GPIO_ReadPin()限制HAL初始化庫(kù)函數(shù)解析HAL庫(kù)函數(shù):HAL_Init()函數(shù)原型:HAL_StatusTypeDef
HAL_Init(
)
HAL_OK=0;HAL_ERROR=1;HAL_BUSY=2;HAL_TIMEOUT=3↑函數(shù)名↑參數(shù)↑返回值類(lèi)型
功能:按照HAL固件庫(kù)的要求,進(jìn)行系統(tǒng)外設(shè)的初始化,并根據(jù)操作情況返回結(jié)果返回值:數(shù)據(jù)類(lèi)型:HAL_StatusTypeDef,該類(lèi)型在庫(kù)中已被定義。取值有4個(gè):英語(yǔ)小貼士:初始化
(Initialize,簡(jiǎn)寫(xiě)Init)
狀態(tài)(Status)
類(lèi)型(Type)
定義(Define)
要求:必須寫(xiě)在程序開(kāi)頭(主函數(shù)的第一條語(yǔ)句)GPIO讀引腳庫(kù)函數(shù)解析HAL庫(kù)函數(shù):HAL_GPIO_ReadPin(端口名,引腳號(hào))示例:AAA=HAL_GPIO_ReadPin(GPIOE
,
GPIO_PIN_5);//讀PE5輸入給變量AAA
if(AAA==GPIO_PIN_SET){……}函數(shù)原型:GPIO_PinState
HAL_GPIO_ReadPin(GPIO_TypeDef
*GPIOx
,
uint16_t
GPIO_Pin)功能:讀GPIO引腳的輸入電平,如果輸入高電平則返回“1”;如果輸入低電平,則返回“0”端口名:GPIOx,數(shù)據(jù)類(lèi)型為GPIO_TypeDef,指針型,該類(lèi)型在庫(kù)中已被定義,取值為:
GPIOA、GPIOB、……、GPIOG返回值:數(shù)據(jù)類(lèi)型為GPIO_PinState,取值為:GPIO_PIN_RESET=
0;GPIO_PIN_SET=
1英語(yǔ)小貼士:Read(讀)、Pin(引腳)、SET(置位、置1)、RESET(復(fù)位,清0)、State(狀態(tài))引腳號(hào):GPIO_Pin,數(shù)據(jù)類(lèi)型為uint16_t,該類(lèi)型在庫(kù)中已被定義,取值為:GPIO_PIN_0~GPIO_PIN_15
GPIO寫(xiě)引腳庫(kù)函數(shù)解析HAL庫(kù)函數(shù):HAL_GPIO_WritePin(端口號(hào),引腳號(hào),輸出值)函數(shù)原型:void
HAL_GPIO_WritePin
(GPIO_TypeDef*GPIOx,uint16_t
GPIO_Pin,GPIO_PinState
PinState)功能:向GPIO引腳寫(xiě)“0”或“1”并輸出到引腳上端口名:數(shù)據(jù)類(lèi)型為GPIO_TypeDef,該類(lèi)型在庫(kù)中已被定義,取值為:
GPIOA、GPIOB、……、GPIOG引腳號(hào):GPIO_Pin,數(shù)據(jù)類(lèi)型為uint16_t,該類(lèi)型在庫(kù)中已被定義,取值為:
GPIO_PIN_0、GPIO_PIN_1、……、GPIO_PIN_15等輸出值:數(shù)據(jù)類(lèi)型為GPIO_PinState,有兩個(gè)取值:GPIO_PIN_RESET=0;
GPIO_PIN_SET=1返回值:類(lèi)型為void(空)示例:HAL_GPIO_WritePin
(GPIOD,GPIO_PIN_3,GPIO_PIN_RESET);//向PD3寫(xiě)0HAL_GPIO_WritePin
(GPIOB,GPIO_PIN_15,GPIO_PIN_SET);//向PB15寫(xiě)1STM32的固件庫(kù)認(rèn)識(shí)STM32的固件庫(kù)(STM32FxxxFirmwareLibrary)1、固件庫(kù)是ST公司和ARM公司提供的函數(shù)庫(kù),含有大量已封裝好可直接使用的庫(kù)函數(shù)例如HAL_GPIO_ReadPin()。2、固件庫(kù)幫助使用者不需要對(duì)芯片內(nèi)部硬件有很多了解,即可利用庫(kù)函數(shù)進(jìn)行程序設(shè)計(jì),為快速應(yīng)用提供便利。3、stm32編程通常有三個(gè)途徑:(1)利用標(biāo)準(zhǔn)庫(kù)編程(StandardPeripheralsLibrary,標(biāo)準(zhǔn)設(shè)備庫(kù));
(2)利用HAL庫(kù)編程(HardwareAbstractionLayer
Library,抽象印象層庫(kù));
(3)直接對(duì)stm32內(nèi)部寄存器進(jìn)行編程4、傳統(tǒng)51單片機(jī)采用方法(3),即寄存器編程。5、stm32由于比51復(fù)雜很多,通常都是利用固件庫(kù)編程作為入門(mén),之后再用寄存器編程作為提高。6、標(biāo)準(zhǔn)庫(kù)是之前使用的固件庫(kù)。HAL庫(kù)則是目前主推的固件庫(kù)。7、詳細(xì)的HAL庫(kù)函數(shù)說(shuō)明和函數(shù)具體內(nèi)容可參考手冊(cè),或直接從keil5中讀取主函數(shù)的編輯與調(diào)試(1)編輯前請(qǐng)注意:?C編譯器不識(shí)別中文和中文全角字符。因此除了注釋以外,編輯程序過(guò)程中,請(qǐng)大家務(wù)必將輸入法切換到英文或者中文半角。否則C編譯器會(huì)報(bào)錯(cuò),切記!?為防止打字錯(cuò)誤,請(qǐng)盡量利用復(fù)制粘貼。主函數(shù)的編輯與調(diào)試(2)(1)按以上設(shè)計(jì)在Keil5中寫(xiě)入主程序,你會(huì)發(fā)現(xiàn)第6行和第7行出現(xiàn)了警告符號(hào)。(2)點(diǎn)擊編譯(Translate)圖標(biāo),輸出(Output)窗口指出有2個(gè)警告(warnings)。
警告內(nèi)容:第6、7行存在模糊聲明(declaredimplicitly)。錯(cuò)誤原因:子函數(shù)必須先定義后使用?,F(xiàn)在編譯程序沒(méi)有找到這兩個(gè)函數(shù)的定義。于是認(rèn)為是模糊聲明(實(shí)際上是沒(méi)有聲明)。主函數(shù)的編輯與調(diào)試(3)(3)在第2~7行加入GPIOA_Init()和GPIOC_Init()子函數(shù)的框架。(4)點(diǎn)擊編譯(Translate)圖標(biāo),輸出(Output)窗口顯示0個(gè)錯(cuò)誤(errors)和警告(warnings)??梢?jiàn)雖然子函數(shù)的內(nèi)容尚未編寫(xiě),但框架結(jié)構(gòu)正確了,編譯正確。程序結(jié)構(gòu)再認(rèn)識(shí)voidGPIOA_Init(){}voidGPIOC_Init(){}int
main(){}//聲明包含庫(kù)文件stm32f1xx.h,該文件包含了關(guān)于stm32單片機(jī)的相關(guān)定義#include"stm32f1xx.h"http://main()函數(shù),主函數(shù),是程序首先運(yùn)行的函數(shù)//兩個(gè)子函數(shù),作用是初始化PA0和PC0引腳,運(yùn)行中被main()調(diào)用主函數(shù)名字必須是main(),KEIL5要求類(lèi)型必須是int子函數(shù)名字和類(lèi)型可根據(jù)需要自定義子函數(shù)必須先定義再使用子函數(shù)編輯與解析GPIOA和GPIOC初始化子函數(shù)解析(1)程序第5、13行使用了GPIOA和GPIOC時(shí)鐘開(kāi)啟庫(kù)(宏)函數(shù)。除了供電,單片機(jī)的工作離不開(kāi)時(shí)鐘。時(shí)鐘就像人的心臟,為單片機(jī)的工作提供節(jié)拍。對(duì)于51單片機(jī),上電復(fù)位后GPIO的時(shí)鐘是自動(dòng)開(kāi)啟的。STM32則不同,要使GPIO工作,需要編程開(kāi)啟其時(shí)鐘。GPIO時(shí)鐘開(kāi)啟和關(guān)閉庫(kù)宏函數(shù)函數(shù)名__HAL_RCC_GPIOA_CLK_ENABLE()功能開(kāi)啟GPIOA的時(shí)鐘函數(shù)名__HAL_RCC_GPIOA_CLK_DISABLE()功能禁止GPIOA時(shí)鐘類(lèi)似庫(kù)函數(shù)__HAL_RCC_GPIOB_CLK_ENABLE()、__HAL_RCC_GPIOB_CLK_DISABLE()英語(yǔ)小貼士RCC(ResetandClockControl,復(fù)位和時(shí)鐘控制)CLK(CLOCK,時(shí)鐘)ENABLE(使能、允許)DISABLE(失能、禁止)一般形式__HAL_RCC_GPIOx_CLK_ENABLE()__HAL_RCC_GPIOx_CLK_DISABLE()(x=A~G)GPIOA和GPIOC初始化子函數(shù)解析(2)程序第9、18行使用了GPIO初始化庫(kù)函數(shù)HAL_GPIO_Init(端口名,&初始化變量名)。該函數(shù)的意思是按照初始化變量的設(shè)置,對(duì)指定的端口進(jìn)行初始化。使用時(shí)應(yīng)注意取地址運(yùn)算符“&”。例如:HAL_GPIO_Init(GPIOA,&GPIO_InitStructure);//按照變量GPIO_InitStructure的值對(duì)GPIOA初始化HAL_GPIO_Init(GPIOB,&AAA);
//按照變量AAA的值對(duì)GPIOB做初始化。GPIO初始化庫(kù)函數(shù)(1)函數(shù)名HAL_GPIO_Init(端口名,&初始化變量名)功能按照GPIO初始化變量的值,初始化指定的GPIO端口函數(shù)原型voidHAL_GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_Init)端口名GPIOA~GPIOG,指出對(duì)哪個(gè)端口進(jìn)行初始化初始化變量數(shù)據(jù)類(lèi)型:GPIO_InitTypeDef,這是一個(gè)結(jié)構(gòu)體類(lèi)型,在庫(kù)中定義如下:typedefstruct{uint32_tPin;/*引腳號(hào)*/uint32_tMode;/*引腳的工作模式*/uint32_tPull;/*引腳的上拉下拉設(shè)置*/uint32_tSpeed;/*引腳速度*/}GPIO_InitTypeDef1.Pin:管腿號(hào),包括:GPIO_PIN_0、GPIO_PIN_1、……、GPIO_PIN_15、GPIO_PIN_All等2.Mode:工作模式,具體取值見(jiàn)后說(shuō)明3.Pull:上拉和下拉方式,具體取值見(jiàn)后說(shuō)明4.Speed:輸出速度,具體取值見(jiàn)后說(shuō)明返回值空GPIO初始化庫(kù)函數(shù)(2)GPIO引腳做輸入輸出時(shí)的設(shè)置(部分)引腳用途ModePullSpeed數(shù)字量輸入(DI)
數(shù)字量輸出(DO)
GPIO_MODE_INPUT(輸入)GPIO_NOPULL(浮空)GPIO_PULLUP(上拉)GPIO_PULLDOWN(下拉)GPIO_MODE_OUTPUT_PP(推挽輸出)GPIO_MODE_OUTPUT_OD(開(kāi)漏輸出)GPIO_SPEED_FREQ_LOW(低速,最大2MHz)GPIO_SPEED_FREQ_MEDIUM(中速,最大10MHZ)GPIO_SPEED_FREQ_HIGH(高速,最大50MHz)GPIO_InitTypeDefAAA; //定義變量AAA,用于存放GPIO初始化參數(shù)__HAL_RCC_GPIOF_CLK_ENABLE();
//開(kāi)啟GPIOF時(shí)鐘
AAA.Pin=GPIO_PIN_5; //指出是PIN_5引腳AAA.Mode=GPIO_MODE_INPUT; //指出該引腳做輸入(INPUT)AAA.Pull=GPIO_PULLDOWN; //設(shè)置為內(nèi)部下拉模式(PULLDOWN)HAL_GPIO_Init(GPIOF,&AAA); //按照以上設(shè)置對(duì)GPIOF的指定引腳進(jìn)行初始化GPIO_InitTypeDefBBB; //定義變量BBB,用于存放GPIO初始化參數(shù)__HAL_RCC_GPIOD_CLK_ENABLE();
//開(kāi)啟GPIOD時(shí)鐘
BBB.Pin=GPIO_PIN_6; //指出是PIN_6引腳BBB.Mode=GPIO_MODE_OUTPUT_PP; //指出該引腳做推挽輸出(OUTPUTPUSHPULL)BBB.Speed=GPIO_SPEED_FREQ_HIGH; //設(shè)置為高速輸出(HIGHFREQUENCESPEED)HAL_GPIO_Init(GPIOF,&AAA); //按照以上設(shè)置對(duì)GPIOF的指定引腳進(jìn)行初始化GPIO初始化庫(kù)函數(shù)(3)例如希望按照變量AAA的設(shè)置對(duì)PF5引腳進(jìn)行初始化,要求PF5做數(shù)字量輸入,設(shè)為下拉,程序如下:例如希望按照變量BBB的設(shè)置對(duì)PD6引腳進(jìn)行初始化,要求PD6做數(shù)字量輸出、推挽方式,高速,程序如下:GPIO的初始化庫(kù)函數(shù)(4)(1)GPIO管腿做數(shù)字量輸入時(shí),應(yīng)將其Mode設(shè)為GPIO_MODE_INPUT。(2)GPIO_MODE_INPUT下,應(yīng)設(shè)置PULL:(3)本系統(tǒng)PA0采用圖(a)外部上拉,
故應(yīng)設(shè)為:GPIO_PULLDOWNGPIO的初始化庫(kù)函數(shù)(5)(1)GPIO管腿做數(shù)字量輸出時(shí),可將其Mode設(shè)為:
GPIO_MODE_OUTPUT_PP(推挽輸出,PP:PushandPull);
GPIO_MODE_OUTPUT_OD(漏極開(kāi)路輸出,OD:OpenDrain)。?直接驅(qū)動(dòng)DC3V負(fù)載情況下,應(yīng)設(shè)置為推挽輸出(PP)。?如果驅(qū)動(dòng)的是DC5V負(fù)載,則應(yīng)設(shè)置為漏極開(kāi)路輸出(OD)本系統(tǒng)PC0直接驅(qū)動(dòng)LED,應(yīng)設(shè)置為推挽輸出。(2)具體是PP還是OD,取決于負(fù)載的情況:(3)應(yīng)根據(jù)需要設(shè)置其輸出速度Speed:GPIO_SPEED_FREQ_LOW(低速,最大2MHz)GPIO_SPEED_FREQ_MEDIUM(中速,最大10MHZ)GPIO_SPEED_FREQ_HIGH(高速,最大50MHz)程序的編譯生成與下載運(yùn)行(1)點(diǎn)擊“編譯Translate”按鈕,對(duì)程序進(jìn)行編譯,應(yīng)顯示沒(méi)有錯(cuò)誤和警告。(2)點(diǎn)擊“生成Build”按鈕,對(duì)程序進(jìn)行生成,應(yīng)顯示沒(méi)有錯(cuò)誤和警告。(3)也可以直接點(diǎn)擊“重新生成Rebuild”按鈕,代替編譯和生成操作。連接電腦-仿真器-實(shí)驗(yàn)板1、連接電腦-調(diào)試器-實(shí)驗(yàn)板,觀察電源指示燈應(yīng)點(diǎn)亮計(jì)算機(jī)USB口仿真器作用:1.下載程序2.調(diào)試程序3.供電電源指示燈實(shí)驗(yàn)板設(shè)置調(diào)試方式1、點(diǎn)擊魔術(shù)棒Options(選項(xiàng))設(shè)置調(diào)試方式2、進(jìn)入Debug(調(diào)試)頁(yè)3、選擇:Use:CMSIS-DAPDebugger
4、點(diǎn)擊:Settings(設(shè)置)設(shè)置調(diào)試方式5、在Debug(調(diào)試)頁(yè),如果顯示:ErrorNoDebugUnitDevicefound
(錯(cuò)誤,沒(méi)有發(fā)現(xiàn)調(diào)試單元)說(shuō)明電腦-仿真器-實(shí)驗(yàn)板沒(méi)有正確連接。需要重建連接。設(shè)置調(diào)試方式5'、在Debug(調(diào)試)頁(yè),如果出現(xiàn)IDCODE(機(jī)器號(hào)),說(shuō)明連接正確,電腦找到了仿真器。6、將Reset(復(fù)位)設(shè)置為:SYSRESETREQ(系統(tǒng)復(fù)位響應(yīng))。設(shè)置調(diào)試方式7、在FlashDownload(閃存下載)頁(yè),將ResetandRun勾選上(復(fù)位后即啟動(dòng)運(yùn)行)8、OKOK下載程序1、點(diǎn)Download(下載)按鈕,將程序下載到開(kāi)發(fā)板上的單片機(jī)芯片中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版宅基地使用權(quán)轉(zhuǎn)讓與房屋租賃一攬子合同2篇
- 二零二五版遠(yuǎn)程辦公勞動(dòng)合同簽訂與工作質(zhì)量監(jiān)控3篇
- 二零二五版辦公用品耗材行業(yè)聯(lián)盟采購(gòu)合同2篇
- 二零二五版旅游租車(chē)服務(wù)合同范本2篇
- 二零二五版家具原料采購(gòu)合同與供應(yīng)鏈管理協(xié)議3篇
- 展會(huì)市場(chǎng)調(diào)研服務(wù)合同(2篇)
- 二零二五年度手機(jī)應(yīng)用開(kāi)發(fā)購(gòu)銷(xiāo)合同3篇
- 二零二五年度建筑用標(biāo)磚綠色認(rèn)證與銷(xiāo)售合同3篇
- 二零二五版合同部合同合規(guī)性審查與風(fēng)險(xiǎn)預(yù)警合同3篇
- 二零二五年度離婚后共同債務(wù)清償及財(cái)產(chǎn)分割合同5篇
- 房地產(chǎn)營(yíng)銷(xiāo)策劃 -佛山龍灣壹號(hào)學(xué)區(qū)房項(xiàng)目推廣策略提案方案
- 產(chǎn)品共同研發(fā)合作協(xié)議范本5篇
- 風(fēng)水學(xué)的基礎(chǔ)知識(shí)培訓(xùn)
- 2024年6月高考地理真題完全解讀(安徽?。?/a>
- 吸入療法在呼吸康復(fù)應(yīng)用中的中國(guó)專(zhuān)家共識(shí)2022版
- 1-35kV電纜技術(shù)參數(shù)表
- 信息科技課程標(biāo)準(zhǔn)測(cè)(2022版)考試題庫(kù)及答案
- 施工組織設(shè)計(jì)方案針對(duì)性、完整性
- 2002版干部履歷表(貴州省)
- DL∕T 1909-2018 -48V電力通信直流電源系統(tǒng)技術(shù)規(guī)范
- 2024年服裝制版師(高級(jí))職業(yè)鑒定考試復(fù)習(xí)題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論