摘要: STM32串口配置的一般步骤(库函数)(1)串口时钟使能:RCC_APBxPeriphClockCmd(); GPIO时钟使能:RCC_AHBxPeriphClockCmd();(2)引脚复用映射:GPIO_PinAFConfig();(3)GPIO端口模式配置:GPIO_Init(); 模式配置为 阅读全文
posted @ 2017-04-06 21:08 LinuxRookie 阅读(7483) 评论(0) 推荐(1) 编辑
摘要: (1)通信接口背景知识 并行通信: --传输原理:数据各个位同时传输 --优点:速度快 --缺点:占用引脚资源多 串行通信: --传输原理:数据按位顺序传输 --优点:占用引脚资源少 --缺点:速度相对慢 串行通信的三种方式(按照数据发送方向): --单工:数据传输只支持数据在一个方向上的传输。 - 阅读全文
posted @ 2017-04-05 23:49 LinuxRookie 阅读(2638) 评论(0) 推荐(0) 编辑
摘要: (1)NVIC中断优先级分组 1>,CM4内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且 具有256级的可编程中断设置。 2>,STM32F4并没有使用CM4的内核的全部东西,而只是用了它的一部分。 3>,STM32F40xx/STM32F41xx的92 个中断里面,包括10 阅读全文
posted @ 2017-04-05 22:48 LinuxRookie 阅读(1625) 评论(0) 推荐(0) 编辑
摘要: 在Linux操作系统中,RTC设备驱动的架构如下图所示: RTC设备驱动涉及的文件:class.c、rtc-dev.c : 建立/dev/rtc0设备,同时注册相应的操作函数。interface.c : 作为中间层,做一个传递和封装rtc-s3c.c : 具体的物理实现,各种操作硬件模块的函数其他 阅读全文
posted @ 2017-03-25 21:02 LinuxRookie 阅读(1334) 评论(0) 推荐(0) 编辑
摘要: 在编写简单字符设备驱动的时候,可以使用宏class_create在sysfs下创建对应的class节点,便于用户管理设备: 函数 __class_create: 阅读全文
posted @ 2017-03-23 07:24 LinuxRookie 阅读(2698) 评论(0) 推荐(0) 编辑
摘要: 在我们已经完成了对cdev结构体的初始化之后,我们需要将这个cdev结构体加入到系统中去,使用函数 cdev_add: 阅读全文
posted @ 2017-03-23 07:19 LinuxRookie 阅读(1710) 评论(0) 推荐(0) 编辑
摘要: (1)在编写简单字符设备驱动的时候,首先要申请一个设备结构struct cdev: 申请完成后首先要使用函数cdev_init进行初始化这个cdev结构体: 阅读全文
posted @ 2017-03-23 07:12 LinuxRookie 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 级别: 日志级别用宏表示,日志级别宏展开为一个字符串,在编译是由预处理器将它和消息本文拼接成一个字符串,因此printk函数中日志级别宏和格式字符串间不能有逗号。printk的日志级别定义在 /include/linux/kernel.h 中: 日志级别的范围"0~7",没有指定日志级别的print 阅读全文
posted @ 2017-03-21 21:36 LinuxRookie 阅读(2393) 评论(0) 推荐(1) 编辑
摘要: (1)服务器端尽可能使用REUSEADDR。(2)在绑定之前尽可能调用setsockopt来设置REUSEADDR套接字选项。(3)使用REUSEADDR选项可以使得不必等待TIME_WAIT状态消失就可以重启服务器了。 eg:int on = 1;setsockopt(sockfd, SOL_SO 阅读全文
posted @ 2017-03-09 22:20 LinuxRookie 阅读(250) 评论(0) 推荐(0) 编辑
摘要: (1)函数socket (2)函数bind (3)函数listen (4)函数accept (6)函数connet 阅读全文
posted @ 2017-03-09 22:18 LinuxRookie 阅读(561) 评论(0) 推荐(0) 编辑