当前位置: 首页 > news >正文

网上自学电脑课程/windows优化大师是电脑自带的吗

网上自学电脑课程,windows优化大师是电脑自带的吗,提供低价网站建设,全网媒体整合推广平台开发板:K210 AIRV R3版 widora 开发环境:kendryte IDE 官方的 必须的参考文档:Standalone SDK编程指南v0.5.0,以及widora的原理图 (一) 新建文件夹04my_code_keyIRQ 礼物 -> 地球 实例 搜索 gpio 选择button那个 选择develop开发版本 然后下载到刚才新建的文件夹中 安装依…

开发板:K210 AIRV R3版 widora

开发环境:kendryte IDE 官方的

必须的参考文档:Standalone SDK编程指南v0.5.0,以及widora的原理图

(一) 新建文件夹04my_code_keyIRQ

礼物 -> 地球

实例 搜索 gpio 选择button那个 选择develop开发版本 然后下载到刚才新建的文件夹中

安装依赖

清理 + 构建

环境搭建完毕  下面开始改代码

(二) 看原理图

按键为 IO19,20 ; LED为IO17,18

中断在 第六章, 第四章

有个举例 等下抄一抄就行

编写代码

先配置 KEY 和LED端口

因为要用到中断,所以要将KEY配置到GPIOHS高速端口

LED随便 用回之前的就好 也可以配置高速口

配置LED为输入端口 (低速用第五章,高速用第六章)

我这里用的低速的

因为用到低速GPIO 所以1)添加头文件 然后 2)安装依赖 再3)清理 4)构建

熄灯

设置 按键为浮空输入(高速模式才有中断,所以用高速,浮空是因为开发板有上拉电阻了,你也可以自己改为上拉输入GPIO_DM_INPUT_PULL_UP)

配置 中断触发方式

这里选择 下降沿触发(按键有上拉,平时为高电平, 当按下的时候,会被拉低 出现 1->0 即下降沿)

按键2设置为上升沿 作为对比(下面代码注释错了,falling是掉落 为下降沿的)

注册中断函数 以及绑定按键

使能中断

(三) 编写中断服务函数

KEY1中断函数

KEY2中断函数

一条龙 清理+构建+下载

没连开发板的 先刷新,选择COM口,然后再下载

效果

按住的时候没有反应,松开才执行(LED翻转),证明是上升沿(0->1)

这个按键 按下的瞬间就有反应了(LED翻转) 并且串口打印 count数值+1

 

按键学习中断完毕, 下次再见

 

代码

#include <fpioa.h>

#include <gpiohs.h>

#include <stdio.h>

#include <sysctl.h>

#include <unistd.h>

 

#include "gpio.h"

 

uint32_t g_count; //给中断1用的,也可以不用

 

int key1_zhongduan(void *ctx) {

static uint8_t flag = 0; // 注意用static保存

uint32_t *tmp = (uint32_t *)(ctx);

uint8_t val = 0;

printf("count is %d\n", (*tmp)++); //统计进来的次数

if (flag)

val = GPIO_PV_LOW;

else

val = GPIO_PV_HIGH;

 

gpio_set_pin(0, val); // LED1

flag = !flag; //下一次来中断就是翻转LED状态

return 0;

}

 

int key2_zhongduan(void) {

static uint8_t flag = 0; // 注意用static保存

uint8_t val = 0;

if (flag)

val = GPIO_PV_LOW;

else

val = GPIO_PV_HIGH;

 

gpio_set_pin(1, val); // LED2

flag = !flag; //下一次来中断就是翻转LED状态

return 0;

}

 

int main(void) {

plic_init(); // 初始化外部中断

 

fpioa_set_function(17, FUNC_GPIO0); // LED

fpioa_set_function(18, FUNC_GPIO1);

fpioa_set_function(19, FUNC_GPIOHS0); // KEY

fpioa_set_function(20, FUNC_GPIOHS1);

 

gpio_set_drive_mode(0, GPIO_DM_OUTPUT); //配置低速的LED输出

gpio_set_drive_mode(1, GPIO_DM_OUTPUT);

 

gpio_set_pin(0, GPIO_PV_LOW); // 先让两个灯熄灭

gpio_set_pin(1, GPIO_PV_LOW);

 

gpiohs_set_drive_mode(0, GPIO_DM_INPUT);

gpiohs_set_drive_mode(1, GPIO_DM_INPUT);

 

gpiohs_set_pin_edge(0, GPIO_PE_FALLING); //下降沿

gpiohs_set_pin_edge(1, GPIO_PE_RISING); //上升沿

// 参数1 按键0(绑定了IO19),参数2中断优先级,3中断回调函数,4回调函数的形参

gpiohs_irq_register(0, 1, key1_zhongduan, &g_count);

gpiohs_irq_register(1, 1, key2_zhongduan, NULL);

 

sysctl_enable_irq(); //使能系统中断,如果使用中断一定要开启系统中断

 

while (1) //等中断

;

}

 

 

http://www.lbrq.cn/news/1358461.html

相关文章:

  • 网站开发与优化课程总结/网站建设网络推广公司
  • 个人官方网站怎么建设/深圳网站优化排名
  • 西宁市公司网站建设/近期重大新闻
  • 中国十大设计公司/重庆seo团队
  • 在哪个网站上可以找兼职做/郑州做网站推广哪家好
  • 济宁网站建设多少钱/上海好的网络推广公司
  • 有哪些网站可以做设计挣钱/福建seo学校
  • 做黄金的经常看什么网站/seo培训一对一
  • 旅游网站如何做/千万不要做手游推广员
  • 苏州知名网站建设公司/搜索推广出价多少合适
  • 广州市专业做商城网站/直播营销
  • 专做hiphop的网站/搜索词
  • 做百度网站的公司哪家好/网络营销与管理
  • 北京手机网站建设/互联网推广运营是做什么的
  • 网站建设方案书格式/域名注册服务网站
  • 发优惠券网站怎么做/百度文库登录入口
  • 福田做网站的/b2b网站有哪些平台
  • 网页网站动作效果做的比较棒/国外服务器免费ip地址
  • 网站公司是做什么的/免费的黄冈网站有哪些
  • 做办公设备网站/商丘seo教程
  • 字形分析网站/百度推广培训
  • 禁用软件app大全/福州关键词排名优化
  • 纯ajax网站如何做seo/百度小说官网
  • 自己做游戏网站学什么/今天的新闻
  • 多语种网站制作/学it什么培训机构好
  • 千图app的优势/长沙seo网络优化
  • 个体工商户能够做经营性网站吗/站长工具seo排名
  • 住房和城市建设部网站/百度seo排名优化软件
  • 榆林电商网站建设/上海网络推广培训机构
  • 个人网站建设方法和过程/暴疯团队seo课程
  • HTML 如何转 Markdown
  • 【Linux系统】进程间通信:基于匿名管道实现进程池
  • (论文速读)Text-IF:基于语义文本引导的退化感知交互式图像融合方法
  • 【项目实践】在系统接入天气api,根据当前天气提醒,做好plan
  • Solidity智能合约开发全攻略
  • 吴恩达【prompt提示词工程】学习笔记