eeprom.c
来自「用avr 操作eeprom的一个实例程序」· C语言 代码 · 共 98 行
C
98 行
#include "eeprom.h"
#include <util/delay.h>
//#include "funciton.h"
//宏定义
//extern volatile unsigned int A;
//const char eep_buf[] __attribute__((section (".eeprom"))) ="南北线";
//定义
//const unsigned int EEMEM AkValArray[4] = {10584, 5440, 10584, 5440};
//const __flash__ unsigned int AdcAkValArray[6]={0x4921,0x6152,0x1423,0x1640,0x1714,0x3192};
const EEMEM unsigned int AdcAkValArray[6]={0x4921,0x6152,0x1423,0x1640,0x1714,0x3192};
volatile unsigned char g_led_status;
/*********************************************************************************************************
* 函数名:delayms( )
* 函数功能:设定延迟时间,如果n=1,即延迟1ms
* 创建日期:2006-11-14
* 创建人:GUDONGYUAN
* 输入:n --延迟的时间,单位为ms
* 返回:无
* 修改日期:2006-12-3
* 修改人:GUDONGYUAN
* 修改说明:增加了一个延迟微妙级的函数,更改函数名字,以便于区别
* 备注:在-s级优化时,for循环 使用示波器测得,_delay_ms(1)实际为2ms
**********************************************************************************************************/
void delayms(unsigned int ms)
{
unsigned int i;
for(i=0;i<ms;i++) _delay_ms(1);
}
/********************************************************************************************************
* 函数名:speaker()
* 函数功能:控制蜂鸣器蜂鸣声,以及鸣叫时间。
* 创建日期:2006-11-14
* 创建人:GUDONGYUAN
* 输入:鸣叫持续时间 n 总时间:1ms*n
* 返回:无
* 修改日期:2007-2-6
* 修改人:
* 修改说明:修改清零方法,PORTG&=~(1<<PG0)
* 备注:
*********************************************************************************************************/
void speaker(unsigned int n)
{
PORTG|=(1<<PG0);
DDRG|=(1<<DDG0); //33PIN(PG0) 初始为输出,PG0置1 SPEAKER START
delayms(n);
PORTG&=~(1<<PG0); //SPEAKER STOP PG0=0;
}
int main(void)
{
//g_led_status=20;
// init_test();
//unsigned int Ad;
// Ad=AdcAkValArray[0] ;
//const char eep_buf[] __attribute__ ((section (".eeprom"))) ="南北线";
//const char bar1[] ={0,0,0,1,2,2,3};
/*
unsigned char i;
//读出
for (i = 0; i < 4; i ++) {
AkVal[i] = eeprom_read_word(&AkValArray[i]);
}
//写入
for (i = 0; i < 4; i ++) {
eeprom_write_word((unsigned int *)&AkValArray[i], AkVal[i]);
}
*/
while(1){
speaker(500);
delayms(1000);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?