原创 [博客大赛]嵌入式软件小总结

2013-6-3 16:58 1719 15 18 分类: MCU/ 嵌入式 文集: MCU

行行行,走走走,来到老爷的大门口,忙叫衙役来堵狗,我要告知自己以前的代码写的太烂了,希望老爷警告,以后写的好点。

1#  不要乱用goto.

前些天,买了一个GSM模块,来带了一个原代码,打开看了看,想好好学学,可是发现,满篇都是goto语句,最后自己翻着看了看C语言方面的书,发现并不提倡使用goto。引用《硬件工程师的10个C语言技巧》中的一句话:只要看到或想到goto语句,就会让软件工程师退缩,产生本能的厌恶。其中一个主要的原因是,一个遍布goto语句的程序会让让人很难抓住重心,不便于对程序的理解和维护。

2# 对变量的命名、函数的命名要规范

以前,自己的变量,不是i 就是j,对函数的命名,不是cs(测速)、就是ys(延时),要是自己,估计早上写了,下午去看上一半个小时,运气好点就看来了,要是以后别人想运用,或者说要让别人维护一下,我想维护的人一看都想吐,别说维护了。

3# 请用模块化编程 

说到模块化编程,不是将各个函数简单打包到xx.h中,那不是模块化编程,模块化编程必须一个xx.c一个xx.h,xx.c里面包括底层原驱动代码,也就是各个函数;xx.h主要是提供函数接口,方便使用者调用。

4# 错误不要以为肯定技术问题

自己大小大小的代码,已编译有错,首先就会想是不是哪儿不会写错了,总感觉自己理直气壮地,最后仔细一查,好多时候问题都是处在:

忘了逗号(,)忘了分号(;)忘了括号(()),或者是因为机械式的复制所致,说的好听点:粗心(呵呵),说白了就是习惯不好,不注意细节,最后导致这样、那样的问题,做个细心、又准备之人吧,*^_^*

最后附上自己代码,望大侠批评指教、或者大力拍砖。

 

/* ********************************************************************************************* */
// 工程简介:麦光开发板全板测试程序
// File name: eeprom.h
// Project  : 
// Processor: STC89C52RC
// Compiler : Keil4 C51 Compiler
// SysCLK   : 11.0592MHZ
// Author : Avlin
// Version: 1.0
// Create Date : 2013-06-02 星期六  
// Amend  Date :  
// Description: 本文件是eeprom硬件驱动程序头文件;
/* ********************************************************************************************* */
#ifndef __EEPROM_H__
#define __EEPROM_H__
 
#include
#include "common.h"
#include "IIC.h"
 
#define AT24C02DevIDAddr 0xa0
 
/* ========================================================================================= */
// 函数声明
/* ************************************************************************* */
/* Runction: 写AT24C02任意寄存器值;             
/* Input:   addr,AT24C02寄存器地址;val,要写入AT24C02寄存器的数据;
/* Output: none;
/* ************************************************************************* */
void AT24C02_WriteReg(uChar8 addr, uChar8 val);
/* ************************************************************************* */
/* Function: 读AT24C02任意寄存器值;              
/* Input:   addr,AT24C02寄存器地址;
/* Output: none;
/* ************************************************************************* */
uChar8 AT24C02_ReadReg(uChar8 addr);
/* ========================================================================================= */
 
#endif
 
/* ********************************************************************************************* */
// 工程简介:麦光开发板全板测试程序
// File name: eeprom.c
// Project  : 
// Processor: STC89C52RC
// Compiler : Keil4 C51 Compiler
// SysCLK   : 11.0592MHZ
// Author : Avlin
// Version: 1.0
// Create Date : 2013-06-02 星期日  
// Amend  Date :  
// Description: 本文件是eeprom硬件驱动程序;
/* ********************************************************************************************* */
#include "eeprom.h"
/* ************************************************************************* */
/* Runction: 写AT24C02任意寄存器值;             
/* Input:   addr,AT24C02寄存器地址;val,要写入AT24C02寄存器的数据;
/* Output: none;
/* ************************************************************************* */
void AT24C02_WriteReg(uChar8 addr, uChar8 val)
{
IIC_WrDatToAdd(AT24C02DevIDAddr, addr, &val, 1);
}
 
/* ************************************************************************* */
/* Function: 读AT24C02任意寄存器值;              
/* Input:   addr,AT24C02寄存器地址;
/* Output: none;
/* ************************************************************************* */
uChar8 AT24C02_ReadReg(uChar8 addr)
{
uChar8 val;
IIC_RdDatFromAdd(AT24C02DevIDAddr, addr, &val, 1);
return val;
}
 
若想看IIC_RdDatFromAdd()、IIC_WrDatToAdd函数的具体,可以向笔者留言,无偿提供,O(∩_∩)O~
 
晚安、好梦!

 

文章评论3条评论)

登录后参与讨论

用户1790382 2016-3-16 14:41

哇,老前辈好!

saj 2015-8-17 16:37

同感

自做自受 2015-8-17 11:39

生存有道。未尝不可!当努力。法自然。

用户1504253 2015-7-31 10:07

同感……

用户377235 2015-7-26 07:38

靠自己的双手和智慧吃饭,做技术的人是活的最硬气的人,也是最有梦想和信念的人,是民族的脊梁。坚持,不忘初心,不为所惑。如果老板待你不给公,不妨自己创业!

用户430486 2015-7-20 16:13

做技术确实很累,但是为了生活,在没有更好出路之前还是静下心来好好做苦逼的技术吧,做技术人都有一个通病,那就是话少。

东莞元宝代理Microchip长电二三极管 2015-7-17 15:37

牛人!继续做技术吧!找到您人生的榜样与坐标吧!像:‘乔布斯“、雷军、李一男、任正非等,做一个真正让人欣赏与敬佩的人!那些捣鼓一下就发财的人,从历史的长河来看,是没什么好评的!坚持到底!像和尚打座修炼一样!QQ:122395244周宗兵,聊聊!

用户1774716 2015-7-16 17:22

做技术是有这么个纠结,刚刚看到一个网友的评论,还有两个月退休,做了近一辈子的技术,点赞吧!

用户377235 2015-7-16 15:03

有这种想法就要赶快实施,如果一直这样坚持着做技术一来做不出成果二来到时有资本转行了又留恋那时取得的成绩。现在就转的话即使失败了再做回技术也不是什么难事

用户1275579 2015-7-16 13:37

如果除了技术,你啥也不会,那你不做技术还能干嘛?
相关推荐阅读
残弈悟恩 2018-11-29 18:36
【博客大赛】国产SWM32单片机学习连载(一)
让更多人知道“中国芯”第1章 SWM320控制器简介单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用缩写MCU表示。单片机由运算器、控制...
残弈悟恩 2018-11-22 21:47
签到
2年没来了,既然来了,就签个到...
残弈悟恩 2016-03-25 18:38
评论:@以芯筑未来 博客中提到的“[转]29岁了,继续做个精致的电子工程师”
今天没时间看,先转了,等有时间了,好好拜读一下。...
残弈悟恩 2016-01-11 14:55
【博客大赛】各位网友,你想对EDN网站说点什么?
自荣获2015年EDN最佳博主奖以后,可能太过于自满,就再也没怎么写过博客自己!! 说心里话,肯定不是自满,实在是太忙了,所以只是常来看看,看大家写了什么,有什么最新的科技动态,反正是不想写。...
残弈悟恩 2015-10-23 14:28
评论:@wshr_king's Blog 博客中提到的“CODE RW RO ZI”
积累一下,谢谢楼主。...
我要评论
3
15
关闭 站长推荐上一条 /2 下一条