娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月06日(星期四)

正在發(fā)生

2021年02月06日 | STM8庫函數(shù)開發(fā)手冊(1) //工程模板、GPIO、時(shí)鐘

發(fā)布者:睿智之光 來源: eefocus關(guān)鍵字:STM8  庫函數(shù)  工程模板  GPIO  時(shí)鐘 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

第一部分 創(chuàng)建庫函數(shù)工程

1、創(chuàng)建文件目錄

BSP文件夾中存放自定義底層驅(qū)動(dòng)程序文件;

IAR文件夾存放IAR工程文件;

LIB 文件夾中引入C 語言自己的庫函數(shù);

USR 文件夾中存放自定義主程序及數(shù)據(jù)庫頭文件等;

Readme 文件夾中存放自定義程序設(shè)計(jì)說明文件;

2、將STM8庫函數(shù)文件拷貝入LIB文件夾

鏈接:

https://pan.baidu.com/s/1llVx9meEhhk0VYKbsKzLxwpan.baidu.com

提取碼:iy3v

下載解壓后進(jìn)入官方庫函數(shù)目錄:

打開LibrariesSTM8S_StdPeriph_Driver文件夾,找到inc 和src文件夾

就是我們的官方庫文件啦

將其拷貝到我們的LIB下:

inc文件夾是.h文件集合

src文件夾是.c文件集合

3、將STM8中斷入口文件拷貝入U(xiǎn)SR文件夾

STM8S_StdPeriph_LibProjectSTM8S_StdPeriph_Template文件夾下拷貝如下文件

將stm8s_it.c、stm8s_it.h拷貝到USR文件夾下

4、將stm8s_conf.h(目錄文件)拷貝到LIB文件夾下

STM8S_StdPeriph_LibProjectSTM8S_StdPeriph_Template文件夾下拷貝如下文件

將stm8s_conf.h(目錄文件)拷貝到LIB文件夾下

關(guān)于stm8s_conf.h的介紹:

stm8s_conf.h是官方固件庫頭文件的集合,如果不需要某個(gè)方面的功能,可以將對(duì)應(yīng)頭文件的聲明注釋掉。

5、打開IAR新建工程

記得把工程放入IAR文件夾下

6、將工程文件結(jié)構(gòu)與IAR工程結(jié)構(gòu)對(duì)應(yīng)起來

IAR文件夾是存工程的,不需要添加

7、往工程樹中添加文件

①、往USR中添加stm8s_it.c(不需要添加.h)

②、LIB中添加stm8s_conf.h

8、保存工程到IAR文件夾下

9、在IAR工程中創(chuàng)建main.c

添加入工程中USR樹下

10、創(chuàng)建pbdata.h pbdata.c文件并添加入U(xiǎn)SR文件夾下

(這兩個(gè)文件用來存儲(chǔ)公共函數(shù))

解決公共調(diào)用函數(shù)重復(fù)調(diào)用問題,可以這樣定義頭文件

11、配置工程設(shè)置

①、選定MCUi型號(hào)

②、選定調(diào)試方式

③、選定編譯輸出格式

④、?設(shè)置工程調(diào)用目錄?

$PROJ_DIR$..libinc
$PROJ_DIR$..libsrc
$PROJ_DIR$..lib

$PROJ_DIR$..usr 

$PROJ_DIR$..bsp

$PROJ_DIR$..iar

12、在main.c中寫main函數(shù)

13、在pbdata.h中包含 stm8.h

14、在 stm8.h中選中我們用的芯片

15、嘗試編譯,至此一個(gè)庫函數(shù)工程已經(jīng)搭建完成

最終目錄如下:

16、為了完善工程,我們需要一個(gè)斷言函數(shù)來為程序提供參數(shù)檢查


#include "pbdata.h"int main(void){

    //main}/*斷言函數(shù):它的作用是在編程的過程中為程序提供參數(shù)檢查*/#ifdef USE_FULL_ASSERTvoid assert_failed(u8* file,u32 line){

  while(1)

  {

  }}#endif


17、其實(shí)我們還沒有引用官方功能庫文件,可以用什么引用什么,引用方法如下:

在LIB里添加對(duì)應(yīng)的庫文件的.c文件就可以了


18、我們自己寫的代碼放在哪?

例如我們要寫一個(gè)led驅(qū)動(dòng),創(chuàng)建led.h 和led.c文件,然后放入BSP文件夾下,同時(shí)將led。c引入工程樹下BSP下。

在led.h中要也要這樣定義頭文件


