织梦网站图片怎么修改不了cms网站下载

bicheng/2026/1/26 17:36:37/文章来源:
织梦网站图片怎么修改不了,cms网站下载,专业整站优化,西安宝马建设科技股份有限公司网站理论部分#xff1a; 编写思路#xff1a; GPIO 的地位跟其他模块#xff0c;比如 I2C 、 UART 的地方是一样的#xff0c;要使用某个引脚#xff0c;需要先把引脚配置为 GPIO 功能#xff0c;这要使用 Pinctrl 子系统#xff0c;只需要在设备 树里指定就可以。在…理论部分 编写思路 GPIO 的地位跟其他模块比如 I2C 、 UART 的地方是一样的要使用某个引脚需要先把引脚配置为 GPIO 功能这要使用 Pinctrl 子系统只需要在设备 树里指定就可以。在驱动代码上不需要我们做任何事情。 GPIO 本身需要确定引脚这也需要在设备树里指定。 设备树节点会被内核转换为 platform_device 。 对应的驱动代码中要注册一个 platform_driver 在 probe 函数中获得引脚、注册 file_operations。在 file_operations 中设置方向、读值 / 写值。 在设备树中添加 Pinctrl 信息 有些芯片提供了设备树生成工具在 GUI 界面中选择引脚功能和配置信息 就可以自动生成 Pinctrl 子结点。把它复制到你的设备树文件中再在 client device 结点中引用就可以。 有 些 芯 片 只 提 供 文 档 那 就 去 阅 读 文 档 一 般 在 内 核 源 码 目 录 Documentation\devicetree\bindings\pinctrl 下面保存有该厂家的文档。 如果连文档都没有那只能参考内核源码中的设备树文件在内核源码目录 arch/arm/boot/dts 目录下。 Pinctrl 子节点的样式如下 在设备树中添加 GPIO 信息 先查看电路原理图确定所用引脚再在设备树中指定添加 ”[name]-gpios” 属性指定使用的是哪一个 GPIO Controller 里的哪一个引脚还有其他 Flag 信息比如 GPIO_ACTIVE_LOW 等。具体需要多少个 cell 来描述一个引脚需要查看设备树中这个 GPIO Controller 节点里的“ #gpio-cells ”属性值也 可以查看内核文档。 在驱动代码中调用 GPIO 子系统函数访问设备的gpio 实践部分 创建pinctl sever节点  修改imx6ull-myboard.dts利用节点生成工具配置引脚后将生成的对应代码片段替换到dts文件内对应位置节点内容如下 pinctrl_gpioled: ledgrp{fsl,pins MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x10b0; }; MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 表示将该io复用为GPIO0x10b0 表示对PAD寄存器的配置值具体含义为如下 /*寄存器SW_PAD_SNVS_TAMPER3设置IO属性*bit 16:0 HYS关闭*bit [15:14]: 00 默认下拉*bit [13]: 0 kepper功能*bit [12]: 1 pull/keeper使能*bit [11]: 0 关闭开路输出*bit [7:6]: 10 速度100Mhz*bit [5:3]: 110 R0/6驱动能力*bit [0]: 0 低转换率Pinctrl节点示例 创建pinctrl client节点并添加GPIO信息 在根节点下创建名为gpioled的LED节点内容如下 /*pinctrl led*/ gpioled {compatible myboard,gpioled;pinctrl-names default;pinctrl-0 pinctrl_gpioled;led-gpios gpio5 3 GPIO_ACTIVE_LOW;status okay; }; pinctrl-0 设置 LED所使用的PIN对应的pinctrl节点led-gpio 指定了LED所使用的GPIO这里是GPIO5的IO03低电平有效  注意事项 因为我的开发板使用的设备树文件(imx6ull-myboard.dts)是从NXP官方提供的设备树文件(imx6ull-14x14-evk.dts)上修改而来的可能某些引脚的配置与自己的开发板不一样需要检查一下是否有使用冲突。 本次添加的这个MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03与文件中的其它引脚没有出现冲突因此无需修改。  修改LED驱动文件  重要步骤 第 1 步 定义、注册一个 platform_driver 第 2 步 在它的 probe 函数里 a) 根据 platform_device 的设备树信息确定 GPIO gpiod_get b)创建设备节点 c)注册一个 file_operations 结构体register_chrdev()  file_operarions 中使用 GPIO 子系统的函数操作 GPIO .open、.write()         (也就是gpiod_direction_output、 gpiod_set_value)  全部代码如下 /* 1. 确定主设备号 */ static int major 0; static struct class *led_class; struct led_operations *p_led_opr;#define MIN(a, b) (a b ? a : b)void led_class_create_device(int minor) {device_create(led_class, NULL, MKDEV(major, minor), NULL, 100ask_led%d, minor); /* /dev/100ask_led0,1,... */ } void led_class_destroy_device(int minor) {device_destroy(led_class, MKDEV(major, minor)); } void register_led_operations(struct led_operations *opr) {p_led_opr opr; }EXPORT_SYMBOL(led_class_create_device); EXPORT_SYMBOL(led_class_destroy_device); EXPORT_SYMBOL(register_led_operations);/* 3. 实现对应的open/read/write等函数填入file_operations结构体 */ static ssize_t led_drv_read (struct file *file, char __user *buf, size_t size, loff_t *offset) {printk(%s %s line %d\n, __FILE__, __FUNCTION__, __LINE__);return 0; }/* write(fd, val, 1); */ static ssize_t led_drv_write (struct file *file, const char __user *buf, size_t size, loff_t *offset) {int err;char status;struct inode *inode file_inode(file);int minor iminor(inode);printk(%s %s line %d\n, __FILE__, __FUNCTION__, __LINE__);err copy_from_user(status, buf, 1);/* 根据次设备号和status控制LED */p_led_opr-ctl(minor, status);return 1; }static int led_drv_open (struct inode *node, struct file *file) {int minor iminor(node);printk(%s %s line %d\n, __FILE__, __FUNCTION__, __LINE__);/* 根据次设备号初始化LED */p_led_opr-init(minor);return 0; }static int led_drv_close (struct inode *node, struct file *file) {printk(%s %s line %d\n, __FILE__, __FUNCTION__, __LINE__);return 0; }/* 2. 定义自己的file_operations结构体 */ static struct file_operations led_drv {.owner THIS_MODULE,.open led_drv_open,.read led_drv_read,.write led_drv_write,.release led_drv_close, };/* 4. 把file_operations结构体告诉内核注册驱动程序 */ /* 5. 谁来注册驱动程序啊得有一个入口函数安装驱动程序时就会去调用这个入口函数 */ static int __init led_init(void) {int err;printk(%s %s line %d\n, __FILE__, __FUNCTION__, __LINE__);major register_chrdev(0, 100ask_led, led_drv); /* /dev/led */led_class class_create(THIS_MODULE, 100ask_led_class);err PTR_ERR(led_class);if (IS_ERR(led_class)) {printk(%s %s line %d\n, __FILE__, __FUNCTION__, __LINE__);unregister_chrdev(major, led);return -1;}return 0; }/* 6. 有入口函数就应该有出口函数卸载驱动程序时就会去调用这个出口函数 */ static void __exit led_exit(void) {printk(%s %s line %d\n, __FILE__, __FUNCTION__, __LINE__);class_destroy(led_class);unregister_chrdev(major, 100ask_led); }/* 7. 其他完善提供设备信息自动创建设备节点 */module_init(led_init); module_exit(led_exit);MODULE_LICENSE(GPL);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php模板网站企业网站经典案例

