PIC单片机,C语言,头文件,请高手帮注释带#号的句,它们的作用,我学下头文件的写,万分感谢!!!

#ifndef EEPROM_SDA
#define EEPROM_SDA PIN_C4
#define EEPROM_SCL PIN_C3
#endif

#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)
#define EEPROM_ADDRESS long int
#define EEPROM_SIZE 512
void init_ext_eeprom() {
output_float(EEPROM_SCL);
output_float(EEPROM_SDA);
}
BOOLEAN ext_eeprom_ready() {
int1 ack;
i2c_start(); // If the write command is acknowledged,
ack = i2c_write(0xa0); // then the device is ready.
i2c_stop();
return !ack;
}
void write_ext_eeprom(long int address, BYTE data) {
while(!ext_eeprom_ready());
i2c_start();
i2c_write((0xa0|(BYTE)(address>>7))&0xfe);
i2c_write(address);
i2c_write(data);
i2c_stop();
}

前面那几句应该不用说了,至于 “ #use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)” 这句,建议参考一下《PIC 单片机CCS之C语言》,第23页,希望对你能有所帮助。

http://read.pudn.com/downloads121/ebook/515912/PICC_mcu_CCS.pdf
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-21
就是几个宏定义啊,ifndef表示如果没有定义,#define 就是定义。。,百度下嵌入式C语言追问

#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)这个呢

PIC单片机C语言编程的高手来帮帮忙啊!
AD9851的驱动程序 \/\/头文件 include "SPCE061A.h"\/\/变量说明 unsigned long int Freq_Ctrl_Word = 0x051eb851; \/\/频率控制字 先传低位再传高位 unsigned int Phase_Ctrl_Word = 0x0000; \/\/相位控制字 先传低位再传高位 unsigned int Order_Ctrl_Word = 0x0000;\/\/b32:0 6倍频关闭...

最近刚学PIC单片机,有个程序看不懂,请高手帮下,越详细越好:
INDF 和 FSR两个寄存器构成了一个间接寻址的作用。FSR有点像C语言中的指针,INDF是一个虚拟的寄存器,对它操作其实是对FSR锁指向的内存单元操作。简单的说,当20h这个数赋给了FSR,那么就是FSR作为指针指向了内存中地址为20h的这个单元(以下就用<20h>来表示这个单元,以区别十六进制的20h这个数值)...

PIC单片机编程的问题 刚学 不太懂
movwf T1CON ; 振荡频率\/4,不带门控 movlw .16 ; AD 次数 = 10 movwf COUNTER MAIN010 btfss CALCULATE_AD ; = 1 -> 主循环 goto MAIN010 bcf CALCULATE_AD ; 清 A\/D 转换标志 bsf STATUS,RP0 ; 选择bank1 movf ADRESL,W ; W = AD L addwf adsum,F ; adsum = AD L btfsc STATUS,C ; ...

单片机,C语言写的一小段程序,高手帮看看
这是一个简单的流水灯实验,前面的void delay(uint)是一个函数申明,你这一段里面没有给delay函数,给的程序不够清晰。如果是延迟100ms的话,delay函数应该是这样的:void delay(unsigned int x){ unsigned int i,j;for( i =0;i < x;i++ ){ for( j =0;j<3;j++ );} } 给定delay(1...

单片机工作总结
单片机工作总结1 单片机是一门应用性和综合性很强的学科,它综合了电子技术中的模拟电路和数字电路方面的知识,特别是数字电路,因为数字电路在里面的应用很多。学习单片机最好先从汇编语言入手,虽然汇编语言是低级语言 ,编程效率低,但它比C语言占用内存小,执行速度快等优点,在刚接触单片机时更容易学习。由于单片机涉及的...

DSC或PIC单片机的汇编问题!
OC7R = 500; \/\/第四第五句 PR2 = 500;T2CONbits.TON = 1 \/\/开定时器。\/\/结束,这段程序应该是PWM的程序。另外,建议楼主还是学学汇编。你如果想学精这个芯片,指令是必须学懂的,否则调试的时候不好调试。因为C语言最终还是编译成汇编后才翻译成HEX文件。有的时候调试复杂的程序,不可...

PIC单片机与PC机的串口通信程序出现下面的错误,这是什么错误啊?错误原 ...
等中断处理完,再执行走到一半的_delay_ms程序,因为数据被冲掉了,天知道是什么结果。用的是PIC的C语言吧?不好好看书,PIC的C语言最不灵光的(之一)就是程序的混合调用。资源不够啊!其它单片机看编译器,有的也会报错,有的会很聪明(比如KEIL)的知道要保护原始数据,在中断里帮你保护了。

关于单片机学习,学了51,又学什么???【请高手和前辈指点】
我是自动化专业本科二年级的学生,我们专业学校没有开设单片机方面的课程。我半年前自学学会了80C51单片机,现在 在自学 VC++可视化编程,又想继续学单片机,但是不知道现在该学哪种单片机,以后又该学哪种?请单片机高手和前辈给予指点,请详细说说:学哪种单片机最有用(既可军用又可民用)?以后我要是学 自动控制方向 或者...

PIC单片机如何下载程序。
AVR既支持汇编又支持C编程,而且下载比较方便,可以ISP下载(可自制下载工具,较简单)。但PIC不行,要用烧录器,也可以自制烧录器,但比较麻烦。

怎么学习单片机外围器件
首先,学习单片机要有一定的基础:电子技术方面要有数字电路和模拟电路等方面的理论基础,特别是数字电路;编程语言要求汇编语言或C语言。要想成为单片机高手,建议初学者首先学习汇编语言,学的差不多的时候,转入C语言学习。尽管汇编语言属于低级语言,编程效率低,但是较C语言具有目标代码简短,占用内存少,...

相似回答
大家正在搜