📄 com.c
字号:
/****************************************************
*Copyright (c) 2007, 新芝股份
*All rights reserved.
*
*文件名称:common.c
*
*当前版本:1.1
*作者:黄文剑
*完成日期:2007.10.10
*
*取代版本:1.0
*原作者:
*完成日期:2007.10.16
****************************************************/
#include<pic.h>
#include<stdio.h>
unsigned char delay_data1_sys = 249;
unsigned char delay_data2_sys = 7;
unsigned char delay_data1 = 249;
unsigned char delay_data2 = 14;
/*****************************************************
Function Name: Delay_5ms
Function Description: Delay n*5ms
Input Parameters: None
Output Parameters: None
Return Value: None
Example of Use Case: None
*****************************************************/
void Delay_5ms(unsigned char n)
{
unsigned char i = 0;
for(i; i<n; i++)
{
#asm
movlw 7
movwf _delay_data2_sys
movlw 249
movwf _delay_data1_sys
decfsz _delay_data1_sys
goto $-1
decfsz _delay_data2_sys
goto $-4
return
#endasm
}
}
/*****************************************************
Function Name: Delay_10ms
Function Description: Delay n*10ms
Input Parameters: None
Output Parameters: None
Return Value: None
Example of Use Case: None
*****************************************************/
void Delay_10ms_ISR(unsigned short n)
{
unsigned char i = 0;
for(i; i<n; i++)
{
#asm
movlw 14
movwf _delay_data2
movlw 249
movwf _delay_data1
decfsz _delay_data1
goto $-1
decfsz _delay_data2
goto $-4
return
#endasm
}
}
/*****************************************************
Function Name: Eep_Rom_Init
Function Description: eeprom init
Input Parameters: None
Output Parameters: None
Return Value: unsigned char
Example of Use Case: None
*****************************************************/
unsigned char Eep_Rom_Init(void)
{
unsigned char i = 0;
unsigned char eep_data = 0;
for(i = 0; i<0xFF; i++)
{
eeprom_write(i, 0);
}
Delay_10ms_ISR(1);
for(i = 0; i<0xFF; i++)
{
eep_data = eeprom_read(i);
if(eep_data != 0)
{
break;
}
}
return i;
}
/*****************************************************
Function Name: Eep_Rom_Write_Filename
Function Description: write data to eeprom
Input Parameters: unsigned char n: eeprom index;
unsigned char *eeprom_file_name: data;
Output Parameters: None
Return Value: unsigned char
Example of Use Case: None
*****************************************************/
unsigned char Eep_Rom_Write_Filename(unsigned char n, unsigned char *eeprom_file_name)
{
unsigned char i = 0;
unsigned char *file_name_in = NULL;
file_name_in = eeprom_file_name;
if(file_name_in == 0)
return 1;
while((file_name_in[i] != 0) && (i < 8))
{
eeprom_write(n*8 + i, file_name_in[i]);
i++;
}
return 0;
}
/*****************************************************
Function Name: Eep_Rom_Read_Filename
Function Description: read data to eeprom
Input Parameters: unsigned char n: eeprom index;
Output Parameters: unsigned char *eeprom_file_name: data;
Return Value: unsigned char
Example of Use Case: None
*****************************************************/
unsigned char Eep_Rom_Read_Filename(unsigned char n, unsigned char *eeprom_file_name)
{
unsigned char i = 0;
unsigned char *file_name_out = NULL;
file_name_out = eeprom_file_name;
if(file_name_out == 0)
return 1;
do
{
file_name_out[i] = eeprom_read(n*8 + i);
i++;
}while((file_name_out[i-1] != 0) && (i < 8));
return 0;
}
/*****************************************************
Function Name: Eep_Rom_Delete_Filename
Function Description: delete data from eeprom
Input Parameters: unsigned char n: eeprom index;
Output Parameters: None
Return Value: unsigned char
Example of Use Case: None
*****************************************************/
unsigned char Eep_Rom_Delete_Filename(unsigned n)
{
unsigned char i = 0;
while(i<8)
{
eeprom_write(n*8 + i, 0);
i++;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -