鱼C论坛

 找回密码
 立即注册
查看: 1662|回复: 5

[已解决]人造人老师请问下下

[复制链接]
发表于 2018-11-23 19:03:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

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

老师,请问下,之前你说的用linux管理驱动程序,什么是驱动程序?也就是我所有的单片机运行执行都由linux来发送给单片机吗?各种命令发给单片机,然后单片机反馈回linux然后再通过判断,再发送给其他单片机完成任务??
最佳答案
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_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
“直接”这个词很不恰当,只是我想不到更好的词

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

你现在在学什么?汇编语言?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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

你现在在学什么?汇编语言?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

现在在学习分析电路图,边学,边练,边动手拿面包搭建,结束后,就准备听人造人老师的开始汇编学习,汇编完成后,就开始51单片+PCB混合练习,然后各种设备电路搭建练习,练好后,就准备开始linux。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-24 13:35:50 | 显示全部楼层

咋那么简单的回答~~~~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-24 15:00:53 | 显示全部楼层
sswy 发表于 2018-11-24 13:35
咋那么简单的回答~~~~~~~

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

你其实早就应该开始学习单片机了
也许你目前应该把学习单片机作为一条主线,学到哪里不懂了,暂停下来去其他地方寻找答案,找到了就再返回来继续学习单片机,如果那里也有问题那就继续暂停,继续去另外的其他地方寻找答案
就这样一直递归下去,直到找到最终的那个答案,然后返回来继续单片机的学习
这是我目前处理各个领域的知识依赖链的唯一方法,递归
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-2 22:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表