习惯性刷CSDN,发现了这么个主题,有意思。在我的字典里,“养生”这个条目已经被我删了。看过了太多的伪科学、贩卖焦虑、带货、自以为是,干脆眼不见为净。但程序员人均亚健康这句话真未必是个玩笑,所以还是凑个热闹聊上…

网站服务器速度对seo有什么影响闵行网站建设公司

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例GreedyTerrainDecimation,并解析接口vtkGreedyTerrainDecimation,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ…

网站备案名称的影响wordpress 删除边栏

事实上,红帽认证含金量在全球范围内都得到了广泛的认可和重视。许多企业和组织都将红帽认证作为招聘和选拔人才的重要标准之一。持有红帽认证的个人往往能够获得更好的职业机会和更高的薪资水平。此外,红帽认证还被许多政府机构、行业协会和教育机构所认…

制作网站制作网站建设的网站制作课程介绍

键盘和鼠标是与计算机交互的重要外围设备。有些人可能会争辩说,你只需要这些设备中的一个,但事实上,只使用其中一个设备的电脑可能非常困难。但是,如果你的鼠标或笔记本电脑的触控板突然停止工作,而你无法修复它或无法使用备用鼠标,该怎么办? 在这种情况下,你可以使用…

网站注册短信验证怎么做WordPress主题后门检测

优质回答 回答者:temps1991Java里try catch的简单用法:1、trycatch程序的流程是:运行到try块中,如果有异常抛出,则转到catch块去处理。然后执行catch块后面的语句扩展部分:1、trycatchfinally程序的流程是&…

