1.前言
本章是linux知识梳理第一篇,内容偏向linux源码分析。刚好是回顾到字符设备驱动章节,所以本章可能会出现之前的的相关知识点,后续我会单独出一片进行补充。
2. 什么是驱动?
2.1 裸机的驱动
以控制led灯带大家从裸机和操作系统两方面带大家理解驱动是什么?
裸机:控制led设备需要两方面,怎么配置寄存器?可以怎么控制?
/*
* @name GPIO_Init
* @brief GPIO端口初始化
* @param None
* @retval None
*/
static void GPIO_Init()
{
//GPIO初始化
// M1 M0
// 0 0 准双向
// 0 1 推挽输出
// 1 0 高阻输入
// 1 1 开漏
P3M1 = 0x00; //0000 0000
P3M0 = 0x30; //0011 0000
P34 = 0; //初始化关闭led灯
}
以上是我的一段代码,中关于对led配置的部分,放在专门进行系统初始化的文件
#ifndef _LED_H_
#define _LED_H_
//RUN LED
#define MCU_RUN_LED P34
#define MCU_RUN_LED_ON 1
#