Разработка автоматизированного рабочего места оператора обработки информации радиотехнических систем
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
----------------------------------------------------------
// Глобальные функции
//------------------------------------------------------------------------------void LCDD_Fill(void *pBuffer, unsigned int color);void LCDD_DrawPixel(*pBuffer,int x,int y,int c);unsigned int LCDD_ReadPixel(*pBuffer,int x,int y);void LCDD_DrawRectangle(*pBuffer,int x,int y,int width,int height,int color);void LCDD_DrawString(*pBuffer,int x,int y,char *pString,int color);void LCDD_DrawStringEx(*pBuffer,int x,int y,char *pString,int color,int dir);void LCDD_DrawStringWithBGColor(*pBuffer,int x,int y,char *pString,int fontColor,int bgColor);void LCDD_DrawStringWithBGColorEx(*pBuffer,int x,int y,char *pString,int fontColor,int bgColor,int dir);void LCDD_GetStringSize(char *pString,int *pWidth,int *pHeight);
#endif //#ifndef DRAW_H
#ifndef DMA_H
#define DMA_H
//------------------------------------------------------------------------------
// Определения
//------------------------------------------------------------------------------
#define DMA_CHANNEL_0 0
#define DMA_CHANNEL_1 1
#define DMA_CHANNEL_2 2
#define DMA_CHANNEL_3 3
#define DMA_CHANNEL_4 4
#define DMA_CHANNEL_5 5
#define DMA_CHANNEL_6 6
#define DMA_CHANNEL_7 7
#if defined(CHIP_DMA_CHANNEL_NUM)
#define DMA_CHANNEL_NUM CHIP_DMA_CHANNEL_NUM
#endif
#define DMA_TRANSFER_SINGLE 0
#define DMA_TRANSFER_LLI 1
#define DMA_TRANSFER_RELOAD 2
#define DMA_TRANSFER_CONTIGUOUS 3
#define DMA_ENA (1 << 0)
#define DMA_DIS (1 << 0)
#define DMA_SUSP (1 << 8)
#define DMA_KEEPON (1 << 24)
#define DMA_BTC (1 << 0)
#define DMA_CBTC (1 << 8)
#define DMA_ERR (1 << 16)
#ifdef AT91C_HDMA_SRC_DSCR
#define AT91C_SRC_DSCR AT91C_HDMA_SRC_DSCR
#define AT91C_DST_DSCR AT91C_HDMA_DST_DSCR
#define AT91C_SRC_INCR AT91C_HDMA_SRC_ADDRESS_MODE
#define AT91C_DST_INCR AT91C_HDMA_DST_ADDRESS_MODE
#define AT91C_SRC_PER AT91C_HDMA_SRC_PER
#define AT91C_DST_PER AT91C_HDMA_DST_PER
#if defined(AT91C_HDMA_SRC_REP)
#define AT91C_SRC_REP AT91C_HDMA_SRC_REP
#endif
#if defined(AT91C_HDMA_DST_REP)
#define AT91C_DST_REP AT91C_HDMA_DST_REP
#endif
#if defined(AT91C_HDMA_SRC_PIP)
#define AT91C_SRC_PIP AT91C_HDMA_SRC_PIP
#endif
#if defined(AT91C_HDMA_DST_PIP)
#define AT91C_DST_PIP AT91C_HDMA_DST_PIP
#endif
#define AT91C_FC AT91C_HDMA_FC
#define AT91C_BTC (0xFF << 0)
#define AT91C_CBTC (0xFF << 8)
#define AT91C_ERR (0xFF << 16)
#endif
//------------------------------------------------------------------------------
// Экспортируемые функции
//------------------------------------------------------------------------------void DMA_Config(unsigned int flag);void DMA_Enable(void);void DMA_Disable(void);void DMA_EnableChannel(unsigned int channel);void DMA_EnableChannels(unsigned int bmChannels);void DMA_DisableChannel(unsigned int channel);void DMA_DisableChannels(unsigned int bmChannels);void DMA_KeeponChannel(unsigned int channel);void DMA_ClearAutoMode(unsigned int channel);unsigned int DMA_GetChannelStatus(void);unsigned int DMA_GetStatus(void);unsigned int DMA_GetInterruptMask(void);unsigned int DMA_GetMaskedStatus(void);void DMA_EnableIt (unsigned int flag);void DMA_DisableIt (unsigned int flag);void DMA_SetSourceAddr(unsigned char channel, unsigned int address);void DMA_SetDestinationAddr(unsigned char channel, unsigned int address);void DMA_SetDescriptorAddr(unsigned char channel, unsigned int address);void DMA_SetSourceBufferSize(unsigned char channel,int size,char sourceWidth,char desDMAdth,char done);void DMA_SetSourceBufferMode(unsigned char channel,char transferMode,char addressingType);void DMA_SetDestBufferMode(unsigned char channel,char transferMode,char addressingType);void DMA_SetConfiguration(unsigned char channel, unsigned int value);
#if defined(AT91C_SRC_PIP)void DMA_SPIPconfiguration(unsigned char channel,int pipHole, unsigned int pipBoundary);
#endif
#if defined(AT91C_DST_PIP)void DMA_DPIPconfiguration(unsigned char channel,int pipHole, unsigned int pipBoundary);
#endifvoid DMA_SetFlowControl(unsigned char channel,int flow);
#endif //#ifndef DMA_H
#ifndef RTT_H
#define RTT_H
//------------------------------------------------------------------------------
// Определения
//------------------------------------------------------------------------------
#ifndef AT91C_BASE_RTTC
#define AT91C_BASE_RTTC AT91C_BASE_RTTC0
#endif
//------------------------------------------------------------------------------
// Экспортируемые функции
//------------------------------------------------------------------------------void RTT_SetPrescaler(AT91S_RTTC *rtt, unsigned short prescaler);unsigned int RTT_GetTime(AT91S_RTTC *rtt);void RTT_EnableIT(AT91S_RTTC *rtt, unsigned int sources);unsigned int RTT_GetStatus(AT91S_RTTC *rtt);void RTT_SetAlarm(AT91S_RTTC *pRtt, unsigned int time);
#endif //#ifndef RTT_H
#ifndef BMP_H
#define BMP_H
#define BMP_TYPE 0x4D42
/// headerSize must be set to 40
#define BITMAPINFOHEADER 40
//------------------------------------------------------------------------------
// Экспорт типов
//------------------------------------------------------------------------------
#ifdef __ICCARM__ // IAR
#pragma pack(1) // IAR
#define __attribute__(...) // IAR
#endif // IAR
// BMP (Windows) Header FormatBMPHeader {short type;
/// размер графического файла в байтах.
unsigned int fileSize;short reserved1; short reserved2;
/// смещение начала данных изображения в байтах
unsigned int offset;
/// size of BITMAPINFOHEADER structure, must be 40int headerSize;
/// ширина файла в пикселяхint width;
/// высота файла в пикселяхint height;short planes;
/// количество бтов на пиксель (1, 4, 8, 16, 24, 32)
unsigned short bits;
/// Тип сжатия (0=none, 1=RLE-8, 2=RLE-4)int compression;
/// размер изображения в байтахint imageSize;
/// горизонтальное разрешение в пикселях на метр
unsigned int xresolution;
/// вертикальное разрешение в пикселях на метр
unsigned int yresolution;
/// количество цветов в изображении или ноль
unsigned int ncolours;
/// количество важных цветов или ноль
unsigned int importantcolours;
} __attribute__ ((packed)); // GCC
#ifdef __ICCARM__ // IAR
#pragma pack() // IAR
#endif // IAR
//------------------------------------------------------------------------------
// Экспортируемые функцииunsigned char BMP_IsValid(void *file);unsigned int BMP_GetFileSize(void *file);unsigned char BMP_Decode(*file,char *buffer,int width,int height,char bpp);void WriteBMPheader(unsigned int* pAddressHeader,int bmpHSize,int bmpVSize,char bmpRgb,char nbByte_Pixels);void BMP_displayHeader(unsigned int* pAddressHeader);void RGB565toBGR555(char *fileSource,char *fileDestination,int width,int height,char bpp);
#endif //#ifndef BMP_H