sswy 发表于 2018-11-23 19:03:26

人造人老师请问下下


单击隐藏图章先去学习单片机(如果可以带上汇编语言更好),之后你写了好多单片机的驱动程序,自己管理这些驱动程序有点困难,然后你找到了方法,用操作系统来管理这些驱动程序,然后你就去学习操作系统了,在各个操作系统之间你最终选择了Linux,在各个版本之间你最终选择了Linux 0.11
^_^

老师,请问下,之前你说的用linux管理驱动程序,什么是驱动程序?也就是我所有的单片机运行执行都由linux来发送给单片机吗?各种命令发给单片机,然后单片机反馈回linux然后再通过判断,再发送给其他单片机完成任务??{:10_333:}

人造人 发表于 2018-11-23 20:31:38

我认为这样理解不对
我认为驱动程序就是直接用来控制硬件的程序
操作系统负责在需要的时候执行这些直接用来控制硬件的程序
我想不到该如何解释这个概念,因为这个就仅仅只是个概念
也许只有你亲手写过驱动程序,你才能明白什么是驱动程序

#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_InitTypeDefGPIO_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
“直接”这个词很不恰当,只是我想不到更好的词

我知道这么说你还是没能明白什么是驱动程序,因为只有你亲手写过驱动程序,你才能明白

你现在在学什么?汇编语言?

sswy 发表于 2018-11-23 22:56:39

人造人 发表于 2018-11-23 20:31
我认为这样理解不对
我认为驱动程序就是直接用来控制硬件的程序
操作系统负责在需要的时候执行这些直接用 ...

现在在学习分析电路图,边学,边练,边动手拿面包搭建,结束后,就准备听人造人老师的开始汇编学习,汇编完成后,就开始51单片+PCB混合练习,然后各种设备电路搭建练习,练好后,就准备开始linux。

人造人 发表于 2018-11-23 23:17:24

sswy 发表于 2018-11-23 22:56
现在在学习分析电路图,边学,边练,边动手拿面包搭建,结束后,就准备听人造人老师的开始汇编学习,汇编 ...

sswy 发表于 2018-11-24 13:35:50

人造人 发表于 2018-11-23 23:17


咋那么简单的回答~~~~~~~{:10_256:}

人造人 发表于 2018-11-24 15:00:53

sswy 发表于 2018-11-24 13:35
咋那么简单的回答~~~~~~~

因为这些东西不好回答呀
你现在的学习方法应该还是学完一个再学一个
例如学完汇编语言然后开始学单片机,学完单片机然后才开始学操作系统
而我现在的学习方法是这边学一点,那边学一点,这边学累了换到那边,那边学累了换到其他地方,之后也许再换回来
各个领域的知识相互依赖,越到后面恐怕越不太可能学完一个再学一个

你其实早就应该开始学习单片机了
也许你目前应该把学习单片机作为一条主线,学到哪里不懂了,暂停下来去其他地方寻找答案,找到了就再返回来继续学习单片机,如果那里也有问题那就继续暂停,继续去另外的其他地方寻找答案
就这样一直递归下去,直到找到最终的那个答案,然后返回来继续单片机的学习
这是我目前处理各个领域的知识依赖链的唯一方法,递归
页: [1]
查看完整版本: 人造人老师请问下下