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

wordpress字体选择网络优化需要哪些知识

wordpress字体选择,网络优化需要哪些知识,DW自动生成代码做网站,wordpress做网站过程从这里开始外设驱动介绍,这里使用的IMX8的芯片作为驱动介绍 开发流程: 修改设备树,配置 GPIO1_IO07 为 GPIO 输出。使用 sysfs 接口或编写驱动程序控制 GPIO 引脚。编译并测试。 这里假设设备树,已经配置好了。不在论述这个问题…

从这里开始外设驱动介绍,这里使用的IMX8的芯片作为驱动介绍

开发流程:

  1. 修改设备树,配置 GPIO1_IO07 为 GPIO 输出。
  2. 使用 sysfs 接口或编写驱动程序控制 GPIO 引脚。
  3. 编译并测试。

这里假设设备树,已经配置好了。不在论述这个问题,设备树的问题。会其它地方单独来说,这里说明如何编写驱动程序。

应用1 IO口输出

1.1 硬件介绍

LED 是英文 Light Emitting Diode 的缩写,译为发光二极管。是由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。发光二极管是半导体二极管中的一种,可以把电能转换成光能,与普通二极管一样具有单向导电性。LED 灯应用:例如开关指示灯、LED 广告牌、LED 显示屏、LED 车灯、红路灯等。

平台有 4 个 LED 灯,每个 LED 接一个 IO 引脚,通过控制 IO 的高低来控制灯的亮灭。

在这里插入图片描述
对应四个IO口:
GPIO1_IO07 D7
GPIO1_IO08 D8
GPIO5_IO03 D9
GPIO1_IO01 D10

2 引脚编号介绍

2.1 GPIO口分布

这个是IMX8 的芯片的引脚分布,可以看到引脚编号从GPIO1~GPIO5,每组GPIO的有20到32 个引脚,具体要看芯片的介绍。
在这里插入图片描述

2.2 IMX8 内核, 获取引脚号

查看引脚的编号:

cat /sys/kernel/debug/gpio
在这里插入图片描述
这里看出四个引脚的对应的编号: 计算公式global_gpio_number = (GPIO控制器号 - 1) * 32 + 引脚号

GPIO1_IO07 D7 对应GPIO0 编号= 0+7=7
GPIO1_IO08 D8 对应GPIO0 编号= 0+8=8
GPIO5_IO03 D9 对应GPIO4 编号= 128+7=135
GPIO1_IO01 D10 对应GPIO0 编号= 0+1=1

3 驱动程序编写

3.1 sysfs 控制 GPIO口

导出该引脚

echo 7 > /sys/class/gpio/export

设置方向为输出

echo out > /sys/class/gpio/gpio7/direction

设置输出电平

echo 1 > /sys/class/gpio/gpio7/valueecho 0 > /sys/class/gpio/gpio7/value

清理

echo 7 > /sys/class/gpio/unexport

3.2 使用 GPIO 子系统 API 编写内核驱动

对应linux的驱动代码

int gpio_request(unsigned gpio, const char *label);
void gpio_free(unsigned gpio);
int gpio_direction_input(unsigned gpio);
int gpio_direction_output(unsigned gpio, int value);
int gpio_get_value(unsigned gpio);
void gpio_set_value(unsigned gpio, int value);

3.2.1 驱动代码

需要开发包含头文件

#include <linux/gpio.h>
#include <linux/of_gpio.h>
#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/gpio.h>
#include <linux/module.h>
#include <linux/kernel.h>#define MY_GPIO_PIN 7  // 使用 GPIO 编号 24static int __init my_gpio_init(void)
{int ret;// 请求 GPIOret = gpio_request(MY_GPIO_PIN, "my_gpio");if (ret) {pr_err("Failed to request GPIO %d, error %d\n", MY_GPIO_PIN, ret);return ret;}// 设置 GPIO 为输出,并设置初始值为高gpio_direction_output(MY_GPIO_PIN, 1);pr_info("GPIO %d set as output with initial value 1\n", MY_GPIO_PIN);// 设置 GPIO 为低电平gpio_set_value(MY_GPIO_PIN, 0);pr_info("GPIO %d set to 0\n", MY_GPIO_PIN);return 0;
}static void __exit my_gpio_exit(void)
{// 释放 GPIOgpio_free(MY_GPIO_PIN);pr_info("GPIO %d freed\n", MY_GPIO_PIN);
}module_init(my_gpio_init);
module_exit(my_gpio_exit);MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("Simple GPIO Driver Example");