#ifndef _LED_H#define _LED_H#include "stm8s.h"#endif


在led.c中引用pbdata.h,而在pbdata.h中引用led.h

CSDN-專業(yè)IT技術(shù)社區(qū)-登錄blog.csdn.net


第二部分 GPIO庫 (gpio.c)

1、GPIO_Init(GPIOx,GPIO_Pin,GPIO_Mode) // GPIO初始化

其中GPIO_Pin

其中GPIO_Mode

GPIO_Init(GPIOA, GPIO_PIN_LNIB, GPIO_MODE_IN_FL_NO_IT);

2、GPIO_DeInit(GPIOx) //GPIO回復(fù)初始狀態(tài)

注意:復(fù)位狀態(tài)下,所有的引腳都是懸浮輸入模式

GPIO_DeInit(GPIOA);

3、GPIO_Write(GPIOx,PortVal) //GPIO按組寫值

GPIO_Write(GPIOA, 0x00);

4、GPIO_WriteHigh(GPIOx,PortPins) //GPIO按引腳號(hào)寫1

GPIO_WriteHigh(GPIOA, GPIO_PIN_0);

5、GPIO_WriteLow(GPIOx,PortPins) //GPIO按引腳號(hào)寫0

6、GPIO_WriteReverse(GPIOx,PortPins)

7、GPIO_ReadInputData(GPIOx) //讀取GPIO輸入寄存器

u8 port_value;port_value = GPIO_ReadInputData(GPIOA);

8、GPIO_ReadOutputData(GPIOx) //讀取GPIO輸出寄存器值

u8 port_value;port_value = GPIO_ReadOutputData(GPIOA);

9、GPIO_ReadInputPin(GPIOx,GPIO_Pin) //讀取GPIO輸入寄存器特定引腳位的值

10、GPIO_ExternalPullUpConfig(GPIOx,GPIO_Pin,NewState)

//設(shè)置某引腳使能上拉電阻

NewState:ENABLE或者DISABLE


第三部分 時(shí)鐘控制庫 (clk.c)

1、CLK_DeInit() //恢復(fù)相關(guān)的時(shí)鐘寄存器到默認(rèn)值

CLK_DeInit();

2、CLK_HSECmd(NewState) //啟動(dòng)或者關(guān)閉外部高速振蕩器(HSE)

NewState:ENABLE或者DISABLE

3. CLK_HSICmd(NewState) //啟動(dòng)或者關(guān)閉內(nèi)部高速振蕩器(HSI)

4. CLK_LSICmd(NewState) //啟動(dòng)或者關(guān)閉內(nèi)部低速振蕩器(LSI)

5. CLK_CCOCmd(NewState) //啟動(dòng)或者關(guān)閉內(nèi)部時(shí)鐘輸出功能

6. CLK_ClockSwitchCmd(NewState) //啟動(dòng)或者關(guān)閉內(nèi)部時(shí)鐘切換

7. CLK_FastHaltWakeUpCmd(NewState) //啟動(dòng)或者關(guān)閉快速喚醒功能

8. CLK_SlowActiveHaltWakeUpCmd(NewState) //啟動(dòng)或者關(guān)閉活躍停機(jī)模式下的電壓調(diào)節(jié)器

9.CLK_ITConfig(CLK_IT,NewState) //啟動(dòng)或者關(guān)閉指定的時(shí)鐘中斷

其中CLK_IT的取值:

10. CLK_ClockSwitchConfig(CLK_SwitchMode,CLK_NewClock,ITState,CLK_CurrentClockState) //系統(tǒng)時(shí)鐘切換配置

其中:

CLK_SwitchMode:切換模式(MANUAL和AUTO兩種方式)

CLK_NewClock:DISABLE或者ENABLE

ITState:DISABLE或者ENABLE

CLK_CurrentClockState:DISABLE或者ENABLE

11、CLK_HSIPrescalerConfig(HSIPrescaler) //配置內(nèi)部高速振蕩器(HSI)的分頻器

其中:HSIPrescaler取值

12、CLK_CCOConfig(CLK_CCO) //配置時(shí)鐘輸出腳(CCO)的時(shí)鐘源

其中CLK_CCO:

13、CLK_PeripheralClockConfig(CLK_Peripheral,NewState)

//啟動(dòng)或者關(guān)閉指定的外設(shè)時(shí)鐘

其中CLK_Peripheral取值:

CLK_PERIPHERAL_I2C

CLK_PERIPHERAL_SPI

CLK_PERIPHERAL_UART1 ~3

CLK_PERIPHERAL_TIMER1 ~6

