www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]Ⅰ、寫(xiě)在前面完事開(kāi)頭難,只要肯努力;師傅領(lǐng)進(jìn)門(mén),修行看個(gè)人;當(dāng)你看到本文,說(shuō)明你是幸運(yùn)的,作者接下來(lái)推出的一系列STM8S教程,將助你踏入STM8S的世界。本文是STM8S教程的開(kāi)始,寫(xiě)給剛?cè)腴T(mén)STM8S的朋友。學(xué)習(xí)本文

Ⅰ、寫(xiě)在前面

完事開(kāi)頭難,只要肯努力;師傅領(lǐng)進(jìn)門(mén),修行看個(gè)人;當(dāng)你看到本文,說(shuō)明你是幸運(yùn)的,作者接下來(lái)推出的一系列STM8S教程,將助你踏入STM8S的世界。

本文是STM8S教程的開(kāi)始,寫(xiě)給剛?cè)腴T(mén)STM8S的朋友。學(xué)習(xí)本文之前,建議你先掌握C語(yǔ)言基礎(chǔ)知識(shí),了解單片機(jī)基礎(chǔ)知識(shí)。

作者將理論知識(shí)結(jié)合軟件工程源代碼講述STM8S的相關(guān)知識(shí),如果你掌握單片機(jī)基礎(chǔ)知識(shí),那么內(nèi)容難度比較低。教程重點(diǎn)結(jié)合“STM8S參考手冊(cè)”來(lái)講述相關(guān)理論知識(shí)。



為方便大家閱讀,本文內(nèi)容已經(jīng)整理成PDF文件:

http://pan.baidu.com/s/1i5uWhJR


作者:strongerHuang

版權(quán)所有,未經(jīng)允許,禁止用于其它商業(yè)用途?。。?/p>

Ⅱ、GPIO基礎(chǔ)知識(shí)

GPIO:General Purpose Input Output即通用輸入輸出口

每個(gè)端口都分配有一個(gè)輸出數(shù)據(jù)寄存器,一個(gè)輸入引腳寄存器,一個(gè)數(shù)據(jù)方向寄存器,一個(gè)選擇寄存器,和一個(gè)配置寄存器。一個(gè)I/O口工作在輸入還是輸出是取決于該口的數(shù)據(jù)方向寄存器的狀態(tài)。

?輸入模式:浮動(dòng)輸入和帶上拉輸入;

?輸出模式:推挽式輸出和開(kāi)漏輸出;

提示:輸入輸出模式可以通過(guò)軟件配置,STM8S沒(méi)有輸入下拉。

每一個(gè)IO都可以配置成外部中斷,可以單獨(dú)使能和關(guān)閉;

當(dāng)作為模擬輸入時(shí)可以關(guān)閉輸入施密特觸發(fā)器來(lái)降低功耗。

Ⅲ、本文GPIO軟件工程說(shuō)明

為了方便大家理解軟件工程具體實(shí)現(xiàn)了什么功能,將簡(jiǎn)述一下重要的幾點(diǎn)內(nèi)容。

本文是基礎(chǔ)的軟件工程,主要講述軟件工程相關(guān)說(shuō)明、軟件流程及重點(diǎn)講述GPIO配置的內(nèi)容。

學(xué)習(xí)本文之前建議學(xué)習(xí)如下兩篇文章:

IAR for STM8介紹、下載、安裝與注冊(cè)

IAR for STM8系列教程(一)_新建軟件工程詳細(xì)過(guò)程

文章最后提供下載內(nèi)容:STM8S資料、本文對(duì)應(yīng)軟件工程源代碼。

Ⅳ、軟件工程源代碼1.關(guān)于工程

工程使用最新IAR for STM8(EWSTM8)集成開(kāi)發(fā)環(huán)境,使用STM8S最新的標(biāo)準(zhǔn)外設(shè)庫(kù)。

本工程適合STM8S和STM8AF系列芯片,包含:

STM8S208、STM8S207、STM8S007、STM8AF52Ax、STM8AF62Ax、STM8S105、

STM8S005、STM8AF626x、STM8AF622x、STM8S103、STM8S003、STM8S903

只要沒(méi)有特別說(shuō)明,工程都適合以上芯片,只需要修改配置為對(duì)應(yīng)芯片即可。

修改兩個(gè)地方:

1.Device芯片型號(hào):Project -> Options -> General Options -> Target -> Device

2.芯片型號(hào)預(yù)定義:Project -> Options -> C/C++ Compiler -> Preprocessor -> Defined Symbols

2.軟件流程

本文提供STM8S軟件工程的流程比較簡(jiǎn)單:

配置時(shí)鐘、初始化GPIO、while循環(huán)

3.代碼分析說(shuō)明

A.配置時(shí)鐘

默認(rèn)使用16MHz高速內(nèi)部RC振蕩器(HSI)進(jìn)行8分頻,即系統(tǒng)時(shí)鐘默認(rèn)為2M(2M = 16M / 2)。我們通過(guò)軟件配置成16M,即1分頻。

配置時(shí)鐘代碼如下:

voidCLK_Configuration(void)

{

CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); //HSI = 16M (1分頻)

}

