我认为这样理解不对
我认为驱动程序就是直接用来控制硬件的程序
操作系统负责在需要的时候执行这些直接用来控制硬件的程序
我想不到该如何解释这个概念,因为这个就仅仅只是个概念
也许只有你亲手写过驱动程序,你才能明白什么是驱动程序
- #include "led.h"
- //////////////////////////////////////////////////////////////////////////////////
- //本程序只供学习使用,未经作者许可,不得用于其它任何用途
- //ALIENTEK STM32F407开发板
- //LED驱动代码
- //正点原子@ALIENTEK
- //技术论坛:www.openedv.com
- //创建日期:2014/5/2
- //版本:V1.0
- //版权所有,盗版必究。
- //Copyright(C) 广州市星翼电子科技有限公司 2014-2024
- //All rights reserved
- //////////////////////////////////////////////////////////////////////////////////
- //初始化PF9和PF10为输出口.并使能这两个口的时钟
- //LED IO初始化
- void LED_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIOF时钟
-
- //GPIOF9,F10初始化设置
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;//LED0和LED1对应IO口
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
- GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
- GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
- GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化GPIO
-
- GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10);//GPIOF9,F10设置高,灯灭
- }
复制代码
这个就是驱动程序,因为这个程序直接控制硬件,操作系统在初始化硬件的时候,直接调用这个程序(驱动程序),来初始化LED
“直接”这个词很不恰当,只是我想不到更好的词
我知道这么说你还是没能明白什么是驱动程序,因为只有你亲手写过驱动程序,你才能明白
你现在在学什么?汇编语言?