⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ser270.h

📁 dm270 source code
💻 H
字号:
/*
    DM270 ARM Evaluation Software

    (c)Texas Instruments 2003
*/

/** \defgroup SER Serial Interface	*/
/*@{*/

/** \file ser270.h
    \brief Serial Interface related APIs
	
*/


#ifndef __SER_270_H__
#define __SER_270_H__

#include <system/armsys270.h>

#define SER_0	0
#define SER_1	1

#define SER_IDLE_CLK_LOW    0
#define SER_IDLE_CLK_HIGH   1

#define SER_DMA_NO_SWAP			0		///< D3 D2 D1 D0 -> D3 D2 D1 D0
#define SER_DMA_DWORD_SWAP		1		///< D3 D2 D1 D0 -> D0 D1 D2 D3
#define SER_DMA_WORD_SWAP		2		///< D3 D2 D1 D0 -> D2 D3 D0 D1
#define SER_DMA_16BIT_SWAP		3		///< D3 D2 D1 D0 -> D1 D0 D3 D2

#define SER_DMA_RECV_DATA		0		///< SER_0 to SDRAM
#define SER_DMA_SEND_DATA		1		///< SDRAM to SER_0


/**
    \brief Serial Interface configuration parameters
*/
typedef struct {
    Uint32 bitRate;             ///< Data transfer bit-rate. Units bps
    Uint16 clockMode;           ///< Serial Interface idle clock state. \n SER_IDLE_CLK_LOW : Clock Level LOW  when idle,   \n SER_IDLE_CLK_HIGH: Clock Level HIGH when idle,
    BOOL   lsbFirst;            ///< TRUE: LSB first, FALSE: MSB first
    BOOL   slaveOperation;      ///< TRUE: Slave operation mode, FALSE : Master operation mode
} SER_ConfigData;

/**
	\brief Serial Interface 0, DMA configuration paramters
*/
typedef struct {
	Uint16 byteOrder;	///< 0:SER_DMA_NO_SWAP, 1:SER_DMA_DWORD_SWAP, 2:SER_DMA_WORD_SWAP, 3:SER_DMA_16BIT_SWAP
	Uint16 direction;   ///< 0:SER_DMA_RECV_DATA, 1:SER_DMA_SEND_DATA
	Uint16 size;		///< Transfer size in units of bytes, must be even number
	char   *address;	///< SDRAM source/data address, must be 16-bit aligned	
} SER_DmaConfig;


STATUS SER_setConfig( Uint16 serialID, SER_ConfigData *serialConfig );

STATUS SER_enable( Uint16 serialID, BOOL enable );
STATUS SER_sendByte( Uint16 serialID, Uint8 byte );

STATUS SER_sendData( Uint16 serialID, char *dataAddress, Uint32 dataSize);
STATUS SER_recvData( Uint16 serialID, char *dataAddress, Uint32 dataSize);

STATUS SER_dmaConfig( SER_DmaConfig *serialDmaConfig);
STATUS SER_dmaStart();
STATUS SER_dmaWait( Uint32 timeout );
Uint16 SER_getDmaCount();

#endif /*   __SER_270_H__   */

/*@}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -