摘要:
STM32串口配置的一般步骤(库函数)(1)串口时钟使能:RCC_APBxPeriphClockCmd(); GPIO时钟使能:RCC_AHBxPeriphClockCmd();(2)引脚复用映射:GPIO_PinAFConfig();(3)GPIO端口模式配置:GPIO_Init(); 模式配置为 阅读全文
摘要:
(1)通信接口背景知识 并行通信: --传输原理:数据各个位同时传输 --优点:速度快 --缺点:占用引脚资源多 串行通信: --传输原理:数据按位顺序传输 --优点:占用引脚资源少 --缺点:速度相对慢 串行通信的三种方式(按照数据发送方向): --单工:数据传输只支持数据在一个方向上的传输。 - 阅读全文
摘要:
(1)NVIC中断优先级分组 1>,CM4内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且 具有256级的可编程中断设置。 2>,STM32F4并没有使用CM4的内核的全部东西,而只是用了它的一部分。 3>,STM32F40xx/STM32F41xx的92 个中断里面,包括10 阅读全文
摘要:
在Linux操作系统中,RTC设备驱动的架构如下图所示: RTC设备驱动涉及的文件:class.c、rtc-dev.c : 建立/dev/rtc0设备,同时注册相应的操作函数。interface.c : 作为中间层,做一个传递和封装rtc-s3c.c : 具体的物理实现,各种操作硬件模块的函数其他 阅读全文
摘要:
在编写简单字符设备驱动的时候,可以使用宏class_create在sysfs下创建对应的class节点,便于用户管理设备: 函数 __class_create: 阅读全文
摘要:
在我们已经完成了对cdev结构体的初始化之后,我们需要将这个cdev结构体加入到系统中去,使用函数 cdev_add: 阅读全文
摘要:
(1)在编写简单字符设备驱动的时候,首先要申请一个设备结构struct cdev: 申请完成后首先要使用函数cdev_init进行初始化这个cdev结构体: 阅读全文
摘要:
级别: 日志级别用宏表示,日志级别宏展开为一个字符串,在编译是由预处理器将它和消息本文拼接成一个字符串,因此printk函数中日志级别宏和格式字符串间不能有逗号。printk的日志级别定义在 /include/linux/kernel.h 中: 日志级别的范围"0~7",没有指定日志级别的print 阅读全文