Пример заголовочного файла, для AVR правда
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 09 сентября 2004 г. 21:04
В ответ на: picc18 заголовочные файлы, функции и т.д. (+) отправлено Andrey_ 09 сентября 2004 г. 20:35


#include < ina90.h>
#include < iom8.h>

/* *** Constant definitions *** */

//
// MCU related constants
//
#define FOSC 8000000L // MCU clock frequency
//
// Interrupt flag bits
//
#define TIMER0_BIT (1<<0) // Timer0 interrupt flag
#define DAC_BIT (1<<6) // To send data to the DAC flag
//
// Common constants
//
#define ERROR 0xFF // Bad function return
#define OK 0x01 // Good function return
#define DONE 0x02 // The work is done completely
//
// Calculation related constants
//
#define MAXDEGREE 9 // Maximum the polynomial's degree
#define NPOINTS 13
#define ADC_SCALE (5./4096)
//
// Control / display port bit definitions
//
#define CTRL_PORT PORTD // PORTD is used as a control port
#define CTRL_DDR DDRD //
#define TEST_PORT PIND // Input port
#define GREEN_LED (1<<6) // Green LED terminal
#define RED_LED (1<<7) // Red LED terminal
#define TEST_BIT (1<<5) // Test jumper connection port
#define BUTN_BIT (1<<4) // Button connection port

/* *** Data type definitions *** */

typedef
struct {
float x; // An argument value
float y; // and a function value
}
tPoint;

/* *** Global variable references *** */

//
// Global register variables
//
__no_init __regvar volatile char IntFlags @ 14; // Various interrupt flags
__no_init __regvar char KeyFlags @ 15; // Various keypad flags
__no_init __regvar unsigned TempData @ 12; // Temperature data
__no_init __regvar char ADCcount @ 11; // ADC temp data

//
// EEPROM data
//
__no_init __eeprom char ePDegr @ 10; // Polynomial degree
__no_init __eeprom float ePCofs[MAXDEGREE] @ 11; // and its coeffitients
//
// SRAM data
//
extern char Buffer[20];
//
// Program memory data
//

/* Function prototypes */

void InitADC(void);
void InitTimers(void);
void InitDAC7611(void);
void DAC7611Out(unsigned);
void InitADS7818(void);
unsigned ADS7818In(void);
void Calibr(void);
char lsqpoly(char m, char n, float *eps, tPoint p[], float c[], float v[]);
float Transform(float x);
char ScanButton(void);
void GreenON(void);
void RedON(void);
void LEDsOFF(void);


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru