ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:21.68KB ,
资源ID:9072731      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9072731.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(stm8s函数库应用笔记待续.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

stm8s函数库应用笔记待续.docx

1、stm8s函数库应用笔记待续STM8庫函數學習筆記之GPIO【整理者】【提供者】885783【详细说明】STM8庫函數學習筆記之GPIOSTM8庫函數學習筆記之GPIO作者:BH7KQK日期:2010.12.30相關的函數:void GPIO_DeInit(GPIO_TypeDef* GPIOx);void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, GPIO_Mode_TypeDef GPIO_Mode);void GPIO_Write(GPIO_TypeDef* GPIOx, u8 PortVal);void GPIO

2、_WriteHigh(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);void GPIO_WriteLow(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);void GPIO_WriteReverse(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);u8 GPIO_ReadInputData(GPIO_TypeDef* GPIOx);u8 GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);BitStatus GPIO_R

3、eadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin);void GPIO_ExternalPullUpConfig(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, FunctionalState NewState);/-void GPIO_DeInit(GPIO_TypeDef* GPIOx);這個函數用來恢復指定端口的寄存器ODR、DDR、CR1及CR2到默認值0x00,即無中斷功能的浮動輸入,無返回值。參數:GPIOx: GPIOA到GPIOI可選。示例: 恢復GPIOB的相應

4、寄存器為默認值GPIO_DeInit(GPIOB);/-void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, GPIO_Mode_TypeDef GPIO_Mode);這個函數用來配置指定端口的各個引腳功能,無返回值。參數: GPIOx: 端口GPIOA到GPIOI可選。GPIO_Pin: 要初始化的引腳,可以用“或”方式選擇多個引腳,可選值:GPIO_PIN_0 選擇 0 引腳GPIO_PIN_1 選擇 1 引腳GPIO_PIN_2 選擇 2 引腳GPIO_PIN_3 選擇 3 引腳GPIO_PIN_4 選擇 4 引腳G

5、PIO_PIN_5 選擇 5 引腳GPIO_PIN_6 選擇 6 引腳GPIO_PIN_7 選擇 7 引腳GPIO_PIN_LNIB 低四位引腳選擇,即同時選擇PIN_0到PIN_3。GPIO_PIN_HNIB 高四位引腳選擇,即同時選擇PIN_4到PIN_7。GPIO_PIN_ALL 選擇全部引腳,即同時選擇PIN_0到PIN_7。GPIO_Mode:工作模式。可選值:GPIO_MODE_IN_FL_NO_IT 無中斷功能的浮動輸入。GPIO_MODE_IN_PU_NO_IT 無中斷功能的上拉輸入。GPIO_MODE_IN_FL_IT 帶中斷功能的浮動輸入。GPIO_MODE_IN_PU_I

6、T 帶中斷功能的上拉輸入。GPIO_MODE_OUT_OD_LOW_FAST 高速開漏低電平輸出,可工作到10MHz。GPIO_MODE_OUT_PP_LOW_FAST 高速推挽低電平輸出,可工作到10MHz。GPIO_MODE_OUT_OD_LOW_SLOW 低速開漏低電平輸出,可工作到2MHz。GPIO_MODE_OUT_PP_LOW_SLOW 低速推挽低電平輸出,可工作到2MHz。GPIO_MODE_OUT_OD_HIZ_FAST 高速開漏高阻態輸出,可工作到10MHz。GPIO_MODE_OUT_PP_HIGH_FAST 高速推挽高電平輸出,可工作到10MHz。GPIO_MODE_OU

7、T_OD_HIZ_SLOW 低速開漏高阻態輸出,可工作到2MHz。GPIO_MODE_OUT_PP_HIGH_SLOW 低速推挽高電平輸出,可工作到2MHz。示例: 把GPIOB的引腳0、1、4配置為高速推挽高電平輸出。GPIO_Init(GPIOB, (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_4), GPIO_MODE_OUT_PP_HIGH_FAST);/-void GPIO_Write(GPIO_TypeDef* GPIOx, u8 PortVal);這個函數用來輸出一個八位的值到指定的端口,無返回值。所需条件:该端口必须配置為输出模式。參數:GPIOx:端

