Update CCS12 peripheral firmware and documentation
This commit is contained in:
@@ -1,3 +1,12 @@
|
||||
/**
|
||||
* @file spise2p.h
|
||||
* @brief Конфигурация SPI EEPROM и структуры её конечного автомата.
|
||||
*
|
||||
* Определяет команды микросхемы, ширину адреса/данных, скорость SPI и состояния
|
||||
* транзакции. SPISE2P_DRV_DEFAULTS создаёт единственный драйвер с callback-функциями;
|
||||
* перед чтением или записью требуется InitSeeprom(), а диапазон операции должен
|
||||
* оставаться внутри SEEPROM_LEN.
|
||||
*/
|
||||
/*=====================================================================
|
||||
File name : SPISE2P.H
|
||||
|
||||
@@ -17,7 +26,7 @@ Date : 30/6/2003 (DD/MM/YYYY)
|
||||
|
||||
#define __SPISE2P_H__
|
||||
|
||||
// Ёмкость памати в байтах
|
||||
// Ёмкость памати в байтах
|
||||
#define SEEPROM_LEN 0x10000
|
||||
|
||||
#define NULL 0
|
||||
@@ -90,13 +99,28 @@ typedef struct {
|
||||
|
||||
typedef SPISE2P_DRV *SPISE2P_DRV_handle;
|
||||
|
||||
/** Сбрасывает поля конечного автомата и конфигурирует SPI. */
|
||||
void SPISE2P_DRV_init(SPISE2P_DRV * );
|
||||
/** Продвигает конечный автомат EEPROM на один таймерный такт. */
|
||||
void SPISE2P_DRV_tick(SPISE2P_DRV *);
|
||||
/** Деактивирует аппаратный chip-select EEPROM. */
|
||||
void SPISE2P_DRV_csset(void);
|
||||
/** Активирует аппаратный chip-select EEPROM. */
|
||||
void SPISE2P_DRV_csclr(void);
|
||||
|
||||
/** @return Ненулевое значение, когда драйвер готов принять новую операцию. */
|
||||
unsigned int spiSe2pFree(SPISE2P_DRV *se2p);
|
||||
/**
|
||||
* Запускает асинхронную запись.
|
||||
* @param se2p Экземпляр конечного автомата.
|
||||
* @param msgPtr Описание адреса, буфера и длины блока.
|
||||
*/
|
||||
void spiSe2pWrite(SPISE2P_DRV *se2p, SE2P_DATA *data);
|
||||
/**
|
||||
* Запускает асинхронное чтение.
|
||||
* @param se2p Экземпляр конечного автомата.
|
||||
* @param msgPtr Описание адреса, буфера и длины блока.
|
||||
*/
|
||||
void spiSe2pRead(SPISE2P_DRV *se2p, SE2P_DATA *data);
|
||||
|
||||
#if(SPISE2P_DATA_WIDTH==SIXTEEN_BIT)
|
||||
@@ -109,25 +133,27 @@ void spiSe2pRead(SPISE2P_DRV *se2p, SE2P_DATA *data);
|
||||
#define WORD_LEN 1
|
||||
#endif
|
||||
|
||||
/* Установка драйвера сериальной EEPROM. **
|
||||
** Инициализациа SPI и проч. Также настройка таймера. **
|
||||
** Драйвер работает на прерываниах от таймера 2! */
|
||||
/* Установка драйвера сериальной EEPROM. **
|
||||
** Инициализациа SPI и проч. Также настройка таймера. **
|
||||
** Драйвер работает на прерываниах от таймера 2! */
|
||||
void InitSeeprom(void);
|
||||
|
||||
/* Запись блока в SEEPROM. Параметры таковы: **
|
||||
** adres - адрес в епромке, куда писать. **
|
||||
** adres = 0..0x8000, если длина слова 8 бит **
|
||||
** adres = 0..0x4000, если длина слова 16 бит **
|
||||
** buf - указатель на памать, откуда писать. **
|
||||
** size - длина блока в байтах. По-любому в байтах! */
|
||||
/* Запись блока в SEEPROM. Параметры таковы: **
|
||||
** adres - адрес в епромке, куда писать. **
|
||||
** adres = 0..0x8000, если длина слова 8 бит **
|
||||
** adres = 0..0x4000, если длина слова 16 бит **
|
||||
** buf - указатель на памать, откуда писать. **
|
||||
** size - длина блока в байтах. По-любому в байтах! */
|
||||
/** @param size Размер блока в байтах, независимо от SPISE2P_DATA_WIDTH. */
|
||||
void Seeprom_write(unsigned int adres, unsigned int buf[], unsigned int size);
|
||||
|
||||
/* Чтение блока из SEEPROM. Параметры таковы: **
|
||||
** adres - адрес в епромке, откуда читать. **
|
||||
** adres = 0..0x8000, если длина слова 8 бит **
|
||||
** adres = 0..0x4000, если длина слова 16 бит **
|
||||
** buf - указатель на памать, куда читать. **
|
||||
** size - длина блока в байтах. По-любому в байтах! */
|
||||
/* Чтение блока из SEEPROM. Параметры таковы: **
|
||||
** adres - адрес в епромке, откуда читать. **
|
||||
** adres = 0..0x8000, если длина слова 8 бит **
|
||||
** adres = 0..0x4000, если длина слова 16 бит **
|
||||
** buf - указатель на памать, куда читать. **
|
||||
** size - длина блока в байтах. По-любому в байтах! */
|
||||
/** @param size Размер блока в байтах, независимо от SPISE2P_DATA_WIDTH. */
|
||||
void Seeprom_read(unsigned int adres, unsigned int buf[], unsigned int size);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user