GPIOLED配置、key、中断NVIC配置
- #include "stm32f10x.h"
- #include "stm32f10x_gpio.h"
- //内核,(NVIC)
- #include "misc.h"
- //点亮红色灯 PB5
- //step1:使能
- Rcc_APB2PeriPhClockCmd(
- Rcc_APB2PeriPh_GPIOB,ENABLE);
- //step2:定义GPIO初始化结构体变量
- GPIO_InitTypeDef a;
- a.GPIO_Speed = GPIO_Speed_50MHz;
- a.GPIO_Pin = GPIO_Pin_5;
- //推挽输出
- a.GPIO_Mode = GPIO_Mode_OUT_PP;
- //step3:调用GPIO初始化函数
- GPIO_Init(GPIOB,&a);
- //step4:设置PB5为低电平
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- //读取引脚的电平
- int i = GPIO_ReadDataInputBit(
- GPIOB,GPIO_Pin_5);
- /*按键初始化*/
- Rcc_APB2PeriPhClockCmd(
- Rcc_APB2PeriPh_GPIOA,ENABLE);
- //step2:定义GPIO初始化结构体变量
- GPIO_InitTypeDef a;
- a.GPIO_Speed = GPIO_Speed_50MHz;
- a.GPIO_Pin = GPIO_Pin_0;
- //浮空输入
- a.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- //step3:调用GPIO初始化函数
- GPIO_Init(GPIOA,&a);
- /*循环读取按键 PA0*/
- while(){
- int i = GPIO_ReadDataInputBit(
- GPIOB,GPIO_Pin_5);
- if(i == ){
- //按键按下,点亮LED
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- }else{
- //松开,熄灭灯
- GPIO_SetBits(GPIOB,GPIO_Pin_5);
- }
- }
- while(){
- if(GPIO_ReadDataInputBit(
- GPIOA,GPIO_Pin_0) == ){
- //按键按下进入这里执行
- if(GPIO_ReadDataInputBit(
- GPIOB,GPIO_Pin_5) == ){
- //每按一次,灯的状态反转
- GPIO_SetBits(GPIOB,GPIO_Pin_5);
- }else{
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- }
- }
- }
- /*NVIC*/
- //step1:优先级分组
- NVIC_PriorityGroupConfig(
- NVIC_PriorityGroup_1;
- );
- //step2:NVIC初始化结构体
- NVIC_InitTypeDef b;
- //中断源
- b.NVIC_IRQChannel = EXTI0_IRQn;
- //抢占优先级
- b.NVIC_IRQChannelPreemptionPriority = ;
- //子优先级
- b.NVIC_IRQChannelSubPriority = ;
- //使能
- b.NVIC_IRQChannelCmd = ENABLE;
- //step3:NVIC初始化函数
- NVIC_Init(&b);
- //中断处理函数
- void 中断名_IRQHandler(){
- }
- void EXTI0_IRQHandler(){
- }
- #include "stm32f10x.h"
- #include "stm32f10x_gpio.h"
- #include "stm32f10x_exti.h"
- //内核,(NVIC)
- #include "misc.h"
- //点亮红色灯 PB5
- //step1:使能
- Rcc_APB2PeriPhClockCmd(
- Rcc_APB2PeriPh_GPIOB,ENABLE);
- //step2:定义GPIO初始化结构体变量
- GPIO_InitTypeDef a;
- a.GPIO_Speed = GPIO_Speed_50MHz;
- a.GPIO_Pin = GPIO_Pin_5;
- //推挽输出
- a.GPIO_Mode = GPIO_Mode_OUT_PP;
- //step3:调用GPIO初始化函数
- GPIO_Init(GPIOB,&a);
- //step4:设置PB5为低电平
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- //读取引脚的电平
- int i = GPIO_ReadDataInputBit(
- GPIOB,GPIO_Pin_5);
- /*按键初始化*/
- Rcc_APB2PeriPhClockCmd(
- Rcc_APB2PeriPh_GPIOA,ENABLE);
- //step2:定义GPIO初始化结构体变量
- GPIO_InitTypeDef a;
- a.GPIO_Speed = GPIO_Speed_50MHz;
- a.GPIO_Pin = GPIO_Pin_0;
- //浮空输入
- a.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- //step3:调用GPIO初始化函数
- GPIO_Init(GPIOA,&a);
- /*循环读取按键 PA0*/
- while(){
- int i = GPIO_ReadDataInputBit(
- GPIOB,GPIO_Pin_5);
- if(i == ){
- //按键按下,点亮LED
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- }else{
- //松开,熄灭灯
- GPIO_SetBits(GPIOB,GPIO_Pin_5);
- }
- }
- while(){
- if(GPIO_ReadDataInputBit(
- GPIOA,GPIO_Pin_0) == ){
- //按键按下进入这里执行
- if(GPIO_ReadDataInputBit(
- GPIOB,GPIO_Pin_5) == ){
- //每按一次,灯的状态反转
- GPIO_SetBits(GPIOB,GPIO_Pin_5);
- }else{
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- }
- }
- }
- /*NVIC*/
- //step1:优先级分组
- NVIC_PriorityGroupConfig(
- NVIC_PriorityGroup_1;
- );
- //step2:NVIC初始化结构体
- NVIC_InitTypeDef b;
- //中断源
- b.NVIC_IRQChannel = EXTI0_IRQn;
- //抢占优先级
- b.NVIC_IRQChannelPreemptionPriority = ;
- //子优先级
- b.NVIC_IRQChannelSubPriority = ;
- //使能
- b.NVIC_IRQChannelCmd = ENABLE;
- //step3:NVIC初始化函数
- NVIC_Init(&b);
- //中断处理函数
- void 中断名_IRQHandler(){
- }
- void EXTI0_IRQHandler(){
- }
- /*外部中断配置*/
- //外部中断结构体
- EXTI_InitTypeDef c;
- c.EXTI_Line = EXTI_Line0;
- c.EXTI_Mode = EXTI_Mode_Interrupt;
- c.EXTI_Trigger = EXTI_Trigger_Rising;
- c.EXTI_LineCmd = ENABLE;
- //外部中断初始化函数
- EXTI_Init(&c);
- //配置外部中断的触发引脚
- GPIO_EXTILineConfig(
- GPIOPortSourceGPIOC,GPIOPinSourcePin0
- );
- Rcc_APB2PeriPhClockCmd(
- Rcc_APB2PeriPh_GPIOC,ENABLE);
- GPIO_InitTypeDef a;
- a.GPIO_Speed = GPIO_Speed_50MHz;
- a.GPIO_Pin = GPIO_Pin_0;
- //浮空输入
- a.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- GPIO_Init(GPIOC,&a);
- void EXTI0_IRQHandler(){
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- 手动把中断标志位清零
- EXTI_ClearITPendingBit(EXTI_Line0);
- }
GPIOLED配置、key、中断NVIC配置的更多相关文章
- STM32 NVIC配置详解
例程: /* Configure one bit for preemption priority */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1) ...
- NVIC配置中的分组详解
在配置优先级的时候,要注意一个很重要的问题,中断种类的数量. NVIC只可以配置 16 种 中断向量的优先级,也就是说,抢占优先级和响应优先 级的数量由一个 4 位的数字来决定, 把这个 4 位数字的 ...
- Stm32CubeMX5 配置 外部中断
实验使用连接PA8引脚的按键触发中断,外部中断使用双边沿触发,这样就可以检测按键按下与松开,当按键按下时点亮LED, 当按键松开是关闭LED,在中断服务函数中只置位相应的标志,在main函数中具体处理 ...
- 在线配置热加载配置 go-kratos.dev 监听key
paladin https://v1.go-kratos.dev/#/config-paladin example Service(在线配置热加载配置) # service.go type Servi ...
- .NET Core采用的全新配置系统[1]: 读取配置数据
提到“配置”二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置定义在这两个文 ...
- .NET Core采用的全新配置系统[7]: 将配置保存在数据库中
我们在<聊聊默认支持的各种配置源>和<深入了解三种针对文件(JSON.XML与INI)的配置源>对配置模型中默认提供的各种ConfigurationSource进行了深入详尽的 ...
- 两种交换机配置模式,以配置基于端口划分的VLAN为例
关于交换机的配置模式,大体上可以分为两类:其一以CISCO交换机为代表的配置模式,其二以Huawei.H3C交换机为代表的配置模式.其实这两种配置模式并没有本质的不同,只是配置的命令名称和配置方式存在 ...
- apache 虚拟主机详细配置:http.conf配置详解
apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(三):配置ActiveXForm运行环境
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
随机推荐
- 爬虫(猫眼电影+校花网+github+今日头条+拉钩)
Requests+正则表达式爬取猫眼TOP100榜电影信息 MARK:将信息写入文件解决乱码方法,开启进程池秒爬. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- Python迷宫游戏(基础版)
# 画地图map_data = [ [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 1, 1, 1, 1, 1], [1, 2, 1, 0, 0, 0, ...
- 处理json大文件
import json import pymysql # 读取review数据,并写入数据库 # 导入数据库成功,总共4736897条记录 def prem(db): cursor = db.curs ...
- Update openssh7.9 on centos6
一.制作RPM安装包1)依赖安装yum install rpm-build gcc make wget openssl-devel krb5-devel pam-devel libX11-devel ...
- Git reset与checkout的区别
reset: 将暂存区的文件回撤到工作区,文件内容不会有任何变化 checkout: 将工作区文件恢复到上一次commit时的内容,将会丢失修改了但未加入暂存区的内容
- es6 2017
http://es6.ruanyifeng.com/ 18.async 20.Decorator 属于ES2017, nodejs 未实现 21.Module 中的 import export n ...
- .NET轻量级任务管理类
概述 最近做项目总是遇到服务跑批等需求,一直想写个任务管理的DLL,现在整理了一下思路,编写了一个DLL类库,使用方便.只要调用的子类继承服务基类便可以实现任务的整体调度.先看看页面效果: 使用方式 ...
- Linux read line
cat ./port_list|while read linedo done
- jquery对form表单复杂(多个)条件的判断验证
//按钮先执行验证再提交表 $(document).ready(function(){ // 点击查看图片 $('.nyroModal').nyroModal(); //按钮先执行验证再提交表单 $( ...
- 数据库构架设计中的Shared Everthting、Shared Nothing、和Shared Disk
Shared Everthting:一般是针对单个主机,完全透明共享CPU/MEMORY/IO,并行处理能力是最差的,典型的代表SQLServer Shared Disk:各个处理单元使用自己的私有 ...