3.2.2 编译编译文件

obj-m := my_gpio_driver.oKDIR := /lib/modules/$(shell uname -r)/buildall:make -C $(KDIR) M=$(PWD) modulesclean:make -C $(KDIR) M=$(PWD) clean

3.2.3 加载驱动模块

加载驱动到内核库中

sudo insmod my_gpio_driver.ko

检查日记,验证是否成功

dmesg

3.2.4 卸载驱动模块

sudo rmmod my_gpio_driver

3.2.5 总结

总结

  1. 编写驱动代码:使用 gpio_request() 请求 GPIO,并通过方向设置和读写操作控制 GPIO。
  2. 编译驱动模块:使用 make 和 Makefile 将驱动编译成 .ko 内核模块。 加载模块:通过 insmod 加载驱动,使用 dmesg 检查加载日志。
  3. 测试 GPIO 驱动:通过硬件验证 GPIO 的输入或输出功能。 卸载驱动:通过 rmmod 卸载模块,并释放 GPIO。
  4. 用户空间操作 GPIO:通过 sysfs 接口在用户空间控制 GPIO。

4 应用代码编写

实现流水灯效果

int main(int argc ,char* argv[])
{int fd;fd = open("/dev/ledtest", O_RDWR, 0777);//打开模块设备文件if(fd < 0){								 //打开失败printf("open device error\n");return -1;}while(1){ioctl(fd, 1, 0);//调用ioctl命令,第一参数是灯开,第二个参数是第几个灯sleep(1);ioctl(fd, 1, 1);sleep(1);ioctl(fd, 1, 2);sleep(1);ioctl(fd, 1, 3);sleep(1);ioctl(fd, 0, 0);//调用ioctl命令,第一参数是灯关,第二个参数是第几个灯sleep(1);ioctl(fd, 0, 1);sleep(1);ioctl(fd, 0, 2);sleep(1);ioctl(fd, 0, 3);sleep(1);	}
}
http://www.yidumall.com/news/37749.html

相关文章:

  • 山西省网站建设制作百度一下你就知道官网百度
  • 电商网站设计流程图郑州百度推广公司电话
  • 建设银行E路航如何自动进入网站开发网站用什么软件
  • 动漫电影做英语教学视频网站有哪些郑州网站seo公司
  • 网页制作与网站建设设计价格网店运营怎么学
  • wordpress 3.7.1 下载优化网站的目的
  • 公司网站介绍范文如何进行品牌宣传与推广
  • 做外贸找工厂货源网站seo快排软件
  • php红色酒类食品企业网站源码网络营销的方式
  • php wordpress 目录seo优化培训机构
  • 百度网站 收录html网页制作代码
  • 学校网站建设的安全策略海阳seo排名
  • app电商网站东莞寮步最新通知
  • 想找人做网站怎么了解seo范畴有哪些
  • 网站建设网站多少钱网络视频营销策略有哪些
  • ps如何做网站超级链接抖音seo优化系统招商
  • 网站开发和软件淘宝店铺推广方式有哪些
  • oppo软件商店官网下载seo的内容怎么优化
  • 网站版面在线设计seo单词优化
  • 公众号做电影网站赚钱软文范例大全100字
  • 整站优化包年免费html网页模板
  • 网站开发面试内容网络营销的优势有哪些
  • 网站制作要钱吗友链查询站长工具
  • 网站域名301重定向做推广的技巧
  • 重庆江北网站建设公司seo的主要工作是什么
  • 酒店网站建设方案书网页设计是干嘛的
  • 如何做防水网站深圳推广公司哪家正规
  • 深圳网站建设公司推荐怎么自己建立网站
  • 厦门成交型网站建设公司企业网站建设门户
  • 在自己网站做支付可以吗现在最火的推广平台有哪些