其中CLK_PRESCALER_HSIDIV分頻值參數(shù)可以跟蹤代碼查看:

typedef enum{

CLK_PRESCALER_HSIDIV1 = (uint8_t)0x00,/*!< High speed internal clock prescaler: 1 */

CLK_PRESCALER_HSIDIV2 = (uint8_t)0x08,/*!< High speed internal clock prescaler: 2 */

CLK_PRESCALER_HSIDIV4 = (uint8_t)0x10,/*!< High speed internal clock prescaler: 4 */

CLK_PRESCALER_HSIDIV8 = (uint8_t)0x18,/*!< High speed internal clock prescaler: 8 */

CLK_PRESCALER_CPUDIV1 = (uint8_t)0x80, /*!< CPU clock division factors 1 */

CLK_PRESCALER_CPUDIV2 = (uint8_t)0x81, /*!< CPU clock division factors 2 */

CLK_PRESCALER_CPUDIV4 = (uint8_t)0x82, /*!< CPU clock division factors 4 */

CLK_PRESCALER_CPUDIV8 = (uint8_t)0x83, /*!< CPU clock division factors 8 */

CLK_PRESCALER_CPUDIV16 = (uint8_t)0x84, /*!< CPU clock division factors 16 */

CLK_PRESCALER_CPUDIV32 = (uint8_t)0x85, /*!< CPU clock division factors 32 */

CLK_PRESCALER_CPUDIV64 = (uint8_t)0x86, /*!< CPU clock division factors 64 */

CLK_PRESCALER_CPUDIV128 = (uint8_t)0x87 /*!< CPU clock division factors 128 */

} CLK_Prescaler_TypeDef;

B.GPIO配置

我定義了一個(gè)LED燈的IO,使用宏定義(方便修改):

#define LED_GPIO_PORT GPIOD

#define LED_GPIO_PIN GPIO_PIN_4

初始化配置為推挽高速輸出,輸出默認(rèn)值為低:

GPIO_Init(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PIN,GPIO_MODE_OUT_PP_LOW_FAST);

具體配置參數(shù)有多種:

typedef enum

{

GPIO_MODE_IN_FL_NO_IT = (uint8_t)0x00, /*!< Input floating, no external interrupt */

GPIO_MODE_IN_PU_NO_IT = (uint8_t)0x40, /*!< Input pull-up, no external interrupt */

GPIO_MODE_IN_FL_IT = (uint8_t)0x20, /*!< Input floating, external interrupt */

GPIO_MODE_IN_PU_IT = (uint8_t)0x60, /*!< Input pull-up, external interrupt */

GPIO_MODE_OUT_OD_LOW_FAST = (uint8_t)0xA0,/*!< Output open-drain, low level, 10MHz */

GPIO_MODE_OUT_PP_LOW_FAST = (uint8_t)0xE0, /*!< Output push-pull, low level, 10MHz */

GPIO_MODE_OUT_OD_LOW_SLOW = (uint8_t)0x80, /*!< Output open-drain, low level, 2MHz */

GPIO_MODE_OUT_PP_LOW_SLOW = (uint8_t)0xC0, /*!< Output push-pull, low level, 2MHz */

GPIO_MODE_OUT_OD_HIZ_FAST = (uint8_t)0xB0, /*!< Output open-drain, high-impedance level,10MHz */

GPIO_MODE_OUT_PP_HIGH_FAST = (uint8_t)0xF0, /*!< Output push-pull, high level, 10MHz */

GPIO_MODE_OUT_OD_HIZ_SLOW = (uint8_t)0x90, /*!< Output open-drain, high-impedance level, 2MHz */

GPIO_MODE_OUT_PP_HIGH_SLOW = (uint8_t)0xD0 /*!< Output push-pull, high level, 2MHz */

}GPIO_Mode_TypeDef;

上面基礎(chǔ)知識(shí)已經(jīng)說(shuō)了關(guān)于GPIO的輸入輸出模式種類(lèi):輸出分類(lèi):推挽式輸出和開(kāi)漏輸出。推挽輸出具有輸出驅(qū)動(dòng)能力,比較常見(jiàn)。開(kāi)漏輸出是沒(méi)有輸出能力的,用在特殊場(chǎng)合,如I2C的DATA總線(xiàn)。這兩種輸出的具體意思可以網(wǎng)上搜索。

C.具體實(shí)現(xiàn)功能

在main函數(shù)中的while里面就是本文源代碼實(shí)現(xiàn)的具體功能,將一個(gè)LED燈(IO)高低交替輸出,達(dá)到LED亮滅的效果。

代碼:

while(1)

{

LED_ON; //LED亮

SoftwareDelay(0x6000);

LED_OFF; //LED滅

SoftwareDelay(0x6000);

}

這里的SoftwareDelay函數(shù)就不用說(shuō)了,主要就是軟件延時(shí)一段時(shí)間。

好了,希望以上一些基礎(chǔ)內(nèi)容希望對(duì)初學(xué)的你有所幫助。

Ⅴ、下載

STM8S資料:

http://pan.baidu.com/s/1o7Tb9Yq

軟件工程源代碼(STM8S-A01_GPIO基礎(chǔ)知識(shí)):

http://pan.baidu.com/s/1c2EcRo0


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