其他
文章平均质量分 59
其他
程序猿小小黑呀
这个作者很懒,什么都没留下…
展开
-
Linux内核常用的GPIO操作函数
1.gpio_set_value(unsigned gpio, int value):用来设置gpio寄存器的值2.gpio_direction_output(unsigned gpio, int value)用来设置gpio为输出功能,同时设置gpio输出的值。一般来说,设置一个GPIO口为输出,先执行一次gpio_direction_output,然后接下来只需执行gpio_set_value就行了。3.gpio_direction_input(unsigned gpio)用来设置gpio为原创 2021-01-13 00:27:22 · 6021 阅读 · 0 评论 -
(转)Linux进程间通信——使用信号量
参考文章:Linux进程间通信——使用信号量这篇文章将讲述别一种进程间通信的机制——信号量。一、什么是信号量信号量是用来调协进程对共享资源的访问的一种机制。以实现一个临界区在同一时间只有一个线程可访问它(临界区:是指执行数据更新的代码需要独占式地执行)。信号量是一个特殊的变量,程序对其访问都是原子操作,且只允许对它进行等待(即P(信号变量)) 和 发送(即V(信号变量))信息操作。信号量可分为两种:二进制信号量:值只能取0和1,是最简单和最常用的一种信号量。通用信号量:值可以取多个正整数转载 2021-06-22 17:45:07 · 594 阅读 · 0 评论 -
misc_register、 register_chrdev 的区别总结
本文参考:https://blog.csdn.net/nanhangfengshuai/article/details/505332301. 杂项设备(misc device)杂项设备也是在嵌入式系统中用得比较多的一种设备驱动。在 Linux 内核中的include/linux/miscdevice.h文件,要把自己定义的misc device从设备定义在这里。其实是因为这些字符设备不符合预先确定的字符设备范畴,所有这些杂项设备采用主编号10(定义在include\linux\major.h中...转载 2021-01-13 17:13:39 · 381 阅读 · 0 评论 -
(转)查看USB设备
查看USB设备转载 2021-05-21 17:45:16 · 1599 阅读 · 0 评论 -
Linux并发控制——完成量
1. 概念Linux提供完成量(Completion),用于一个执行单元等待另一个执行单元执行完某事。2. 相关操作(1)定义完成量:struct completion my_completion;(2)初始化完成量:/* 初始化my_completion这个完成量的值为0(即没有完成的状态) */init_completion(&my_completion);/* 重新初始化my_completion这个完成量的值为0 */reinit_completion(&my_原创 2021-05-17 16:21:36 · 365 阅读 · 0 评论 -
Linux开机自动挂载磁盘的实现
方法一:编辑/etc/fstab配置文档(此方法未测试)。方法二:编辑/etc/rc.local文档,将磁盘挂载命令添加到此文档中,Linux每次启动后都会读取和执行此文件中的内容(测试OK)。方法三:==== server shared folder ======step1:sudo apt-get install cifs-utils winbind原创 2016-09-20 18:43:33 · 625 阅读 · 0 评论 -
Linux并发控制——信号量
信号量1. 概念 信号量(Semaphore)是操作系统中最典型的用于 同步 和 互斥 的手段。信号量的值可以是0、1或者n。 信号量与操作系统中的经典概念PV操作对应:P(S):① 将信号量S的值减1,及 S = S - 1; ② 如果 S ≥ 0,则该进程继续执行;否则该进程置为等待队列。V(S):①将信号量S的值加1,即 S = S + 1; ②如果 S>0,唤醒队列中等待信号量的进程。2. 信号量的常见操作(1)定义信号量:// 定义名称为sem的信号量原创 2021-05-17 14:15:55 · 305 阅读 · 0 评论 -
(转)C/C++ 函数参数传递:传值,传指针,传引用
参考文章:C/C++ 函数参数传递:传值,传指针,传引用前面我们介绍了函数的调用约定,明白了函数调用者与被调用者之间传递参数的顺序与如何进行栈恢复的。 实际上,函数调用者如何将参数传递给被调用者也是有讲究的。总的来说,函数参数传递分为3种情况:传值,传指针和传引用。首先,理解一下实参与形参的概念。int func(int x)//x是形参{ return x*x;}int main(void){ int a = 10; func(a);//a是实参 retur转载 2021-05-08 13:53:14 · 266 阅读 · 0 评论 -
Linux并发控制——互斥体
(1)定义并初始化互斥体:struct mutex my_mutex;mutex_init()&my_mutex;(2)获取互斥体:void mutex_lock(struct mutex *lock); // 不可中断int mutex_lock_interruptible(struct mutex *lock); // 可中断int mutex_trylock(struct mutex *lock);(3)释放互斥体:void mutex_unlock(struct mute原创 2021-05-17 14:50:21 · 210 阅读 · 0 评论 -
C语言使用指针交换变量值(使用函数实现)
#include <stdio.h>void swap(int *a, int *b){ /* * 此函数中: * a和b是指向两个int类型的指针, * 它们接受了main里面a和b的地址, * 即: * a = &a (in main()); * b = &b (in main()); * 所以对*a实际上就是对a(in main())操作 */ printf("---swap:(a, b) = (%p, %p)\n", a原创 2021-05-14 15:23:40 · 962 阅读 · 0 评论 -
Linux设备树DTB与DTS 相互转换
需要使用DTC(Device Tree Compiler)命令行工具。DTC使用帮助:DCB转DTS:./dtc -I dtb -O dts -o *.dts *.dtbDTS转DTB:./dtc -I dts -O dtb -o test.dtb test.dts原创 2021-02-20 10:32:55 · 5417 阅读 · 0 评论 -
cmd查看电脑最近连接过的wifi密码
分享一句CMD,一键查看windows系统连接过的wif密码:for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear以管理员方式打开cmd窗口,输入以上命令执原创 2016-09-27 15:08:33 · 3231 阅读 · 1 评论 -
win7忘记开机密码怎么办?
(1)开机前按F8显示高级启动菜单,选择“带命令提示符的安全模式”,按下Enter键;(2)在出现的账号选择窗口点击“Administrator”进入管理员模式的命令提示符窗口;(3)添加用户:net user /add 将新用户升级为管理员:net localgroup administrators /add(4)重启:shutdown /r原创 2016-09-20 18:40:43 · 1382 阅读 · 1 评论