青岛做网站的公司有哪些筑巢网站

张小明 2025/12/28 11:22:25
青岛做网站的公司有哪些,筑巢网站,网站建设定制开发,廊坊企业网站团队Rk3588鲁班猫4点亮led这里只上代码#xff0c;先执行sudo sh -c echo 0 /sys/class/leds/sys_status_led/brightness关闭自带一直闪烁的led。随后编译下面代码得到.ko文件并加载到板卡。Makefile文件可以看我上一篇博客的末尾。#include linux/init.h#include 先执行sudo sh -c echo 0 /sys/class/leds/sys_status_led/brightness关闭自带一直闪烁的led。随后编译下面代码得到.ko文件并加载到板卡。Makefile文件可以看我上一篇博客的末尾。#include linux/init.h #include linux/module.h #include linux/cdev.h #include linux/fs.h #include linux/uaccess.h #include linux/io.h #define DEV_NAME led_chrdev #define DEV_CNT (1) #define GPIO4_BASE (0xFEC50000) #define GPIO4_DR_L (GPIO4_BASE 0x0000) #define GPIO4_DDR_L (GPIO4_BASE 0x0008) static dev_t devno; struct class *led_chrdev_class; struct led_chrdev { struct cdev dev; unsigned int __iomem *va_dr; // 数据寄存器设置输出的电压 unsigned int __iomem *va_ddr; // 数据方向寄存器设置输入或者输出 unsigned int led_pin; // 偏移 }; static int led_chrdev_open(struct inode *inode, struct file *filp) { unsigned int val 0; struct led_chrdev *led_cdev (struct led_chrdev *)container_of(inode-i_cdev, struct led_chrdev,dev); filp-private_data container_of(inode-i_cdev, struct led_chrdev, dev); printk(open\n); //设置输出模式 val ioread32(led_cdev-va_ddr); val | ((unsigned int)0x1 (led_cdev-led_pin16)); val | ((unsigned int)0X1 (led_cdev-led_pin)); iowrite32(val,led_cdev-va_ddr); //输出高电平 val ioread32(led_cdev-va_dr); val | ((unsigned int)0x1 (led_cdev-led_pin16)); val | ((unsigned int)0x1 (led_cdev-led_pin)); iowrite32(val, led_cdev-va_dr); return 0; } static int led_chrdev_release(struct inode *inode, struct file *filp) { return 0; } static ssize_t led_chrdev_write(struct file *filp, const char __user * buf, size_t count, loff_t * ppos) { unsigned long val 0; unsigned long copy_ret0; char ret 0; struct led_chrdev *led_cdev (struct led_chrdev *)filp-private_data; printk(write \n); copy_retcopy_from_user(ret, buf, 1); if (copy_ret ! 0) { printk(KERN_ERR led_chrdev: copy_from_user failed, uncopied: %lu\n, copy_ret); return -EFAULT; // 返回错误码告知用户空间读取失败 } val ioread32(led_cdev-va_dr); printk(val %lx\n, val); if (ret 0){ val | ((unsigned int)0x1 (led_cdev-led_pin16)); val ~((unsigned int)0x01 (led_cdev-led_pin)); /*设置GPIO引脚输出低电平*/ } else{ val | ((unsigned int)0x1 (led_cdev-led_pin16)); val | ((unsigned int)0x01 (led_cdev-led_pin)); /*设置GPIO引脚输出高电平*/ } iowrite32(val, led_cdev-va_dr); printk(val %lx\n, val); return count; } static struct file_operations led_chrdev_fops { .owner THIS_MODULE, .open led_chrdev_open, .release led_chrdev_release, .write led_chrdev_write, }; static struct led_chrdev led_cdev[DEV_CNT] { {.led_pin 13}, }; static __init int led_chrdev_init(void) { int i 0; dev_t cur_dev; printk(led_chrdev init (lubancat2 GPIO4_B5)\n); led_cdev[0].va_dr ioremap(GPIO4_DR_L, 4); led_cdev[0].va_ddr ioremap(GPIO4_DDR_L, 4); alloc_chrdev_region(devno, 0, DEV_CNT, DEV_NAME); led_chrdev_class class_create(THIS_MODULE, led_chrdev); for (; i DEV_CNT; i) { cdev_init(led_cdev[i].dev, led_chrdev_fops); led_cdev[i].dev.owner THIS_MODULE; cur_dev MKDEV(MAJOR(devno), MINOR(devno) i); cdev_add(led_cdev[i].dev, cur_dev, 1); device_create(led_chrdev_class, NULL, cur_dev, NULL, DEV_NAME %d, i); } return 0; } module_init(led_chrdev_init); static __exit void led_chrdev_exit(void) { int i; dev_t cur_dev; printk(led chrdev exit (lubancat2 GPIO4_B5)\n); for (i 0; i DEV_CNT; i) { iounmap(led_cdev[i].va_dr); // 释放模式寄存器虚拟地址 iounmap(led_cdev[i].va_ddr); // 释放输出类型寄存器虚拟地址 } for (i 0; i DEV_CNT; i) { cur_dev MKDEV(MAJOR(devno), MINOR(devno) i); device_destroy(led_chrdev_class, cur_dev); cdev_del(led_cdev[i].dev); } class_destroy(led_chrdev_class); unregister_chrdev_region(devno, DEV_CNT); } module_exit(led_chrdev_exit); MODULE_AUTHOR(embedfire); MODULE_LICENSE(GPL);之后执行下面语句就可以看到板卡的led点亮和关闭了。#绿灯亮 sudo sh -c echo 0 /dev/led_chrdev0 #绿灯灭 sudo sh -c echo 1 /dev/led_chrdev0
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

