| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 成都控制系统开发_好结构好逻辑,浅谈单片机程序的结构 -> 正文阅读 |
|
[嵌入式]成都控制系统开发_好结构好逻辑,浅谈单片机程序的结构 |
SO技术分享之30 编程、棋类和写作是公认为几个比较锻炼人思维的活动,不过这也是通过在长期练习在中后期能达到的思维佳、逻辑清晰的效果。假如是初识时,还是会觉得比较迷茫和混乱。不过一个好的逻辑结构,能快速地帮助进步。 一个好的程序结构,有助于理清思路、避免犯错和遗漏。 本文介绍在单片机编程时做出较好的程序结构的方法,包括文件组织、C文件内代码的组织等内容。 1、程序的组成 一般来说,一个程序由头文件和C程序组成。头文件用于定义,文件存储的后缀为.h,C程序用于编写实现功能的代码,文件存储的后缀为.c。 2、本文谈及的程序结构的内容 一是一个工程里C文件的分配。如果一个工程里面有多个C文件,那么之前就需要对C文件进行一下分配。 C文件的分配可以按照功能来分配,可以按照部件(模块)来分配,也可以按照执行过程来分配。其实第二第三种分配方式就是分别对应程序编程方法的面向对象和面向过程。 二是一个C程序里子程序的划分。子程序的划分比较简单,一般按照一个功能或者一个任务来分一个子程序即可。 这几种分配或者划分的方法无所谓优劣,适用简单即可。 3、一个单片机程序的标准结构 ? 其实标准结构也不是说非要一定这样做,只是这样做会比较好。 首先得载入头文件,不管是系统头文件还是自定义的头文件,在这个程序里需要用到的都需要载入,如定义需要的相关子程序、引脚等。 如果要用到全局变量,那么全局变量等的定义一般也是需要的。 Main函数是一个工程里一定要有的,而且只能唯一。单片机执行程序时一定会运行到的程序就是main函数,其他子函数一般在main函数中被调用或者嵌套调用。如有开发定制项目需要,可Q:2531二六3726 子程序可以与main函数放在同一个C文件,也放在其他C文件里。放在其他C文件的话,可以通过引用头文件来实现调用。 特殊子程序,如一些中断子程序等,如果要用到那么也需要去定义和编写。 4、一个例子 ? 图 2是一个单片机程序的标准结构的例子,左边project树中包含了该工程的所有文件。在main.c文件中,先是引用相关头文件,如引脚的定义就在其中一个头文件里,接着是全局变量的定义,main.c文件中main函数是关键的程序,是一个单片机程序里一定会执行的程序,其他子程序在main函数中调用,具体的子程序代码在其他C文件里,main函数中用while(1)执行反复循环。 本节完,精彩待续。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:27:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |