51多文件系统的书写

嵌入式开发之路,从51单片机开始 关注、星标公众号,直达精彩内容来源:技术让梦想更伟大作者:李肖遥嵌入式开发入门之路我相信很多朋友第一次接触的单片机应该就是51单片机,8位的mcu,丰富的教程,可以做很多小玩意,让初学者基... 阅读详情

这两天在学着写多文件程序,开始的时候真的不会写,后来参照百度上得到,书写基本的还是会的,但是一到自己改的程序就不会了,后来找呀找呀,终于找到解决的方法,我觉得告我们这一行的千万千万不要着急,否则会丧失信心:

这里我总结一些我写多文件的经验:

第一,如何定义多文件的头文件:比如定义一个delay.h

参照格式:#ifndef __DELAY_H__

     #define_DELAY_H__

               .................................

              #endif

这种方法可能大家都知道,但是这是书写多文件程序的基本操作,还有几个点大家要值得注意,

1:就是全局变量extern的含义 对于大一点的程序,有很多c文件和头文件,这个时候全局变量就必须在头文件中声明(不需要初始化),然后在一个c文件中定义(该初始化的要初始化)。如果在头文件中定义,则编译的时候会出现重复定义的错误。如果只有头文件中声明就会出现没有定义有警告。

2:在声明全局变量,尤其是数组的时候,千万要小心,因为声明不能初始化,而且要注明数组的具体大小,这一个小错误让我白白的调试了一上午

有几篇比较好的百度文库中的文章推荐给大家:

链接地址:http://wenku.baidu.com/view/9b5b7cc15fbfc77da269b1b9.html

还有刚才的注意事项:http://hi.baidu.com/pepsi360/item/51dd75c03e2b9a350931c6a1

这两篇文章讲解了多文件系统的一般规律,大家可以模仿模仿,改写一下自己写的比较长的多文件

 

版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3364847.html

基于STC51单片机的FAT32文件系统设计源码 基于STC的51单片机对SD卡的读取,涉及FAT32文件系统设计源码 立即下载

相关推荐

51单片机实现YAFFS文件系统

51单片机实现YAFFS文件系统,只要讲述了YAFFS文件系统的介绍以及在51单片机上的具体实现。

关于51单片机移植znFAT文件系统,需要对以下几个文件中头文件及参数进行修改

在51单片机进行znFAT文件系统移植时,(我们这里是直接在给的例程工程上进行修改) 需要将给的移植例程中的单片机型号改成自己使用的单片机型号,同时将SD卡用到的IO引脚修改,并对端口模式配置进行修改。这里我将使用STC8A8K64S4单片机进行移植: 第一步,把工程文件使用的单片机型号改成我们使用的单片机型号。打开znFAT文件系统例程后,点击图中画框的【魔法棒】按钮,然后弹出新的对话框,这时...

weixin_43915898的博客 1887

基于51单片机的SD卡fat32文件系统,znfat原创。已测试,文件读取效率比较快。

基于51单片机的SD卡fat32文件系统,znfat原创。已测试,文件读取效率比较快。 解压后根据你的sd卡的端口修改之后下载到单片机就可以用了。

基于单片机的文件系统实现

