收藏 分享(赏)

STM8 IO库函数的运用.docx

上传人:gnk289057 文档编号:7219194 上传时间:2019-05-10 格式:DOCX 页数:6 大小:21.77KB
下载 相关 举报
STM8 IO库函数的运用.docx_第1页
第1页 / 共6页
STM8 IO库函数的运用.docx_第2页
第2页 / 共6页
STM8 IO库函数的运用.docx_第3页
第3页 / 共6页
STM8 IO库函数的运用.docx_第4页
第4页 / 共6页
STM8 IO库函数的运用.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、STM8 庫函數學習筆記之 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_WriteHigh(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);void GP

2、IO_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_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin);void G

3、PIO_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 的相應寄存器為默認值GPIO_DeInit(GPIOB);/-void GPIO_Init(GPIO_TypeDef*

4、 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 引腳GPIO_PIN_5 選擇 5 引腳GPIO_PIN_6 選擇 6 引腳GPIO_PIN_7 選擇 7 引

5、腳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_IT 帶中斷功能的上拉輸入。GPIO_MODE_OUT_OD_LOW_FAST 高速開漏

6、低電平輸出,可工作到 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_OUT_OD_HIZ_SLOW 低速開漏高阻態輸出,可工作到 2MHz。GPI

7、O_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:端口 GPIOA 到 GPIOI 可選。PortVal:為無符

8、號 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_PIN_2 選擇 2 引腳GPIO_P

9、IN_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_Write

10、Low(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 引

11、腳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_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 低四位引

13、腳選擇,即同時選擇 PIN_0 到 PIN_3。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 到 GP

14、IOI 可選。示例:讀取端口 A 的數值。u8 r_data;r_data = GPIO_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_

15、TypeDef GPIO_Pin);這個函數用來讀取指定端口一個或多個引腳狀態,任意一個引腳為高電平側返回 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 引腳GP

16、IO_PIN_LNIB 低四位引腳選擇,即同時選擇 PIN_0 到 PIN_3。GPIO_PIN_HNIB 高四位引腳選擇,即同時選擇 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);這個函數用來使能或禁

17、止指定端口某一個或多個引腳的內部上拉電阻,無返回值。參數: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

18、高四位引腳選擇,即同時選擇 PIN_4 到 PIN_7。GPIO_PIN_ALL 選擇全部引腳,即同時選擇 PIN_0 到 PIN_7。示例:禁止和使能端口 GPIOB 引腳 0 的上拉電阻。如果該引腳原為推挽輸出,那么禁止后就變為開漏輸出。如果該引腳原來上拉輸入,那么禁止后就變為浮動輸入。如果該引腳原為開漏輸出,那么使能后就變為推挽輸出。如果該引腳原來浮動輸入,那么使能后就變為上拉輸入。(1)GPIO_ExternalPullUpConfig(GPIOB, GPIO_PIN_0, DISABLE); /禁止內部上拉電阻。(2)GPIO_ExternalPullUpConfig(GPIOB, GPIO_PIN_0, ENABLE); /使能內部上拉電阻。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报