CLK_PERIPHERAL_AWU

CLK_PERIPHERAL_ADC

CLK_PERIPHERAL_CAN

14. CLK_SYSCLKConfig(CLK_Prescaler) //配置系統(tǒng)時(shí)鐘分頻器

其中CLK_Prescaler的值:

15、CLK_SWIMConfig(CLK_SWIMDivider) //配置SWIM時(shí)鐘分頻器

其中:

16、CLK_CANConfig(CLK_CANDivider) //配置CAN時(shí)鐘頻率

其中:

17、 CLK_ClockSecuritySystemEnable() //啟用時(shí)鐘安全系統(tǒng)

19. CLK_AdjustHSICalibrationValue(CLK_HSICalibrationValue)

//修復(fù)內(nèi)部高速振蕩器頻率

20.CLK_GetClockFreq() //獲取系統(tǒng)時(shí)鐘頻率

u32 u32_clk_freq;
u32_clk_freq = CLK_GetClockFreq();

21. CLK_GetSYSCLKSource() //獲取系統(tǒng)時(shí)鐘源

22. CLK_GetFlagStatus //獲取系統(tǒng)時(shí)鐘標(biāo)志狀態(tài)

23. CLK_GetITStatus(CLK_IT) //獲取系統(tǒng)時(shí)鐘中斷標(biāo)志狀態(tài)

其中:

24.CLK_ClearITPendingBit(CLK_IT) //清除系統(tǒng)時(shí)鐘中斷標(biāo)志狀態(tài)

CLK_ClearITPendingBit(CLK_IT_CSSD);


關(guān)鍵字:STM8  庫函數(shù)  工程模板  GPIO  時(shí)鐘 引用地址:STM8庫函數(shù)開發(fā)手冊(1) //工程模板、GPIO、時(shí)鐘

上一篇:IAR for STM8學(xué)習(xí)筆記(一)建立工程
下一篇:STM8電源模式管理及功耗控制

推薦閱讀

1、合作背景?近年來的新能源混合動(dòng)力汽車技術(shù)已經(jīng)逐漸成熟化、商業(yè)化,在為國家節(jié)能減排的同時(shí),也帶來各種電磁兼容問題,特別是混合動(dòng)力新增加的大電流、高電壓零部件的應(yīng)用,給國內(nèi)眾多混合動(dòng)力汽車廠家解決電磁兼容問題帶來了很大的難題,從EMC的角度分析,汽車內(nèi)龐大的電子系統(tǒng)必將帶來復(fù)雜的電磁環(huán)境,降低系統(tǒng)的可靠性,增加安全系統(tǒng)的成本。為使汽車...
英國倫敦的蓋特威克機(jī)場日前宣布將于今年8月開始在機(jī)場測試一款停車機(jī)器人。旅客們只需要掃描自己的航班信息,把車停到指定位置,機(jī)器人就會(huì)來帶走汽車,前往機(jī)器人停車場,通過人工智能系統(tǒng)尋找車位,完成停車任務(wù)。研發(fā)人員表示,采用AGV機(jī)器人停車,可以通過更科學(xué)的停放方式節(jié)省近50%的停車場空間。由于機(jī)器人無需進(jìn)入車內(nèi),鑰匙還是由旅客自己保管,...
對(duì)于智能手機(jī)來說,目前最大的瓶頸就是鋰電池,不少科學(xué)家也都是在積極尋找新的解決方案。 現(xiàn)在,來自麻省理工學(xué)院(MIT)的科學(xué)家們就帶來了一個(gè)令人興奮的未來進(jìn)展,其展示了一種克服了一些當(dāng)前設(shè)計(jì)限制的新型固態(tài)電池結(jié)構(gòu)。這些被稱為固態(tài)電池的實(shí)驗(yàn)裝置通過大幅提高電池內(nèi)部的能量密度來極大地延長電動(dòng)汽車和移動(dòng)設(shè)備的使用壽命。 發(fā)表在《Trends in c...
1、對(duì)齊算法在相同的對(duì)齊方式下,結(jié)構(gòu)體內(nèi)部數(shù)據(jù)定義的順序不同,結(jié)構(gòu)體整體占據(jù)內(nèi)存空間也不同。如下結(jié)構(gòu)體定義:struct A {// a 的自身對(duì)齊值為 4,偏移地址為 0x00~0x03,a 的起始地址 0x00 滿足 0x00%4=0int a; // b 的自身對(duì)齊值為 1,由于緊跟 a 之后的地址,即 0x04 滿足 0x04%1=0,所以 b 存放在 0x04 地址空間char b; //...

史海拾趣

問答坊 | AI 解惑

嵌入式以后干啥

咱們學(xué)嵌入式的以后工作方向是什么?。看蟾绱蠼銕蛶兔?,解決小弟我的疑惑吧,讓我好明確一下方向呀?!?

查看全部問答∨

請(qǐng)推薦一本基于C#語言的Windows CE教程

   我想學(xué)習(xí)Windows CE開發(fā),原來是做.Net的,想找一本比較好的基于C#語言的Windows CE教程,可是沒有找到,請(qǐng)大家推薦一本,謝謝?!?

查看全部問答∨

藍(lán)牙USB dongle,有沒有支持WinCE的?

各位,目前我從事的一個(gè)開發(fā)板工作是基于WinCE,arm平臺(tái)的,用于車載設(shè)備。我們的板子上沒有藍(lán)牙模塊,因?yàn)槲覀冃枰容^豐富的藍(lán)牙特性支持,所以打算購買一個(gè)USB dongle。 請(qǐng)問大家能不能推薦幾款dongle在winCE平臺(tái)下可以直接使用或者帶有比較好的 ...…

