{#asm("cli");
#asm("wdr");
/* Start timed equence */
WDTCSR |= (1<<WDCE) | (1<<WDE);
/* Set new prescaler(time-out) value = 16K cycles (~0.125 s) */
WDTCSR = (1<<WDE) | (1<<WDP1) | (1<<WDP0);
while(1);
}
#define TCNT1 (*(unsigned int *) 0x84)
/* ***** WATCHDOG ********************* */
/* WDTCSR - Watchdog Timer Control Register */
#define WDP0 0 // Watch Dog Timer Prescaler bit 0
#define WDP1 1 // Watch Dog Timer Prescaler bit 1
#define WDP2 2 // Watch Dog Timer Prescaler bit 2
#define WDE 3 // Watch Dog Enable
#define WDCE 4 // Watchdog Change Enable
#define WDP3 5 // Watchdog Timer Prescaler Bit 3
#define WDIE 6 // Watchdog Timeout Interrupt Enable
#define WDIF 7 // Watchdog Timeout Interrupt Flag
eeprom struct eeprom_structure {
int date; // дата начала поездки
int time_s; // время начала поездки
int km_s; // пробег за поездку
int l_s; // расход за поездку
unsigned char v_max; //максимальная скорость в поездке
int time; // продолжительность поездки
int time_drive;
} save[100]={0};
struct eeprom_structure eeprom *ep;
упс... это я mega644.h поправил в свое время, т.к. изначально была мега32, а только потом стала мега644 и чтобы везде не переписывать я внес изменения в файл регистров. Программа написана под CodeVision версия 1.24.8dSun-dey писал(а):а как обойти ошибки? вот эту например: Error: undefined symbol 'TCNT1'
Это я со структурами экспериментировал, МК запоминает информацию по 100 последним поездкам (я правда этой функцией не пользуюсь) - дата и время начала поездки, сколько километров проехали и сколько литров бензина израсходовали, максимальная скорость достигнутая в течении поездки, продолжительность поездки и время проведенное в движении.Sun-dey писал(а):
собственно запись ниже наводит тихий ужас (я не волшебник, я только учусь)...что бы это могло значить?
- Код: Выделить всё
eeprom struct eeprom_structure {
int date; // дата начала поездки
int time_s; // время начала поездки
int km_s; // пробег за поездку
int l_s; // расход за поездку
unsigned char v_max; //максимальная скорость в поездке
int time; // продолжительность поездки
int time_drive; //время в движении
} save[100]={0};
struct eeprom_structure eeprom *ep;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3