c语言编程y是偶数,(C语言优秀编程风格)–Y.doc

(C语言优秀编程风格)–Y

本页关键词:什么是eeprom spi eeprom eeprom程序 eeprom资料 eeprom结构 eeprom 读写 eeprom的读写

本页详细介绍ICC自带EEPROM操作函数的操作方法,包括单字符读写,数组读写,结构体读写。

程序代码:下载相关文件

void main(void)

{

unsigned char temp1,temp2; /*定义变量*/

unsigned char buffer[10]; /*定义数组*/

unsigned char buf[]="AVR与虚拟仪器"; /*定义字符串*/

EEPROMwrite(0x10,'a'); /*单字符写入到0x10,注意是单引号*/

temp1 = EEPROMread(0x10); /*读一个字符到temp1*/

EEPROM_WRITE(0x20,"abcdefg"); /*写字符串到0x20*/

EEPROM_READ(0x20,temp2); /*读字符到temp2,temp2=a*/

EEPROM_READ(0x20,buffer); /*读字符串到数组中 buffer[10]=abcdefg */

EEPROM_WRITE(0x30,buf); /*数组中的值写到EEPROM中:0X30开始为"AVR与虚拟仪器"*/

while(1)

;

}

AVR与虚拟仪器致力于提供最优质的AVR和labview技术服务,最全的技术资料,最好的开发板方案。

我们将以AVR DB-CORE Ver2.3 Atmega16开发板为平台,一步一步,教会大家AVR单片机编程。

本站所有范例都采用ICC编写,ICC编译器加AVR Studio下载调试,下载器为JTAG&ISP下载编程器。

你现在的位置:AVR与虚拟仪器>>新手入门>>AVR c语言优秀编程风格 论坛

AVR c语言优秀编程风格

作为一个初学者如何具有良好的程序设计风格呢?我想引用一个关于初学者请教编程大师的故事让读者自己去领悟。

有一位编程大师,他写非结构化的程序,一位初学者刻意模仿他,也写非结构化的程序。当他让大师看他的进步时,大师批评了他的非结构化程序:“ 对一位编程大师合适的东西未必对一个初学者同样合适,在超越结构化之前,你必须理解编程之道。” 我个人认为作为一个初学者应该踏踏实实的打好程序设计的基础,不要急功近利,舍本逐末。我走过不少弯路,希望大家能和我一样能牢记编程大师的忠告:“对编程大师合适的东西未必对一个初学者同样合适”。

本文所描述的优秀编程风格适合于大部分语言,文章中可能提到你不是很了解的概念,没有关系,你放心的读下去,当你使用AVR一个月之后,你什么都明白了。

AVR c语言优秀编程风格

文件结构

模块化的程序应该是有一个很好的程序结构的。AVR C语言程序有两种用户文件,.c程序文件,.h头文件,程序中编写过程中需要在.c文件中包含.h头文件。初学者往往出现重复包含或者头文件包含错误的问题,我当时也时常为这种错误而发愁。下面我以我写的电机驱动例程来给大家说明一下,优秀的编程文件结构。

这个工程中有8个文件,一个说明文件,如下图:下载程序例子 电机控制案例 。

我写的成型的程序的文件个数基本上都是偶数,因为每一个结构化的函数定义.c文件都会对应一个.h文件。main.c对应config.h。我们来看看各文件的包含关系。下面我们看看这些文件的包含关系与内容:[推荐的文件包含顺序与关系]

所有.c文件都包含了config.h文件。如: #include "config.h"

在config.h 中有如下代码:

#include "delay.h"

#include "device_init.h"

#include "motor.h"

这样做就不容易出现错误的包含关系,为了预防万一,我们还引入了宏定义与预编译。如下:

#ifndef _UNIT_H__

#define _UNIT_H__ 1

//100us

extern void Del

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值