抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

按键、鼠标、键盘、触摸屏等都属于输入(input)设备, Linux 内核为此专门做了一个叫做 input子系统的框架来处理输入事件。输入设备本质上还是字符设备,只是在此基础上套上了 input 框架,用户只需要负责上报输入事件,比如按键值、坐标等信息, input 核心层负责处理这些事件。 1.input子系统 input 就是输入的意思,因此 input 子系统就是管理输入的子...

1.最长回文子串 给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 123输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。 示例 2: 12输入:s = "cbbd"输出:"bb" 提示: 1 <= s.length <= 10...

misc 的意思是混合、杂项的,因此 MISC 驱动也叫做杂项驱动。 1.内核自带MISC驱动简介 所有的 MISC 设备驱动的主设备号都为 10,不同的设备使用不同的从设备号。 MISC 设备会自动创建 cdev,不需要像我们以前那样手动创建,因此采用 MISC 设备驱动可以简化字符设备驱动的编写。 需要向 Linux 注册一个 miscdevice 设备, miscdevic...

1.内核自带LED驱动使能 platform平台 内核自带的驱动,都是通过图形化界面配置,选择使能或者不使用。 输入:make menuconfig 使能驱动后再.config里面就会存在:CONFIG_LEDS_GPIO=y 在Linux内核源码里面一般驱动文件夹下Makefile会只用CONFIG_XXX来决定要编译哪个文件。 12obj-$(CONFIG_LEDS_GPIO) +=...

数据结构是一门科目了,难度大,学习成本高,且时间久不用就会遗忘用法。 遂,开辟一个汇总,用到时再去加深记忆。 主要是跟着Hello 算法学习,作者的github:krahets/hello-algo: 《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kot...

1.Linux驱动分离与分层 Linux 系统要考虑到驱动的可重用性,因此提出了驱动的分离与分层这样的软件思路,在这个思路下诞生了我们将来最常打交道的platform 设备驱动,也叫做平台设备驱动。 1.1驱动的分隔与分离 每个平台的 I2C 控制器都提供一个统一的接口(也叫做主机驱动),每个设备的话也只提供一个驱动程序(设备驱动),每个设备通过统一的 I2C接口驱动来访问,这样就可以...

1.寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 示例 1: 123输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2 示例 2: 123输入:nums1...

linux下printf函数为什么不加\n就不能输出相关的内容 ?原因: 输出缓冲区的问题. unix上标准输入输出都是带有缓存的,一般是行缓存。 对于标准输出,需要输出的数据并不是直接输出到终端上,而是首先缓存到某个地方,当遇到行刷新标志或者该缓存已满的情况下,才会把缓存的数据显示到终端设备上。 ANSI C中定义换行符’\n’可以认为是行刷新标志。所以,printf函数没有带’\n’是...

1.异步通知1.1异步通知简介 中断是处理器提供的一种异步机制,我们配置好中断以后就可以让处理器去处理其他的事情了,当中断发生以后会触发我们事先设置好的中断服务函数,在中断服务函数中做具体的处理。 同样的, Linux 应用程序可以通过阻塞或者非阻塞这两种方式来访问驱动设备,通过阻塞方式访问的话应用程序会处于休眠态,等待驱动设备可以使用,非阻塞方式的话会通过 poll 函数来不断的轮询,查看...

1.无重复字符的最长字串 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串 的长度。 示例 1: 123输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 123输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 &quo...