目录

  • 硬知识
    • IO口初始化函数
  • 测试
    • main.c
    • 实验现象

STC实验箱4
IAP15W4K58S4
Keil uVision V5.29.0.0
PK51 Prof.Developers Kit Version:9.60.0.0


硬知识

摘自《STC库函数使用参考》

IO口初始化函数

GPIO_Inilize

GPIO_InitTypeDef的定义见于文件"GPIO.H"。

typedef struct
{u8 Mode;u8 Pin;        //要设置的端口
}GPIO_InitTypeDef;

Mode:配置IO的模式,取值见下表:

Pin:要配置的某一个回多个IO,取值见下表:

以上参数可以使用或运算,比如:

GPIO_InitStructure.Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_7;

测试

main.c

P1.7、P1.6、P4.7、P4.6流水灯,P3.2、P3.3按键改变方向。

#include "./Drivers/config.h"
#include "./Drivers/delay.h"#include "./Drivers/GPIO.h"void GPIO_config(void)
{GPIO_InitTypeDef GPIO_InitStructure;                   //结构定义GPIO_InitStructure.Mode = GPIO_OUT_PP;                   //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PPGPIO_InitStructure.Pin  = GPIO_Pin_6 | GPIO_Pin_7;        //指定要初始化的IO, 或操作GPIO_Inilize(GPIO_P1,&GPIO_InitStructure);              //P1.6、P1.7初始化为推挽输出GPIO_Inilize(GPIO_P4,&GPIO_InitStructure);               //P4.6、P4.7初始化为推挽输出GPIO_InitStructure.Pin  = GPIO_Pin_2 | GPIO_Pin_3;      //指定要初始化的IO, 或操作GPIO_InitStructure.Mode = GPIO_PullUp;                 //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PPGPIO_Inilize(GPIO_P3,&GPIO_InitStructure);             //P3.2、P3.3初始化为上拉输入P32 = 1;P33 = 1;
}void main(void)
{u8 Dir_Flag = 0;u8 LED_Port = 0;u8 i = 0;GPIO_config();while(1){if (P32 == 0){delay_ms(20);if (P32 == 0){Dir_Flag = 0;}while (P32 == 0);}if (P33 == 0){delay_ms(20);if (P33 == 0){Dir_Flag = 1;}while (P33 == 0);}if (Dir_Flag){LED_Port >>= 1;if ((LED_Port & 0x0f) == 0x00)LED_Port = 0x08;}else{LED_Port <<= 1;if ((LED_Port & 0x0f) == 0x00)LED_Port = 0x01;}P17 = (((~LED_Port) & 0x01) != 0);P16 = (((~LED_Port) & 0x02) != 0);P47 = (((~LED_Port) & 0x04) != 0);P46 = (((~LED_Port) & 0x08) != 0);i = 25;while (P32 && P33 && i--)delay_ms(20);}
}

实验现象

【STC15库函数上手笔记】2、GPIO相关推荐

  1. 【STC15库函数上手笔记】10、EEPROM

    目录 硬件知识 基本介绍 软件知识 EEPROM多字节读函数 EEPROM多字节写函数 EEPROM扇区擦除函数函数 测试 main.c 实验现象 STC实验箱4 IAP15W4K58S4 Keil ...

  2. 【STC15库函数上手笔记】9、硬件SPI

    目录 硬件知识 库函数 spi.c spi.h 测试 main.c 实验现象 STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Develop ...

  3. 【STC15库函数上手笔记】7、PCA与PWM

    目录 硬知识 硬件知识 CCP/PWM/PCA模块的结构 软件知识 PCA初始化函数 PWM更新占空比函数 测试程序 PWM模式产生PWM信号 main.c 实验现象 16位软件定时器模式模式产生PW ...

  4. 【STC15库函数上手笔记】8、比较器

    目录 库函数 compare.c compare.h STC15Fxxxx.H 测试程序 main.c STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 ...

  5. 【STC15库函数上手笔记】5、定时器

    目录 硬知识 定时器初始化函数 测试 基本功能测试 main.c 中断服务函数 实验现象 模拟PWM信号 main.c 实验现象 STC实验箱4 IAP15W4K58S4 Keil uVision V ...

  6. 【STC15库函数上手笔记】3、外部中断

    目录 硬知识 外中断初始化函数 测试 main.c Exti.c STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Ki ...

  7. 【STC15库函数上手笔记】1、建立工程

    目录 新建工程 添加文件到工程中 main.c 时钟 STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Vers ...

  8. 【STC15库函数上手笔记】6、ADC

    目录 硬知识 ADC初始化函数 ADC电源控制函数 ADC查询转换函数 测试 main.c 实验现象 STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 ...

  9. 【STC15库函数上手笔记】4、USART串口

    目录 硬知识 串口初始化函数 串口1写缓冲函数 串口2写缓冲函数 串口1写数据块函数 串口2写数据块函数 模拟串口字节发送函数 模拟串口写数据块函数 测试 硬件串口 模拟串口 soft_uart.c ...

最新文章

  1. 使用OpenCV为视频中美女加上眼线
  2. python语言的理念_python之禅--理念
  3. WPF TreeView HierarchicalDataTemplate
  4. 运维人员的补丁盛宴 四月修复微软Adobe漏洞合计过百!
  5. StackExchange.Redis通用封装类分享(转)
  6. 电大计算机应用基础试卷号2007,电大计算机应用基础(试卷版)计算机试卷7.doc...
  7. 10. VMware Tools 安裝
  8. linux下asm磁盘查看,ASM磁盘空间的查看
  9. Xcode 12 引用缺失包:libstdc++.tbd libstdc++.6.tbd libstdc++.6.0.9.tbd 等
  10. grep awk sed 练习题
  11. 对《Java编程思想》读者的一点建议
  12. JS 实现小游戏 打砖块
  13. phpcms php5.5,phpcms_v9.5.8_GBK源码下载
  14. 域用户如何更改计算机名,加入域后的计算机,怎么改计算机名?
  15. 大数据多租户的概念_大数据平台 多租户
  16. python3.4勾股定理代码_用于解答算法题目的Python3代码框架
  17. 时隔一年才发现嵌入式到底指的是什么
  18. erron变量、strerror函数 和 perror 函数
  19. 关于服务器被入侵+植入病毒木马
  20. 用‘+‘替换字符串中的所有空格[复制]

热门文章

  1. spring-test的简单实用方式
  2. ny12 喷水装置(二)
  3. spotify歌曲下载_使用Spotify数据预测哪些“ Novidades da semana”歌曲会成为热门歌曲
  4. leetcode面试题 16.26. 计算器(栈)
  5. 前端开发有哪些技术栈要掌握_为什么要掌握前端开发的这四个主要概念
  6. 软件测试测试用例编写_不要先编写所有软件测试-只需编写一个
  7. vuex构建vue项目_如何使用Vue.js,Vuex,Vuetify和Firebase构建单页应用程序
  8. 神秘的数组初始化_图像识别神秘化
  9. 爬虫结果数据完整性校验
  10. Linux虚拟机安装应用程序提示Graphical installers are not supported by the vm