8、口GPIOA到GPIOI可選。PortVal:為無符號8位數值。示例: 端口B輸出0x22。GPIO_Write(GPIOB, 0x22);/-void GPIO_WriteHigh(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);這個函數用來置位指定端口的一個或多個引腳,即置相應引腳輸出為高電平,無返回值。所需条件:该端口必须配置為输出模式。參數:GPIOx:端口GPIOA到GPIOI可選。PortPins: 要置位引腳,可以用“或”方式選擇多個引腳,可選值:GPIO_PIN_0 選擇 0 引腳GPIO_PIN_1 選擇 1 引腳GPIO_PI

9、N_2 選擇 2 引腳GPIO_PIN_3 選擇 3 引腳GPIO_PIN_4 選擇 4 引腳GPIO_PIN_5 選擇 5 引腳GPIO_PIN_6 選擇 6 引腳GPIO_PIN_7 選擇 7 引腳GPIO_PIN_LNIB 低四位引腳選擇,即同時選擇PIN_0到PIN_3。GPIO_PIN_HNIB 高四位引腳選擇,即同時選擇PIN_4到PIN_7。GPIO_PIN_ALL 選擇全部引腳,即同時選擇PIN_0到PIN_7。示例: 把GPIOB的引腳0和引腳3置位。GPIO_WriteHigh(GPIOB, (GPIO_PIN_0 | GPIO_PIN_3);/-void GPIO_Wri

10、teLow(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);這個函數用來復位指定端口一個或多個引腳的電平,即置相應引腳輸出為低電平,無返回值。所需条件:该端口必须配置為输出模式。參數:GPIOx:端口GPIOA到GPIOI可選。PortPins: 要復位引腳,可以用“或”方式選擇多個引腳,可選值:GPIO_PIN_0 選擇 0 引腳GPIO_PIN_1 選擇 1 引腳GPIO_PIN_2 選擇 2 引腳GPIO_PIN_3 選擇 3 引腳GPIO_PIN_4 選擇 4 引腳GPIO_PIN_5 選擇 5 引腳GPIO_PIN_6 選擇 6 引腳G

11、PIO_PIN_7 選擇 7 引腳GPIO_PIN_LNIB 低四位引腳選擇,即同時選擇PIN_0到PIN_3。GPIO_PIN_HNIB 高四位引腳選擇,即同時選擇PIN_4到PIN_7。GPIO_PIN_ALL 選擇全部引腳,即同時選擇PIN_0到PIN_7。示例: 把GPIOB的引腳0和引腳3置為低電平。GPIO_WriteLow(GPIOB, (GPIO_PIN_0 | GPIO_PIN_3);/-void GPIO_WriteReverse(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);這個函數用來取反指定端口的一個或多個引腳的電平狀

12、態,如果當前該引腳為高電平則置為低電平,如果為低電平則置為高電平,無返回值。所需条件:该端口必须配置為输出模式。參數:GPIOx:端口GPIOA到GPIOI可選。PortPins: 要取反的引腳,可以用“或”方式選擇多個引腳。可選值:GPIO_PIN_0 選擇 0 引腳GPIO_PIN_1 選擇 1 引腳GPIO_PIN_2 選擇 2 引腳GPIO_PIN_3 選擇 3 引腳GPIO_PIN_4 選擇 4 引腳GPIO_PIN_5 選擇 5 引腳GPIO_PIN_6 選擇 6 引腳GPIO_PIN_7 選擇 7 引腳GPIO_PIN_LNIB 低四位引腳選擇,即同時選擇PIN_0到PIN_3。

13、GPIO_PIN_HNIB 高四位引腳選擇,即同時選擇PIN_4到PIN_7。GPIO_PIN_ALL 選擇全部引腳,即同時選擇PIN_0到PIN_7。示例: 取反GPIOB的引腳0和引腳3的電平狀態。GPIO_WriteReverse(GPIOB, (GPIO_PIN_0 | GPIO_PIN_3);/-u8 GPIO_ReadInputData(GPIO_TypeDef* GPIOx);這個函數用來讀取指定端口的數據,返回一個八位無符號值。所需条件:该端口必须配置為输入模式。參數:GPIOx:端口GPIOA到GPIOI可選。示例:讀取端口A的數值。u8 r_data;r_data = GP

14、IO_ReadInputData(GPIOA);/-u8 GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);這個函數用來讀取指定端口的輸出寄存器的數據,返回一個八位無符號值。參數:GPIOx:端口GPIOA到GPIOI可選。示例:讀取端口A的輸出寄存器的數值。u8 r_data;r_data = GPIO_ReadOutputData(GPIOA);/-BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin);這個函數用來讀取指定端口一個或多個引腳狀態,任意一個引腳為高

15、電平側返回SET,否則返回RESET。所需条件:该端口必须配置為输入模式。參數:GPIOx:端口GPIOA到GPIOI可選。GPIO_Pin: 要讀取狀態的引腳,可以用“或”方式選擇多個引腳,可選值:GPIO_PIN_0 選擇 0 引腳GPIO_PIN_1 選擇 1 引腳GPIO_PIN_2 選擇 2 引腳GPIO_PIN_3 選擇 3 引腳GPIO_PIN_4 選擇 4 引腳GPIO_PIN_5 選擇 5 引腳GPIO_PIN_6 選擇 6 引腳GPIO_PIN_7 選擇 7 引腳GPIO_PIN_LNIB 低四位引腳選擇,即同時選擇PIN_0到PIN_3。GPIO_PIN_HNIB 高四位

16、引腳選擇,即同時選擇PIN_4到PIN_7。GPIO_PIN_ALL 選擇全部引腳,即同時選擇PIN_0到PIN_7。示例: 讀取GPIOB引腳1的電平狀態。GPIO_ReadInputPin(GPIOB, GPIO_PIN_1);/-void GPIO_ExternalPullUpConfig(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, FunctionalState NewState);這個函數用來使能或禁止指定端口某一個或多個引腳的內部上拉電阻,無返回值。參數:GPIOx:端口GPIOA到GPIOI可選。GPIO_Pin: 要使能或禁止

17、內部上拉電阻的引腳,可以用“或”方式選擇多個引腳,可選值:GPIO_PIN_0 選擇 0 引腳GPIO_PIN_1 選擇 1 引腳GPIO_PIN_2 選擇 2 引腳GPIO_PIN_3 選擇 3 引腳GPIO_PIN_4 選擇 4 引腳GPIO_PIN_5 選擇 5 引腳GPIO_PIN_6 選擇 6 引腳GPIO_PIN_7 選擇 7 引腳GPIO_PIN_LNIB 低四位引腳選擇,即同時選擇PIN_0到PIN_3。GPIO_PIN_HNIB 高四位引腳選擇,即同時選擇PIN_4到PIN_7。GPIO_PIN_ALL 選擇全部引腳,即同時選擇PIN_0到PIN_7。示例:禁止和使能端口GP

18、IOB引腳0的上拉電阻。如果該引腳原為推挽輸出,那么禁止后就變為開漏輸出。如果該引腳原來上拉輸入,那么禁止后就變為浮動輸入。如果該引腳原為開漏輸出,那么使能后就變為推挽輸出。如果該引腳原來浮動輸入,那么使能后就變為上拉輸入。(1)GPIO_ExternalPullUpConfig(GPIOB, GPIO_PIN_0, DISABLE); /禁止內部上拉電阻。(2)GPIO_ExternalPullUpConfig(GPIOB, GPIO_PIN_0, ENABLE); /使能內部上拉電阻。/-分享到:STM8库函数学习笔记之时钟管理作者:BH7KQK日期:2010.12.31相关函数:void

19、 CLK_DeInit(void);void CLK_HSECmd(FunctionalState NewState);void CLK_HSICmd(FunctionalState NewState);void CLK_LSICmd(FunctionalState NewState);void CLK_CCOCmd(FunctionalState NewState);void CLK_ClockSwitchCmd(FunctionalState NewState);void CLK_FastHaltWakeUpCmd(FunctionalState NewState);void CLK_Sl

20、owActiveHaltWakeUpCmd(FunctionalState NewState);void CLK_PeripheralClockConfig(CLK_Peripheral_TypeDef CLK_Peripheral, FunctionalState NewState);ErrorStatus CLK_ClockSwitchConfig(CLK_SwitchMode_TypeDef CLK_SwitchMode, CLK_Source_TypeDef CLK_NewClock, FunctionalStateITState, CLK_CurrentClockState_Type

21、Def CLK_CurrentClockState);void CLK_HSIPrescalerConfig(CLK_Prescaler_TypeDef HSIPrescaler);void CLK_CCOConfig(CLK_Output_TypeDef CLK_CCO);void CLK_ITConfig(CLK_IT_TypeDef CLK_IT, FunctionalState NewState);void CLK_SYSCLKConfig(CLK_Prescaler_TypeDef CLK_Prescaler);void CLK_SWIMConfig(CLK_SWIMDivider_

22、TypeDef CLK_SWIMDivider);void CLK_CANConfig(CLK_CANDivider_TypeDef CLK_CANDivider);void CLK_ClockSecuritySystemEnable(void);void CLK_SYSCLKEmergencyClear(void);void CLK_AdjustHSICalibrationValue(CLK_HSITrimValue_TypeDef CLK_HSICalibrationValue);u32 CLK_GetClockFreq(void);CLK_Source_TypeDef CLK_GetSY

23、SCLKSource(void);FlagStatus CLK_GetFlagStatus(CLK_Flag_TypeDef CLK_FLAG);ITStatus CLK_GetITStatus(CLK_IT_TypeDef CLK_IT);void CLK_ClearITPendingBit(CLK_IT_TypeDef CLK_IT);/-void CLK_DeInit(void);恢复相关的时钟寄存器到默认值参数:无返回值:无注意:当要复位CCOR寄存器时,如果CCOEN位被置位,则需要先复位CCOEN位,然后再复位CCOSEL位,复位CCOEN位和复位CCOSEL位的操作必须连续。这个

24、理解不知对不对,是根据库函数的帮助来理解的,但测试结果,无论CCOEN是否置位,调用后都能恢复CCOR寄存器。/-void CLK_HSECmd(FunctionalState NewState);启用或禁用外部高速振荡器(HSE)参数:NewState: 新的状态值DISABLE 禁用ENABLE 启用返回值:无/-void CLK_HSICmd(FunctionalState NewState);启用或禁用内部高速振荡器(HSI 16MHz)参数:NewState: 新的状态值DISABLE 禁用ENABLE 启用返回值:无/-void CLK_LSICmd(FunctionalState

25、 NewState);启用或禁用内部低速振荡器(LSI 128KHz)参数:NewState: 新的状态值DISABLE 禁用ENABLE 启用返回值:无/-void CLK_CCOCmd(FunctionalState NewState);启用或禁用可配置的时钟输出功能参数:NewState: 新的状态值DISABLE 禁用ENABLE 启用返回值:无/-void CLK_ClockSwitchCmd(FunctionalState NewState);手动启动或关闭时钟切换参数:NewState: 新的状态值DISABLE 禁用ENABLE 启用返回值:无/-void CLK_FastHaltWakeUpCmd(FunctionalState NewState);使能或禁止从停机模式(Halt)或活跃停机模式(Active Halt)中快速唤醒。停机模式(Halt):CPU和片上设备完全停止工作,定时唤醒单元AWU也停止,仅由外部中断及复位唤醒。活跃停机模式(Active Halt):保留一个定时唤醒单元AWU工作,CPU和片上设备全停止工作,AWU和外部中断及复位均可唤醒使能后内部高速振荡器(HSI)会自动打开,且作为主时钟源(fMASTER)(CKM=SWI=HSI),然后从停机模式(Halt)或活跃停机模式(Active Halt)中快速唤醒。返回值:无/-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1