- 博客(27)
- 资源 (12)
- 收藏
- 关注
原创 ubuntu介绍和使用
*》打开终端: CTRL + ALT + T *》终端介绍: farsight@ubuntu:~$ ---- 这是个什么??? farsight ---- 用户名 @ ---- 间隔符(间隔用户名和主机名) ubuntu ---- 主机名 : ---- 间隔符 ...
2022-01-06 09:58:33
741
原创 I2C通信协议的概念
(一)IIC------通信协议1》物理层 1,IIC是一种两线串行的通信方式,分别是SCL(时钟线)SDA(数据线),IIC是高位先行的通信方式,并且一般数据宽度是8bit 2,IIC是支持多主机多从机的通信方式,每一个设备都有唯一的ID,只有主机能够发起IIC 3,IIC总线上必须接两个上拉电阻,用于空闲是拉高总线 4,当有多个主机同时发起IIC通信时,由总线仲裁决定谁掌握总线控制 5,IIC的通信速率:标准 100kbit/s 快速 400kbit/s 高速 ...
2021-12-21 19:28:11
551
原创 STM32STM的开发方式
1》ARM和STM32 2》STM的开发方式 3》搭建STM32的开发环境 4》基于标准外设库新建一个工程 5》GPIO的介绍
2021-12-21 19:14:14
591
原创 高级驱动DAY2
1. input子系统的作用和框架 2. input子系统的编程 3. input子系统和平台总线结合 4. input子系统内核代码实现
2021-12-20 18:28:58
149
原创 初级驱动DAY5
(一)多路复用-----poll()应用空间: #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout); //参数1---一般为数组 //参数2---监控的路数 //参数3---阻塞的时间 -1 struct pollfd { int fd; /* file d...
2021-12-17 10:08:04
123
原创 初级驱动DAY4
(一)新的申请设备号的方法 1》静态申请设备号 int register_chrdev_region(dev_t from, unsigned count, const char *name) //参数1:要申请的设备号-----包含主设备号和次设备号 //参数2:设备的个数 //参数3: 设备号的描述,字符串,自定义 //返回值:成功---0;失败---错误码 2》动态申请设备号 int alloc_chrdev_regi...
2021-12-16 20:23:09
219
原创 初级驱动DAY3
(一)面向对象的编程思路--实例化对象-----封装----结构体封装 // 0,给hello对象申请空间----实例化对象 //将设备看成一个对象,封装成一个结构体 struct S5pv210_hello{ unsigned int major; //主设备号 struct class * cls; //类的指针 struct device *devi;//设备文件 }; struct S5pv210_...
2021-12-16 20:21:47
151
原创 初级驱动DAY2
(一)内核模块的驱动程序框架 //1,头文件 1 #include "linux/init.h" 2 #include "linux/module.h" 3 4 // 2,模块加载函数 5 static int __init drv_hello_init(void) 6 { 7 printk("------------%s--------------\n",__FUNCTION__); 8 return 0; 9 }10 //3,模块的卸载...
2021-12-16 20:20:37
144
原创 驱动\应用层基本结构
客户应用层基本结构: 入口函数:__init 出口函数:__exit 声明和协议(必要):module_init(test_module_init); module_exit(test_module_exit); MODULE_LICENSE("GPL");
2021-12-16 19:59:20
1162
原创 S5PV210实现ioctl
//Makefile#内核路径KERNEL_DIR=/home/me/farsight/linux-3.0.8#驱动程序代码所在的路径CUR_DIR=$(shell pwd)#驱动程序的名称DRV_NAME1 = led_drvAPP_NAME = led_appall: make -C $(KERNEL_DIR) M=$(CUR_DIR) modules arm-none-linux-gnueabi-gcc -o $(APP_NAME) $(APP_NA...
2021-12-16 19:41:01
73
原创 S5PV210实现write的调用
//Makefile#内核路径KERNEL_DIR=/home/andrew/S5pv210/kernel/linux-3.0.8#驱动程序代码所在的路径CUR_DIR=$(shell pwd)#驱动程序的名称DRV_NAME1 = led_drvAPP_NAME = led_appall: make -C $(KERNEL_DIR) M=$(CUR_DIR) modules arm-none-linux-gnueabi-gcc -o $(APP_NAME...
2021-12-16 19:35:58
213
原创 S5PV210实现单个LED灯的OPEN和CLOSE
//Makefile#内核路径KERNEL_DIR=/home/me/farsight/linux-3.0.8#驱动程序代码所在的路径CUR_DIR=$(shell pwd)#驱动程序的名称DRV_NAME1 = led_drvAPP_NAME = led_appall: make -C $(KERNEL_DIR) M=$(CUR_DIR) modules arm-none-linux-gnueabi-gcc -o $(APP_NAME) $(APP_NA...
2021-12-16 19:30:35
305
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人