德州网站制作公司程序做网站好还是app好

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有! 文章目录 YOLOv12图像去雾革命:AOD-PONO-Net去雾检测一体化实战指南 技术突破与性能验证 AOD-PONO-Net核心技术解析 物理模型引导的去雾架构 YOLOv12与AOD-PONO-Ne…

张小明 2025/12/29 10:13:28 网站建设

网站开发刷新图片钱币网站建设

Windows 11任务栏个性化革命:Taskbar11深度体验 【免费下载链接】Taskbar11 Change the position and size of the Taskbar in Windows 11 项目地址: https://gitcode.com/gh_mirrors/ta/Taskbar11 厌倦了Windows 11那千篇一律的任务栏设计吗?微软…

张小明 2025/12/29 10:13:31 网站建设

用ps做网站的临摹成都有名的建筑公司有哪些

15款ohmyzsh主题深度评测:从极简到高信息密度的完美选择 【免费下载链接】ohmyzsh 项目地址: https://gitcode.com/gh_mirrors/ohmy/ohmyzsh 还在为单调的终端界面烦恼吗?ohmyzsh作为最流行的Zsh配置框架,提供了数十款精心设计的主题…

张小明 2025/12/29 10:13:32 网站建设

wordpress怎么做站内站中国100强企业排行榜

Linux常用命令详解 1. ftpd命令 1.1 ftp子命令 命令 功能 site [command] 在远程机器上运行特定站点命令 size filename 返回远程机器上指定文件的大小 status 显示当前ftp状态 struct [struct-name] 设置文件传输结构,默认使用流结构 sunique 切换远程机器…

张小明 2025/12/29 10:13:34 网站建设

网上购物网站建设公司百度推广没有一点效果

架构之静态资源缓存 引言 在现代Web应用中,静态资源(如图片、CSS、JavaScript、字体等)通常占据了页面加载时间的绝大部分。据统计,静态资源平均占页面总加载时间的80%以上。通过合理的静态资源缓存策略,可以显著减少页…

张小明 2025/12/29 10:38:52 网站建设

阿里巴巴网站优化怎么做网站首页html代码的

Wan2.2-T2V-5B能否通过工业级认证?OpenSpec兼容性深度评估 在短视频内容呈指数级增长的今天,创作者和企业对“一键生成动态视频”的需求从未如此迫切。然而,大多数文本到视频(T2V)模型仍停留在实验室阶段——参数动辄百…

张小明 2025/12/29 10:13:33 网站建设