设为首页 加入收藏

TOP

第四章 linux字符设备驱动一(三)
2023-07-23 13:39:56 】 浏览:71
Tags:linux 符设备
。 writel(5, SW_MUX_GPIO1_IO03); 寄存器SW_PAD_GPIO1_IO03设置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 低转换率 writel(0x10B0, SW_PAD_GPIO1_IO03); 4、设置GPIO1_IO03为输出功能 val = readl(GPIO1_GDIR); val &= ~(1 << 3); 清除以前的设置 val |= (1 << 3); 设置为输出 writel(val, GPIO1_GDIR); 5、默认关闭LED val = readl(GPIO1_DR); val |= (1 << 3); writel(val, GPIO1_DR); 或 writel(readl(led_dev->GPIO1_DR) | (1 << 3),led_dev->GPIO1_DR); */ return 0; err_2: class_destroy(led_dev->cls); err_1: unregister_chrdev(led_dev->dev_major, "chr_dev_test"); err_0: kfree(&led_dev); return ret; return ret; } static void __exit chr_dev_exit(void) { //一般都是释放资源 /* 取消映射 */ iounmap(IMX6U_CCM_CCGR1); iounmap(SW_MUX_GPIO1_IO03); iounmap(SW_PAD_GPIO1_IO03); iounmap(GPIO1_DR); iounmap(GPIO1_GDIR); device_destroy(led_dev->cls, MKDEV(led_dev->dev_major, 0)); class_destroy(led_dev->cls); unregister_chrdev(led_dev->dev_major, "chr_dev_test"); } //①实现模块的加载和卸载入口函数 module_init(chr_dev_init); module_exit(chr_dev_exit); MODULE_LICENSE("GPL");
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇使用root ssh登录ubuntu22.4配置 下一篇Linux 挂载Windows共享文件夹和NA..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目