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

python可以做网站哪些网站可以seo

python可以做网站,哪些网站可以seo,学做网站用到哪些知识,WordPress即时群聊先介绍个东西 ctags 这个工具可以像keil一样在工程里查找跳转,帮我们找到我们想要的东西。 安装教程可以找到,这里只讲怎么用。 在工程目录(包含所有你会用到的头文件等)下,先加载这个命令,可能要等待…

先介绍个东西   ctags

这个工具可以像keil一样在工程里查找跳转,帮我们找到我们想要的东西。

安装教程可以找到,这里只讲怎么用。

在工程目录(包含所有你会用到的头文件等)下,先加载这个命令,可能要等待一会

然后在我们写代码过程中,比如下面

以按键中断为例

按键K1中断源为EINT8

与裸机不同,操作系统下,很多东西别人已经写好了

我们在用到中断时

直接CTRL  +  ]   就会帮你搜索跳转到所要查找的文件里。CRTL  +  O回跳。我们也可以通过这个方式找到头文件。

回到中断

在操作系统中,我们不需要用很多的寄存器去配置中断。我们只需要按步骤配置就行了

1.注册中断  request_irq

参数:

        irq:中断号,就是我们上面第一张图所显示的,这里是K1的EINT8

        handler:中断回调函数,懂的都懂

        flags:中断行为、触发方式

下降沿触发

关闭其他中断(后面要用其他中断需要开启)

后面两个参数就是中断的名字和我们给回调函数传的参数,不在赘述。

回调函数

read函数

当我们调用read函数时,会进入wake_event阻塞。然后按键产生的中断会唤醒。

这里用的wake_even_interruptible而不用wake_event,如果是wake_event,在进入底层后,程序调度无法影响到它

用wake_even_interruptible这个卡死就可以被中断,也可以用wake_even_timeout,设置超时时间,当时间到了还在之前的地方就会被强制打断,上图红字所示 。

所以整个程序,中断前卡死在read那里,按一下按键就执行一次回调函数。

代码:

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/module.h>
#include <linux/kdev_t.h>
#include <asm/string.h>
#include <asm/io.h>
#include <linux/interrupt.h>
#include <linux/irqreturn.h>
#include <mach/irqs.h>
#include <linux/wait.h>
#include <linux/sched.h>#define MAJOR_NUM 247
#define MINOR_NUM 0
#define DEV_NAME "eint8_key"
static wait_queue_head_t wq;
static int condition = 0;irqreturn_t eint8_handler(int irq, void *arg)
{condition = 1;wake_up_interruptible(&wq);printk("irq = %d    arg = %d\n", irq, *(int *)arg);return IRQ_HANDLED;
}static int open(struct inode *node, struct file *file)
{printk("kernrl open \n");return 0;
}static int read(struct file *file, char __user *buf, size_t len, loff_t *loff)
{condition = 0;wait_event_interruptible(wq, condition);printk("kernrl read \n");return 0;
}static int write(struct file *file, const char __user *buf, size_t len, loff_t *loff)
{printk("kernrl write \n");return 0;
}static int close(struct inode *node, struct file *file)
{printk("kernrl close \n");return 0;
}static dev_t dev_num;
static struct file_operations fops =
{.owner = THIS_MODULE,.open = open,.read = read,.write = write,.release = close
};
static struct cdev dev;
static unsigned int args = 100;static int __init exit_key_init(void)
{int ret = 0;dev_num = MKDEV(MAJOR_NUM, MINOR_NUM);ret = cdev_add(&dev, dev_num, 1);if(ret < 0)goto err_add_failed;cdev_init(&dev, &fops);ret = register_chrdev_region(dev_num, 1, DEV_NAME);if(ret < 0)goto err2_register_failed;ret = request_irq(IRQ_EINT8, eint8_handler, IRQF_TRIGGER_FALLING | IRQF_DISABLED, "exit_key", &args);if(ret < 0)goto err_request_irq_failed;printk("eint8_key_init       /\n");return 0;err_add_failed:printk("cdev_add failed\n");cdev_del(&dev);return ret;err2_register_failed:printk("register_chrdev_region failed\n");unregister_chrdev_region(dev_num, 1);cdev_del(&dev);return ret;err_request_irq_failed:printk("err_request_irq failed\n");disable_irq(IRQ_EINT8);free_irq(IRQ_EINT8, &args);unregister_chrdev_region(dev_num, 1);cdev_del(&dev);return ret;}static void __exit key_exit(void)
{disable_irq(IRQ_EINT8);free_irq(IRQ_EINT8, &args);unregister_chrdev_region(dev_num, 1);cdev_del(&dev);printk("led_exit ....\n");
}module_init(exit_key_init);
module_exit(key_exit);

http://www.mmbaike.com/news/66452.html

相关文章:

  • 学做网站的步骤餐饮营销手段13种手段
  • 无锡哪家公司做网站谷歌搜索网页版入口
  • 微信怎么做网站推广天津网站建设公司
  • 常熟祥云平台网站建设关键词搜索工具
  • 策划公司主要做什么关键词排名优化怎么做
  • 做图片带字的网站腾讯云1元域名
  • 做微信支付的网站多少钱seo搜索引擎优化业务
  • 可以在哪些网站做翻译兼职百度搜索热度
  • 衡水哪里可以做网站自助建站系统破解版
  • 怎么做自己的淘宝客推广网站网络推广的工作内容
  • 家具网站建设seo网络营销是什么意思
  • 网站建站好处行者seo无敌
  • 微信公众平台运营成都seo推广员
  • 矿业公司网站源码新媒体运营培训课程
  • 网站建设客户开发方法seo关键词推广案例
  • 做网站如何屏蔽中国的ip网页开发流程
  • 新安网站建设苏州关键词排名提升
  • 做网站不能有中文字符seo关键词排名优化工具
  • 成都网站制作长沙2023b站免费推广入口游戏
  • 建模素材免费网站制作网站平台
  • 网站按钮特效百度热线客服24小时
  • 做网站必备语言客户资源买卖平台
  • 做网站卖什么东西好什么叫优化关键词
  • 做建材加盟什么网站好网站模板建站公司
  • 做京东网站采购的工作内容网站友情链接的好处
  • 做网站切片seo推广怎么做
  • 网站免费空间哪里申请天津百度快速优化排名
  • WordPress最强网站伊春seo
  • 织梦网站换空间百度流量
  • 延边有没有做网站的如何在网上推广自己的产品