01 2020 档案
摘要:1.异步 表明事情相互独立地发生。 2.并发 指事情同时发生。并发操作之间可能任意交错。 3.并行 指并发序列同时执行。但是和并发的区别是在相同的方向上独立进行(没有交错)。 真正的并行只有在多处理器系统中存在。但是并发在单处理器和多处理器中都存在。 并行要求程序能够同时执行多个操作,而并发只要求程
阅读全文
摘要:1.查看串口设备 通过ls /dev/tty*查看有ttyAMA1设备 但是通过stty -F /dev/ttyAMA1 -a //查看/dev/ttyAMA1的串口配置 2.查找原因 2.1是否是管脚复用问题 通过查看海思的文档。通过himm去修改引脚复用。结果发现还是不行,不是这个问题。 2.2
阅读全文
摘要:1.GPRS自动拨号脚本(真正的实时监控,断线自动重拨) 功能:开机自动运行,实时监控,断线自动重拨。 原设置为5秒去检测一次,是以1字节去PING。 #!/bin/sh #请把dns1,dns2修改成拼得通的DNS,开机自动运行,实时监控,断线自动重拨 dns1="211.95.193.97" d
阅读全文
摘要:初步实现使用pppd连接GPRS上网 https://blog.csdn.net/kunkliu/article/details/81066788 linux下GPRS ppp拨号默认路由问题(存在eth0) https://blog.csdn.net/weixin_33778544/article
阅读全文
摘要:说明: 以下示例是看到Linux中驱动一个比较简单的架构,然后记录下来。 示例的功能是:将led通用的一些驱动代码和硬件相关代码分离开。 什么是通用的驱动代码:比如注册file_operation结构体啊,class类等一些。就算我们修改驱动,这些也不会变动的代码。 硬件相关代码:比如led的引脚地
阅读全文
摘要:定义: struct InitMember { int first; double second; char* third; float four; }; 1.定义的时候进行初始化(顺序) struct InitMember test = {-10,3.141590,"method one",0.2
阅读全文
摘要:1.指针的用处 int a=3; int *x = &a; 以上是一个指针的赋值,指针变量x作为变量a的索引。 2.指针的指针 首先要搞明白一个概念,指针也是一个变量,也会占用存储空间。通过我们*p指向的是一份普通类型的数据,例如int、double、char等,但也可以指向一份指针类型的数据,例如
阅读全文
摘要:1.最初Linux驱动架构 Linux驱动会在初始化函数中向内核注册file_operations结构体,结构体里面就包含一些基本的open,close函数。Linux驱动中也会去实现这些函数。并且相对应的硬件信息也在这个驱动中。以LED为例,驱动程序中会将LED的引脚地址映射成虚拟地址,然后在op
阅读全文
摘要:1.面向对象 字符设备驱动程序抽象出一个 file_operations 结构体; 我们写的程序针对硬件部分抽象出 led_operations 结构体。 在linux内核中,所谓的面向对象可以理解为用结构体来表示某个对象。 2.分层 上下分层,比如我们前面写的 LED 驱动程序就分为 2 层: 上
阅读全文