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

张小明 2026/1/11 18:46:03
青岛做网站的公司有哪些,筑巢网站,网站建设定制开发,廊坊企业网站团队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进行投诉反馈,一经查实,立即删除!

中石化胜利建设工程有限公司网站四川seo推广方案

在人口老龄化与养老保障体系日益受到关注的背景下,如何科学规划退休时间成为职场人士的重要课题。本网站通过整合工资数据、社保政策与精算理论,为用户提供个性化的退休时间预测服务,助力理性规划职业生涯。 一、网站核心功能 多维度数据输入…

张小明 2026/1/11 5:51:57 网站建设

建设网站需要哪些编程网页设计教育培训

摘 要 为了解决家居环境中手动调节窗帘调整采光避光问题,满足人们智能地调控窗帘的需求,本文设计了单片机控制的智能窗帘系统。该系统含两种控制方式:手动和自动。当处于手动控制状态时,人们可以自主选择打开关闭窗帘。当系统是…

张小明 2026/1/1 15:51:07 网站建设

登封做网站优化自己开发购物网站

如何通过浏览器远程操控你的渗透测试设备?Bruce Web界面实战指南 【免费下载链接】Bruce Firmware for m5stack Cardputer, StickC and ESP32 项目地址: https://gitcode.com/GitHub_Trending/bru/Bruce Bruce Web界面为渗透测试人员提供了一套完整的远程控制…

张小明 2025/12/27 4:42:42 网站建设

深圳汇网网站建设仓库管理软件

LangFlow构建供应链预测分析模型的工作流 在企业智能化转型的浪潮中,供应链管理正面临前所未有的复杂性挑战:需求波动加剧、外部扰动频发、多源信息交织。传统的统计预测模型虽然稳定,却难以融合非结构化因素(如政策变动、天气影…

张小明 2025/12/27 4:42:10 网站建设

dedecms网站布局的模版修改方法适合大学生浏览的网站

还在为音乐平台的版权限制而烦恼吗?想要拥有一个完全属于自己、不受任何约束的音乐空间吗?any-listen开源音乐播放器正是你梦寐以求的解决方案!这款跨平台私人音乐服务让你能够搭建专属的音乐服务器,彻底告别商业平台的种种限制&a…

张小明 2025/12/27 4:41:38 网站建设

网站开发杭州wordpress主题收费破解

资料查找方式: 特纳斯电子(电子校园网):搜索下面编号即可 编号: T5442310M 设计简介: 本设计是基于单片机的盲人导航系统的设计,主要实现以下功能: 通过OLED显示距离、光照强度和…

张小明 2025/12/27 4:41:06 网站建设