查看全部問答∨

[急]關(guān)于寬帶機(jī)頂盒的問題!

我想咨詢一下各位大俠,用一個(gè)機(jī)頂盒直接連接局域網(wǎng),點(diǎn)播局域網(wǎng)內(nèi)視頻服務(wù)器上的影片,閱讀局域網(wǎng)Web服務(wù)器上的新聞,并提供外接端口可連接電腦上網(wǎng),這樣的機(jī)頂盒好實(shí)現(xiàn)么?造價(jià)一般是多少? 項(xiàng)目可外包或合作的方式,價(jià)格詳談 聯(lián)系QQ:5103772 ...…

查看全部問答∨

關(guān)于編譯驅(qū)動(dòng)模塊的問題

我做了下面幾個(gè)事情 1:下載了驅(qū)動(dòng)源碼的tar包 2:下載了版本2.6.21的kernel源碼包 3:我知道了要先編譯這個(gè)包之后,才可以編譯驅(qū)動(dòng)源碼。 但是我不知道; 1:按什么要求去編譯這個(gè)kernel的源碼包? 2:kernel源碼包和驅(qū)動(dòng)的源碼包存放路徑有 ...…

查看全部問答∨

UNICODE字節(jié)流如何轉(zhuǎn)換成字符串(內(nèi)含中文)?

在wince5.0上調(diào)用別人的動(dòng)態(tài)庫,返回的是UNICODE的字節(jié)流(BYTE data[DATALEN]), 我使用以下方法轉(zhuǎn)換: CString str; for( i=0; i<DATALEN; i++) {   str += data; } 結(jié)果是:返回英文就正常,如果里面包含中文,中文部分就是亂碼。 我 ...…

查看全部問答∨

剛裝了VC6。0之后,WINCE不能用了

剛安裝了VC6。0之后,打開WINCE,platform builder之后,無論打開舊的工作空間還是新建platform都出現(xiàn)一個(gè)對(duì)話框: Runtime Error! Program: This application has requested the Runtime to terminate it in an unusual way.    &nb ...…

查看全部問答∨

W77E58 TIME2做串口0的波特率發(fā)生器的時(shí)候的設(shè)置

第一次用W77E58單片機(jī),想用time2來做串口0的波特率發(fā)生器,不知道怎么個(gè)設(shè)置,請(qǐng)大俠們指教,比如晶振是12MHZ,波特率為9600?!?

查看全部問答∨

買TI開發(fā)板新途徑

我買的《TI C5000 DSP開發(fā)套件給力促銷 》中的開發(fā)板已經(jīng)從美國發(fā)出,大約半個(gè)月能收到,不是自己買的,直接找的TI在各地的技術(shù)支持人員買的,不知道算不算是一個(gè)辦法…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 阿城市| 家居| 安西县| 宜丰县| 济源市| 策勒县| 杂多县| 巴中市| 宁阳县| 阿拉善右旗| 冀州市| 昭通市| 慈利县| 孙吴县| 长阳| 竹溪县| 河曲县| 夹江县| 沭阳县| 宽甸| 三原县| 台州市| 台南县| 华安县| 吉木萨尔县| 曲靖市| 博罗县| 岫岩| 方正县| 福建省| 龙里县| 根河市| 奉新县| 磐安县| 康定县| 大埔区| 屯门区| 海原县| 峨边| 镇宁| 渭源县|