网站建设的总体设计建网站哪家好行业现状

随着5G技术的快速发展,毫米波通信作为其中的一项重要技术,在高速数据传输、低延迟通信和大规模连接等方面具有显著的优势。本文将探讨5G毫米波通信中的关键技术,包括毫米波频段的选择、信号处理技术和MIMO技术等。 一、毫米波频段的选择 毫米…

域名备案企业网站内容wordpress页面表格

产品说明书常常被低估,但其实它是一个企业的名片,在阐述你的产品服务时大有作用。如果你在制作产品说明书上面花费大量的时间和精力,那么今天的文章可能会对你有所帮助。此文将会引领你了解如何制作产品说明书,以及推荐几款高效的…

厦门中小企业建网站补助手机建站哪家好

不容易系列之(3)—— LELE的RPG难题 Problem Description 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来…

服务器主机搭建网站最准确的汽车报价网

java jdk1.5提供线程池 在java.util.concurrent包下提供工厂类Executors用于生产线程池,Executors提供了4种线程池 newFixedThreadPool: 创建一个线程池,该线程池重用固定数量的从共享无界队列中运行的线程。 newScheduledThreadPool&#x…

mvc做网站用的多不多wordpress 中文插件

Hello,小索奇!很高兴为你拓展关于GPT-3、GPT-4、ChatGPT之间关系的信息,以及解释自然语言模型和Transformer的区别。 首先,GPT-3、GPT-4、ChatGPT都是建立在GPT系列技术基础上的自然语言处理模型。它们在不同的代数、性能和应用场…

圣亚科技网站案例动漫制作公司排名

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公众号:洲与AI。 🎈 本文专栏:本文收录…

北京中天人建设工程有限公司网站凡科建站登录入口官方正版

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

做网站效果图是用ps还是ai成都网站建设哪家便宜

一、本文介绍 本文给大家带来的改进机制是实现级联群体注意力机制CascadedGroupAttention,其主要思想为增强输入到注意力头的特征的多样性。与以前的自注意力不同,它为每个头提供不同的输入分割,并跨头级联输出特征。这种方法不仅减少了多头注意力中的计算冗余,而且通过增…

烟台建设企业网站.net wap网站

当开发者向普通用户分享程序时,为了方便用户在未安装Python环境的情况 下能够正常运行,需要将开发好的程序进行打包,转换成用户可运行的文件类 型。本节将介绍在Windows和Linux两种系统下,将Python类型的文件转换成可执 行文件的方…

做视频点播网站需要服务器存储吗青白江区城乡和建设局网站

IdleHandler 是 Android 中的一个机制,用于在应用程序主线程空闲的时候执行一些额外的任务。主线程的空闲时间通常是在处理完当前的 UI 事件和消息队列后,等待下一个事件到来之前的时间段。 IdleHandler 适用于一些不紧急、不影响用户体验的后台任务。当…

售后服务网点建设是指网站免费找客户的网站

点击上方蓝色字体,关注我们菜菜哥,有个事你还得帮我呀呦西,YY妹子,最近天这么热了,你怎么还穿这么多?苦笑一下.....前几天写了几个接口,领导让提高一下接口吞吐量这是你技术提高的大好机会呀可吞…

企业seo整站优化方案建设网站大概多少钱

浏览器中为我们提供了一个JS对象XMLHttpRequet,它可以帮助我们发送HTTP请求,并接受服务端的响应。 意味着我们的浏览器不提交,通过JS就可以请求服务器。ajax(Asynchronous Javascript And XML)其实就是通过XHR对象,执行HTTP请求。…

社交网站可以做亚马逊联盟吗科技网站域名

SoraA1视频工具优先体验资格申请 申请网址:https://openai.com/form/red-teaming-network 申请步骤: 填写基础信息 请使用英文根据内容填写以下内容,名、姓、电子邮件、居住国家、组织隶属关系(如果有)、教育水平 、学位(哪个领…

中国标准溶液网站建设做企业网站有前途吗

复习知识点 原码:最高位为符号位,0代表正数,1代表负数 反码:正数的反码与原码一致,负数的反码保持符号位不变,其余的按位取反 补码:正数的补码与原码一致,负数的补码等于其反码加…

桂林北站离哪个景区近做这种灰色的网站犯法

在应用申请悬浮窗权限的时候,可以跳转到相应的设置界面,并且自动切换到应用的条目,高亮显示一下, android悬浮窗权限怎么申请 在Android中,要申请悬浮窗权限,需要以下步骤: 在 AndroidManifes…