首先申明,我只实现了部分的功能,没有提到的功能默认是没有的。 实现了:获得SD信息,获得总分区信息,获得某分区的信息,读取fat分区表功能。 具体有列出根目录下所有文件功能,查找某文件是否存在功能,显示某文件内容功能,删除某文件功能。 都仅限于在根目录下操作,且要满足8.3文件名格式。 因老师有要求,不能列出所有文件内容,现列出头文件,给各位一个参考。 /****************

lineter的专栏 8390

51单片机读写SD卡程序,使用FAT文件系统

51单片机读写SD卡程序,使用FAT文件系统,51单片机也可以有海量存储了

C51上的FAT32文件系统参考源代码

C51上的FAT32系统,可以作为单片机驱动SD卡等类似的文件系统参考

【C51】keil c51多文件编程

多文件编程可以大大提高程序代码移植率,避免程序看起来臃肿复杂 以流水灯为例 我们需要创建三个文件 led.c led.h main.c led.c文件编写 #include "led.h" // 这里包含 led.h 这个头文件 sbit ADDR0 = P2^0; sbit ADDR1 = P2^1; sbit ADDR2 = P2^2; sbit ENLED = P1^1; u...

傅里叶也头大 3729

一个适用片内资源较小的单片机的文件系统

一个适用片内资源较小的单片机的文件系统,fatfs的简化版 Petit FATFS。压缩包内有文件系统源代码,移植例程,移植教程。适合向arm过渡

汇编中调用子函数时,参数传递的三种实现方式

1)用寄存器(变量)传递参数, 在参数不多的时候采用这种方式(用的最多)。          附图实现的功能为串口发送ASCII码到上位机。,采用的就是寄存器传递参数方式。 2)用地址表传递参数         在主程序中建立一个地址表,把要传递的参数都存放到地址表中,然后将地址表的首地址通过寄存器传送到子程中,最后子程序通过地址表获取参数。   3)用堆栈传递参数        ...

chipsea_mltsum的博客 5402

于振南的适用于51单片机的文件系统

于振南的适用于51单片机的文件系统 版本比较全

51多文件汇编(汇编+汇编/汇编+C)示例

51单片机进行多文件汇编的示例代码 包括多汇编文件单独编译 汇编和C混合编译 以及C语言调用但参数的汇编子程序 汇编调用但参数的C语言子程序 可以用C语言写算法 用汇编编写中断代码 或用汇编编写一些底层驱动

原创:FAT8单片机 Flash文件系统V0.0.1

机缘 在做一个单片机嵌入操作系统,需要使用文件系统,移植了开源的ff文件系统,感觉还是有很多问题,刚好疫情居家办公,4月1日愚人节这天从头开始写了这个单片机文件系统,已经有了FAT12,FAT16,FAT32, 这个文件系统足够小,几乎目前所有单片机都可以用,所以我就命名为FAT8,今天是第一个版本就叫V0.0.1吧。 直接上代码: #include "fat8.h" /* 单片机简易文件系统FAT8 v 0.0.1 适合小容量单片机文件存取 第一个块做为文件分配表,每16个字节一个分区, 第0个分区

u010952129的博客 1219

快速谱峭度算法解析

最近一直在研究振动信号的最优解调带宽寻找方法,而快速谱峭度算法是最常见的一种,因此本篇文章准备对该算法做个深入解析,也相当于自己的学习记录了。本篇文章对快速谱峭度算法做了一个较为详细的介绍,实际上就是通过多组滤波器将信号分解到不同的频段,再计算每个频段的峭度,从而找到值最大的频段,进一步地我们也可以选取其他指标作为频段的选择,以便更好地找到振动信号中的故障信息。

qq1234534215的博客 2742

如何简洁高效地布局51单片机程序(多文件)

在我们建成一个51工程文件后,会向其中增加一些.c文件,同时还会有一些.h文件。如何避免文件多造成的混乱呢,同时还能有效地将一系列的.c文件成功地添加到工程文件,并且.h文件也能自动被识别出来呢。下面讲讲具体实现 1.先在一个空的文件夹下新建如下文件夹 2.然后打开app文件夹在该文件夹下新建一个src文件夹。 3.接着在bsp文件夹下创建两个新的文件夹,名称分别为inc和src ...

weixin_41556394的博客 7284

YOLOv10注意力革新:小波域注意力(WDA)如何实现多尺度特征精准聚焦

本文深入解析YOLOv10中的小波域注意力(WDA)机制,探讨其如何通过频域分解与动态聚焦实现多尺度特征精准提取。WDA模块结合离散小波变换与注意力机制,显著提升小目标检测性能,在VisDrone数据集上AP提升达12.6%。文章详细介绍了两种集成方案及代码实现,为计算机视觉开发者提供实用指南。

weixin_29079671的博客 253

【Ubuntu2404】Ubuntu24.04安装NVIDIA驱动/CUDA/cuDNN搭建神经网络训练环境

NVIDIA 驱动、CUDA和cuDNN是紧密相关但各自具有独特功能的技术,它们共同为图形处理单元(GPU)加速的应用程序提供了强大的支持。本文主要介绍如何安装 `NVIDIA` 驱动、CUDA及cuDNN,为后续神经网络训练提供支持。本文主要介绍Ubuntu24.04安装NVIDIA驱动、CUDA和cuDNN的流程。

王阿巴和王咕噜 1万+

基于IAP15F2K61S2的带文件系统的微型操作系统

带根文件系统的51微型操作系统 有问题请联系2250433158@qq.com 声明:本系统所有的文件仅供学习交流使用,转载使用请注明出处,不要用于商业用途

YellowMax 4938

【文献阅读笔记】之基于注意力机制的深度学习路面裂缝检测

中文,计算机辅助设计与图形学学报,第 32 卷 第 8 期,2020 年 8 月。 DOI: 10.3724/SP.J.1089.2020.18059 摘要: 为实现自动准确地检测路面裂缝, 提升路面裂缝检测效果, 提出了一种基于注意力机制的裂缝检测网络 (attention-based crack networks, ACNet). 该网络采用编码器-解码器网络构架, 编码器采用 ResNet34 为骨干网, 提取路面裂缝特征; 在编码器和解码器间加入基于注意力机制的特征模块(attention-b

qq_44785998的博客 7593

看门狗的概念与应用以及如何用软件实现系统的复位

在单片机构成的系统中,由于单片机的工作有可能受到来自外来电磁场的干扰而出现程序跑飞的现象,从而陷入死循环,出于对单片机运行状态进行实时性的监控的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称看门狗(watch dog) 看门狗的工作过程如下: 看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使他定时的往看门狗芯片的这个引脚送入高电平(或者是低电平)这一个

疯是一种精神 3302

动态欧拉角与静态欧拉角:从理论到实践的深度解析

本文深度解析了动态欧拉角与静态欧拉角的核心区别与应用场景。静态欧拉角基于固定世界坐标系,适用于全局导航与三维场景编辑;而动态欧拉角基于物体自身坐标系,更符合飞行模拟、机器人控制等直觉操作,但需警惕其固有的万向节死锁问题。文章通过理论结合实战,帮助开发者在机器人、无人机及图形学项目中正确选用与处理旋转表示。

java5的博客 1074

思科模拟器汉化教程(附带中文汉化包)

思科模拟器是一种模拟Cisco网络设备的软件工具。它可以模拟Cisco网络设备的所有功能,包括路由器、交换机、防火墙等,并提供了一个可视化的用户界面,让用户可以通过图形化的方式来管理网络设备。思科模拟器因其便捷、易用的特点被广泛应用于网络工程师的实验、测试和培训等方面思科模拟器的功能是强大的,但当我们在使用思科模拟器的时候就会有一些烦恼,由于思科是全球最大的企业级网络设备供应商之一。思科公司的产品和服务被广泛应用于各种领域和行业,所以思科模拟器默认是全英文的,但是在最新版本中是支持中文的。

2302_76908369的博客 4万+

单片机的动手实践篇--51单片机玩转12864

12864液晶的驱动和1602的类似,只不过是多了几个扩展的功能,不如画图功能: 这里讲一下:不要简单的认为12864是y轴64,x为128,那是点阵的分布,不是读写的分布,如正图表示,y轴的32行,从0到31,x轴的16 从0到15,0到7为上半个屏幕,8到15在下半个屏幕,所以绘图的时候,有两个部分要进行书写 在12864上载入任意一幅图: 示例代码: #include

疯是一种精神 2813

MFC 中实现 WebSocket 客户端以支持实时双向通信

3. **协议兼容**:若服务器使用 `wss://`(加密),需在 `lws_client_connect_info` 中配置 SSL 相关参数(`ssl_connection = LCCSCF_USE_SSL`)。- 编辑框(`m_editUrl`):输入 WebSocket 服务器地址(如 `ws://echo.websocket.events`)。2. 将编译后的库文件(`.lib`、`.dll`)和头文件路径添加到 MFC 项目中(项目属性 -> VC++ 目录)。// UI:服务器地址。

寒寒豆豆软件公司的博客 202
上一篇: 单片机其他外围设备的使用
下一篇: 单片机的动手实践篇--51单片机玩转12864
hust我是船长
博客等级 码龄14年 24粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值