⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sio.i

📁 一个基于ATMEGA128的TWI(I2C)EEPROM-24c01的程序
💻 I
字号:
#line 1 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"

#line 9 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
#line 1 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib/..\config.h"

#line 9 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib/..\config.h"



#line 1 "D:/icc/include/iom128v.h"




#line 7 "D:/icc/include/iom128v.h"


#line 11 "D:/icc/include/iom128v.h"


#line 14 "D:/icc/include/iom128v.h"


#line 17 "D:/icc/include/iom128v.h"


#line 20 "D:/icc/include/iom128v.h"






























































































































































































































































































































































































































































































































































































































































































































































































#line 13 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib/..\config.h"
#line 1 "D:/icc/include/macros.h"






























#line 35 "D:/icc/include/macros.h"














void _StackCheck(void);
void _StackOverflowed(char);




#line 14 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib/..\config.h"

#line 1 "D:/avrvi/AVRVi_m128_Starter_Kit/USART_24C01/source/lib\TWI.h"

#line 9 "D:/avrvi/AVRVi_m128_Starter_Kit/USART_24C01/source/lib\TWI.h"



extern void twi_init(void);
extern void i2cstart(void);
extern unsigned char i2cwt(unsigned char data);
extern unsigned char i2crd(void);
extern void i2cstop(void);


#line 16 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib/..\config.h"
#line 1 "D:/avrvi/AVRVi_m128_Starter_Kit/USART_24C01/source/lib\delay.h"

#line 9 "D:/avrvi/AVRVi_m128_Starter_Kit/USART_24C01/source/lib\delay.h"



extern void delay_1us(void);
extern void delay_nus(unsigned int n);
extern void delay_1ms(void);
extern void delay_nms(unsigned int n);


#line 17 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib/..\config.h"
#line 1 "D:/avrvi/AVRVi_m128_Starter_Kit/USART_24C01/source/lib\AT24C01.h"

#line 9 "D:/avrvi/AVRVi_m128_Starter_Kit/USART_24C01/source/lib\AT24C01.h"














































extern unsigned char * wt24c_fc(unsigned char *p, unsigned int ad, unsigned char n);
extern void wt24c(unsigned char *p_rsc, unsigned int ad_dst, unsigned int num);
extern void rd24c(unsigned char *p_dst, unsigned int ad_rsc, unsigned int num);


#line 18 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib/..\config.h"


#line 10 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"

























#line 43 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
void Com_init (void) {



























Com_baudrate (9600);


}

#line 84 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
void Com_baudrate (unsigned int baudrate) {
unsigned int tmp;
tmp= F_CPU/baudrate/16-1;








}

#line 106 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
unsigned char Com_putchar (unsigned char c,siocirqueue *RTbuf) {

if (Tbuf_full(RTbuf))
   return(0);
else{
	Tbuf_putchar(c,RTbuf);
	return(1);
	}
}

#line 125 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
void Com_putstring (unsigned char *p,unsigned char len,siocirqueue *RTbuf) {
unsigned char i;

if (len!=0 ){
	for(i=0;i<len;i++)
	while(Com_putchar(p[i],RTbuf)==0);
	}
	else {
		do{
			while(Com_putchar(*p,RTbuf)==0);
			}while(*p++!='\n');
	}

}

#line 150 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"

unsigned char Com_getchar (unsigned char mode,siocirqueue *RTbuf) {







		while(!Com_R_count(RTbuf));
		return (Rbuf_getchar(RTbuf));
}



void Com_Rbuf_Clear(siocirqueue *RTbuf){
	Rbuf_init(RTbuf);
}



unsigned char Com_getstring (unsigned char *p,unsigned char len,siocirqueue *RTbuf) {
unsigned char i=0;

if (len>0 ){
	for(i=0;i<len;i++){

		*p++=Com_getchar(1,RTbuf);
		}
	return(len);
	}
	else{


		do{
				*p++=Com_getchar(1,RTbuf);
				i++;

			}while(*(p-1)!='\n');


		return(i);
		}

}



#line 207 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
unsigned char Com_R_count(siocirqueue *RTbuf){
return RTbuf->R_count;
}

#line 220 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
void Rbuf_init(siocirqueue *RTbuf){
	RTbuf->R_front=0;
	RTbuf->R_rear=0;
    RTbuf->R_count=0;
	RTbuf->R_overflow=0;
}

#line 236 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
void Tbuf_init(siocirqueue *RTbuf){
	RTbuf->T_front=0;
	RTbuf->T_rear=0;
    RTbuf->T_count=0;
	RTbuf->T_disabled=1;
	}

#line 252 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
unsigned char Rbuf_empty(siocirqueue *RTbuf){
	return RTbuf->R_count==0;
	}

#line 291 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
unsigned char Tbuf_full(siocirqueue *RTbuf){
	return RTbuf->T_count==TBUF_SIZE;
	}

#line 323 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
void Tbuf_putchar(unsigned char x,siocirqueue *RTbuf){
	if(!Tbuf_full(RTbuf)){
		TXC_DIS();
		if (RTbuf->T_disabled)
			{
 UDR =x;
			RTbuf->T_disabled=0;
			}
		else
			{
			RTbuf->T_count++;
			RTbuf->T_buf[RTbuf->T_rear]=x;
			RTbuf->T_rear=(RTbuf->T_rear+1) % TBUF_SIZE;
			}
		TXC_EN();
	}
}

#line 376 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"
unsigned char Rbuf_getchar(siocirqueue *RTbuf){
	unsigned char Btemp=0;
	if (!Rbuf_empty(RTbuf)){
		Btemp=RTbuf->R_buf[RTbuf->R_front];
		REV_DIS();
		RTbuf->R_count--;
		RTbuf->R_front=(RTbuf->R_front+1) % RBUF_SIZE;
		REV_EN();
		}
	return (Btemp);

}

#line 410 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"


#line 414 "D:\avrvi\AVRVi_m128_Starter_Kit\USART_24C01\source\lib\sio.c"





















































































⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -