关于这个问题我仅仅给出我个人的观点以及原因。

首先先举一个例子:

我们要参加一个比赛,这几年来线上比赛对视频的拍摄有很大的要求。要求我们需要三个机位,视频的时长。

看完这些话之后,你知道我们需要找到3个人,然后呢,至少还需要3个手机吧这是隐藏条件。视频的时长决定我们还需要对视频进行优化,看到这里可能感觉是个废话。

接下来我们尝试构建一个网站。首先我们需要知道如何构建网站,然后我们知道需要服务器,域名,还有网站。

   我感觉写代码就是提出你的需求,然后去找相应的代码去完成,最后进行整合优化。一套好的代码我感觉和写文章一样,都不是一次写出来的都是在一次次修改和优化出来的。但这不是不知道代码含义的理由

    这时候最大的问题来了,所有的功能都已经实现但你却发现合到一起没有办法用,这是写代码最难的一步。单独的功能网站上或多或少存在一些答案但将所有的代码合起来的解决方法网上不能说没有,如果能买到基本上你可以去买彩票了。

     代码有一个通用的规则那就是代码的函数一般都会对应其功能。见名知义是最基本的要求,当你创建一个文件夹乱命一个名字可能第二天就不知道干啥的了。

   最后我总结一下以stm32的一个led灯为例。

首先假设我什么也不会。

需求:点亮led灯

问题:什么是led灯,怎么点亮led灯

答案:一个二极管,只有当电流从正极流向负极并且电流达到要求才会亮。用程序点亮led灯,很明显这是废话。

第一个问题结束后你会发现你对什么是一个led灯已经没有了疑问。但是怎么点led灯还是抱有很大的疑惑。是啊,是用程序点亮的可程序只是一个概念它没有实体啊。紧接着你会发现真正控制led灯的是芯片。那么芯片是如何控制led灯的呢,是通过引脚。那么引脚是一个什么东西。引脚,又叫管脚,英文叫Pin。 就是从 集成电路 (芯片) 内部电路引出与外围电路的接线,所有的引脚就构成了这块芯片的 接口 。看完这句话你会知道芯片是集成电路 (芯片) 内部电路引出与外围电路的接线。控制引脚就能控制led灯的亮灭。现在回到led灯二极管只有有电并且到达足够电流才会亮。这证明引脚是有电的。程序控制的是芯片,芯片控制引脚有无电流。当程序通知连接led灯的引脚有电led灯才会亮。

#include就好说明书,说明书不是让你理解而是让编译器也可以说是你使用的软件理解的。说明书里面放的是一级一级的对应关系。

现在对英语单词进行分类。为什么要进行分类?可以想像一下,你创建个文件夹,文件夹里既有游戏又有工作所用的文件,假设一共有100个文件那么你需要从头到尾找你所有需要的文件。你可能说我有搜索。但假设你只知道一个大概的名字呢。有的时候只能一个一个找。而分类管理能明显提高效率。

这里的#inlclude就是这样,有很多不用编译的文件就可以不用编译了。这样能减少编译时间还有其他的一些好处。

然后就是初始化,当时被为什么要进行初始化迷茫了有一段时间。所以为什么要进行初始化呢。

首先看例子。

那么假设我们有一个手枪。假设哈,都知道手枪有保险当保险没有打开的时候按动扳机是没有用的,那么没有子弹也是没有用的。

这里就分成了两类函数,一类是有参数的函数,另一类是没有参数的函数。无论是哪一类函数需要初始化的原因都是怕不小心执行函数。因为如果枪没有保险是有可能走火的,走火了没事没打到人就好,那万一呢。初始化也是这样,防止意外执行程序,如果不小心执行没有影响还好,有影响那看好好在代码海里捞针吧。这里说一句初始化和使能有相同的作用。

mian函数里面执行的函数并不在初始化函数里面,而是专门的功能实现文件里面。就好比枪能发射子弹了,但你打不打的准就不管初始化文件的事情了。

需要实现功能就去功能实现文件找,然后在主程序里面运行就好了。什么是功能实现文件啊。

这里面就是喽,只不过有的还是需要自己写,毕竟是个程序员,肯定是要写自己的程序的。

那么什么又是程序呢,看下一篇文章吧。

所有单片机入门,介绍如何写程序相关推荐

  1. 飞思卡尔MKL系列单片机用jlink烧写程序出现的Kinetis (connect): Timeout while halting CPU. CPU does not stop.问题

    最近用Jlink烧写飞思卡尔MKL16Z128单片机时发现经常出现不能连接成功的情况,用的是SWD接口,排查了好久后来发现问题在单片机的RESET脚上,因为之前用SWD接口的时候只接4线(SWD.SC ...

  2. STC单片机蓝牙无线下载-烧写程序ISP(STC8 STC15 STC12 STC11 STC89)

    前一阵子用单片机开发一个小东西,其应用在一个非常潮湿的环境,以至于电脑和人员没发接近,但是又需要很长时间来调整参数,才能将设备设定好.另外设备一直在转动,这又导致不能通过电缆下载程序.在此时,我想到了 ...

  3. 51单片机入门教程学习笔记

    基于江科大自化协B站教学视频<51单片机入门教程-2020版 程序全程纯手打 从零开始入门> 一.单片机介绍 单片机,英文Micro Controller Unit,简称MCU 内部集成了 ...

  4. 51单片机入门学习笔记(上)

    笔记整理自B站UP主江科大自化协教程<51单片机入门教程-2020版 程序全程纯手打 从零开始入门> 所用单片机为普中51 STC89C52单片机2022新款,文中所提到的调试现象及结果也 ...

  5. 51单片机下载完程序后不亮_程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍...

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

  6. 程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

  7. 单片机入门学习五 STM32单片机学习二 跑马灯程序衍生出的stm32编程基础

    上篇文章 单片机入门学习四 STM32单片机学习一 跑马灯程序和创建工程 仅介绍了入门程序及其编译运行过程,下面开始对stm32的一些基础知识做一个记录. 1.stm32f103zet6(上篇问题3 ...

  8. [15单片机] STC15F104W开发入门及模拟串口程序

    STC15F104W开发入门及模拟串口程序 Saturday, 31. March 2018 09:42AM - beautifulzzzz 前言 最近找到一款51内核的SOP8封装的8脚单片机STC ...

  9. 给单片机焼写程序需要什么东西_单片机怎么烧写程序

    1.单片机怎么烧写程序 STC系列单片机为例:首先,需要安装keil软件和STC_ISP程序下载软件.先对你想要实现对单片机的功能用keil编程,然后用STC_ISP下载软件下载到单片机上,最后打开给 ...

最新文章

  1. p1522 牛的旅行 Cow Tours
  2. recv函数返回值说明
  3. UOJ#310.【UNR #2】黎明前的巧克力(FWT)
  4. Spring提供获取应用上下文的工具
  5. Spring面试题(第一期)
  6. pyhton 从web获取json数据 保存到本地然后再读取
  7. MVC 使用 Webuploader 插件 传递额外参数 备忘笔记
  8. pycharm windows 如何导入github仓库的项目代码
  9. ntldr is missing什么意思应该如何解决
  10. python不可变变量_python的可变变量和不可变变量
  11. u大师制作linux系统,U大师官方下载|U大师U盘启动盘制作工具官方版 v4.7.37.56 最新版 - 系统天堂...
  12. Inna and Alarm Clock
  13. linux 查看显卡信息及显卡驱动信息
  14. 使用python爬取猎聘网的职位信息
  15. Git 克隆大型仓库失败解决方法
  16. 如何使用 IntelliJ IDEA中配置PHP开发环境 及项目搭建
  17. [ABC283D] 题解
  18. Java程序设计基础【1】
  19. 环境变量:系统变量和用户变量
  20. 关于业务系统间API对接的那些事

热门文章

  1. 辐射光电流测试软件,电磁骚扰辐射发射的测试方法
  2. 阿里巴巴2014研发实习生笔试解析
  3. wordpress修复插件_关于WordPress及其修复方法的15个最烦人的事情
  4. ant-design-vue+vite主题切换详细步骤(简单案例)
  5. 咖啡汪日志——JAVA导出pdf文件加水印 文字+图片、文字
  6. oracle认证就业前景,华为认证的发展就业前景怎么样?
  7. 腾讯云2核4G服务器5M带宽轻量CPU性能、流量和系统盘测试
  8. Pinyin4jUtil 验证姓名与拼音是否一致,自持多音字。
  9. DJI新版模拟器遥控器连接不上问题解决之道
  10. 20181013优秀的软件推荐专栏(每日一次)