mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-08-20 01:58:32 -04:00
Before changing headers to V6 and changing portLONG, portSHORt and portCHAR to their standard C types.
This commit is contained in:
parent
3dfbb349ca
commit
5c64e1fad9
4417 changed files with 1261274 additions and 0 deletions
177
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_adc.h
Normal file
177
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_adc.h
Normal file
|
@ -0,0 +1,177 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_adc.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* ADC software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_ADC_H
|
||||
#define __75x_ADC_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* ADC Init structure definition */
|
||||
typedef struct
|
||||
{
|
||||
u16 ADC_ConversionMode;
|
||||
u16 ADC_ExtTrigger;
|
||||
u16 ADC_AutoClockOff;
|
||||
u8 ADC_SamplingPrescaler;
|
||||
u8 ADC_ConversionPrescaler;
|
||||
u8 ADC_FirstChannel;
|
||||
u8 ADC_ChannelNumber;
|
||||
}ADC_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* ADC control status flags */
|
||||
#define ADC_FLAG_ECH 0x0001
|
||||
#define ADC_FLAG_EOC 0x0002
|
||||
#define ADC_FLAG_JECH 0x0004
|
||||
#define ADC_FLAG_JEOC 0x0008
|
||||
#define ADC_FLAG_AnalogWatchdog0_LowThreshold 0x0010
|
||||
#define ADC_FLAG_AnalogWatchdog0_HighThreshold 0x0020
|
||||
#define ADC_FLAG_AnalogWatchdog1_LowThreshold 0x0040
|
||||
#define ADC_FLAG_AnalogWatchdog1_HighThreshold 0x0080
|
||||
#define ADC_FLAG_AnalogWatchdog2_LowThreshold 0x0100
|
||||
#define ADC_FLAG_AnalogWatchdog2_HighThreshold 0x0200
|
||||
#define ADC_FLAG_AnalogWatchdog3_LowThreshold 0x0400
|
||||
#define ADC_FLAG_AnalogWatchdog3_HighThreshold 0x0800
|
||||
|
||||
/* ADC Interrupt sources */
|
||||
#define ADC_IT_ECH 0x0001
|
||||
#define ADC_IT_EOC 0x0002
|
||||
#define ADC_IT_JECH 0x0004
|
||||
#define ADC_IT_JEOC 0x0008
|
||||
#define ADC_IT_AnalogWatchdog0_LowThreshold 0x0010
|
||||
#define ADC_IT_AnalogWatchdog0_HighThreshold 0x0020
|
||||
#define ADC_IT_AnalogWatchdog1_LowThreshold 0x0040
|
||||
#define ADC_IT_AnalogWatchdog1_HighThreshold 0x0080
|
||||
#define ADC_IT_AnalogWatchdog2_LowThreshold 0x0100
|
||||
#define ADC_IT_AnalogWatchdog2_HighThreshold 0x0200
|
||||
#define ADC_IT_AnalogWatchdog3_LowThreshold 0x0400
|
||||
#define ADC_IT_AnalogWatchdog3_HighThreshold 0x0800
|
||||
#define ADC_IT_ALL 0x0FFF
|
||||
|
||||
/* ADC Watchdogs Thresholds */
|
||||
#define ADC_AnalogWatchdog0 0x0030
|
||||
#define ADC_AnalogWatchdog1 0x00C0
|
||||
#define ADC_AnalogWatchdog2 0x0300
|
||||
#define ADC_AnalogWatchdog3 0x0C00
|
||||
|
||||
/* ADC Channels */
|
||||
#define ADC_CHANNEL0 0x0
|
||||
#define ADC_CHANNEL1 0x1
|
||||
#define ADC_CHANNEL2 0x2
|
||||
#define ADC_CHANNEL3 0x3
|
||||
#define ADC_CHANNEL4 0x4
|
||||
#define ADC_CHANNEL5 0x5
|
||||
#define ADC_CHANNEL6 0x6
|
||||
#define ADC_CHANNEL7 0x7
|
||||
#define ADC_CHANNEL8 0x8
|
||||
#define ADC_CHANNEL9 0x9
|
||||
#define ADC_CHANNEL10 0xA
|
||||
#define ADC_CHANNEL11 0xB
|
||||
#define ADC_CHANNEL12 0xC
|
||||
#define ADC_CHANNEL13 0xD
|
||||
#define ADC_CHANNEL14 0xE
|
||||
#define ADC_CHANNEL15 0xF
|
||||
|
||||
/* ADC DMA Channels */
|
||||
#define ADC_DMA_CHANNEL0 0x0001
|
||||
#define ADC_DMA_CHANNEL1 0x0002
|
||||
#define ADC_DMA_CHANNEL2 0x0004
|
||||
#define ADC_DMA_CHANNEL3 0x0008
|
||||
#define ADC_DMA_CHANNEL4 0x0010
|
||||
#define ADC_DMA_CHANNEL5 0x0020
|
||||
#define ADC_DMA_CHANNEL6 0x0040
|
||||
#define ADC_DMA_CHANNEL7 0x0080
|
||||
#define ADC_DMA_CHANNEL8 0x0100
|
||||
#define ADC_DMA_CHANNEL9 0x0200
|
||||
#define ADC_DMA_CHANNEL10 0x0400
|
||||
#define ADC_DMA_CHANNEL11 0x0800
|
||||
#define ADC_DMA_CHANNEL12 0x1000
|
||||
#define ADC_DMA_CHANNEL13 0x2000
|
||||
#define ADC_DMA_CHANNEL14 0x4000
|
||||
#define ADC_DMA_CHANNEL15 0x8000
|
||||
|
||||
/* Trigger conversion detection */
|
||||
#define ADC_ExtTrigger_LowLevel 0x4FFF
|
||||
#define ADC_ExtTrigger_HighLevel 0x5000
|
||||
#define ADC_ExtTrigger_FallingEdge 0x6000
|
||||
#define ADC_ExtTrigger_RisingEdge 0x7000
|
||||
#define ADC_ExtTrigger_Disable 0x8FFF
|
||||
|
||||
/* DMA enable config */
|
||||
#define ADC_DMA_ExtTrigger_HighLevel 0x6000
|
||||
#define ADC_DMA_ExtTrigger_LowLevel 0x4FFF
|
||||
#define ADC_DMA_Enable 0x8000
|
||||
#define ADC_DMA_Disable 0x3FFF
|
||||
|
||||
/* Injected Trigger conversion detection */
|
||||
#define ADC_Injec_ExtTrigger_RisingEdge 0x6000
|
||||
#define ADC_Injec_ExtTrigger_FallingEdge 0xDFFF
|
||||
#define ADC_Injec_ExtTrigger_Disable 0x3FFF
|
||||
|
||||
/* Start Conversion */
|
||||
#define ADC_Conversion_Start 0x0001
|
||||
#define ADC_Conversion_Stop 0xFFFE
|
||||
|
||||
/* ADC Conversion Modes */
|
||||
#define ADC_ConversionMode_Scan 0x8000
|
||||
#define ADC_ConversionMode_OneShot 0x7FFF
|
||||
|
||||
/* Auto Clock Off */
|
||||
#define ADC_AutoClockOff_Enable 0x4000
|
||||
#define ADC_AutoClockOff_Disable 0xBFFF
|
||||
|
||||
/* Calibration */
|
||||
#define ADC_Calibration_ON 0x0002
|
||||
#define ADC_CalibAverage_Disable 0x0020
|
||||
#define ADC_CalibAverage_Enable 0xFFDF
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
|
||||
void ADC_DeInit(void);
|
||||
void ADC_Init(ADC_InitTypeDef *ADC_InitStruct);
|
||||
void ADC_StructInit(ADC_InitTypeDef *ADC_InitStruct);
|
||||
void ADC_Cmd(FunctionalState NewState);
|
||||
void ADC_StartCalibration(u16 ADC_CalibAverage);
|
||||
FlagStatus ADC_GetCalibrationStatus(void);
|
||||
void ADC_ConversionCmd(u16 ADC_Conversion);
|
||||
FlagStatus ADC_GetSTARTBitStatus(void);
|
||||
void ADC_AutoClockOffConfig(FunctionalState NewState);
|
||||
u16 ADC_GetConversionValue(u8 ADC_CHANNEL);
|
||||
void ADC_ITConfig(u16 ADC_IT, FunctionalState NewState);
|
||||
void ADC_AnalogWatchdogConfig(u16 ADC_AnalogWatchdog, u8 ADC_CHANNEL,
|
||||
u16 LowThreshold, u16 HighThreshold);
|
||||
void ADC_AnalogWatchdogCmd(u16 ADC_AnalogWatchdog, FunctionalState NewState);
|
||||
u16 ADC_GetAnalogWatchdogResult(u16 ADC_AnalogWatchdog);
|
||||
void ADC_StartInjectedConversion(void);
|
||||
void ADC_InjectedConversionConfig(u16 ADC_Injec_ExtTrigger, u8 FirstChannel, u8 ChannelNumber);
|
||||
void ADC_DMAConfig(u16 ADC_DMA_CHANNEL, FunctionalState NewState);
|
||||
void ADC_DMACmd(u16 ADC_DMA);
|
||||
u16 ADC_GetDMAFirstEnabledChannel(void);
|
||||
FlagStatus ADC_GetFlagStatus(u16 ADC_FLAG);
|
||||
void ADC_ClearFlag(u16 ADC_FLAG);
|
||||
ITStatus ADC_GetITStatus(u16 ADC_IT);
|
||||
void ADC_ClearITPendingBit(u16 ADC_IT);
|
||||
|
||||
#endif /*__75x_ADC_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
165
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_can.h
Normal file
165
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_can.h
Normal file
|
@ -0,0 +1,165 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_can.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* CAN bus software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_CAN_H
|
||||
#define __75x_CAN_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
|
||||
/* CAN Init structure define */
|
||||
typedef struct
|
||||
{
|
||||
u8 CAN_ConfigParameters;
|
||||
u32 CAN_Bitrate;
|
||||
}CAN_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* Standard bitrates available*/
|
||||
enum
|
||||
{
|
||||
CAN_BITRATE_100K,
|
||||
CAN_BITRATE_125K,
|
||||
CAN_BITRATE_250K,
|
||||
CAN_BITRATE_500K,
|
||||
CAN_BITRATE_1M
|
||||
};
|
||||
|
||||
/* Control register*/
|
||||
#define CAN_CR_TEST 0x0080
|
||||
#define CAN_CR_CCE 0x0040
|
||||
#define CAN_CR_DAR 0x0020
|
||||
#define CAN_CR_EIE 0x0008
|
||||
#define CAN_CR_SIE 0x0004
|
||||
#define CAN_CR_IE 0x0002
|
||||
#define CAN_CR_INIT 0x0001
|
||||
|
||||
/* Status register */
|
||||
#define CAN_SR_BOFF 0x0080
|
||||
#define CAN_SR_EWARN 0x0040
|
||||
#define CAN_SR_EPASS 0x0020
|
||||
#define CAN_SR_RXOK 0x0010
|
||||
#define CAN_SR_TXOK 0x0008
|
||||
#define CAN_SR_LEC 0x0007
|
||||
|
||||
/* Test register*/
|
||||
#define CAN_TESTR_RX 0x0080
|
||||
#define CAN_TESTR_TX1 0x0040
|
||||
#define CAN_TESTR_TX0 0x0020
|
||||
#define CAN_TESTR_LBACK 0x0010
|
||||
#define CAN_TESTR_SILENT 0x0008
|
||||
#define CAN_TESTR_BASIC 0x0004
|
||||
|
||||
/* IFn / Command Request register*/
|
||||
#define CAN_CRR_BUSY 0x8000
|
||||
|
||||
/* IFn / Command Mask register*/
|
||||
#define CAN_CMR_WRRD 0x0080
|
||||
#define CAN_CMR_MASK 0x0040
|
||||
#define CAN_CMR_ARB 0x0020
|
||||
#define CAN_CMR_CONTROL 0x0010
|
||||
#define CAN_CMR_CLRINTPND 0x0008
|
||||
#define CAN_CMR_TXRQSTNEWDAT 0x0004
|
||||
#define CAN_CMR_DATAA 0x0002
|
||||
#define CAN_CMR_DATAB 0x0001
|
||||
|
||||
/* IFn / Mask 2 register*/
|
||||
#define CAN_M2R_MXTD 0x8000
|
||||
#define CAN_M2R_MDIR 0x4000
|
||||
|
||||
/* IFn / Arbitration 2 register*/
|
||||
#define CAN_A2R_MSGVAL 0x8000
|
||||
#define CAN_A2R_XTD 0x4000
|
||||
#define CAN_A2R_DIR 0x2000
|
||||
|
||||
/* IFn / Message Control register*/
|
||||
#define CAN_MCR_NEWDAT 0x8000
|
||||
#define CAN_MCR_MSGLST 0x4000
|
||||
#define CAN_MCR_INTPND 0x2000
|
||||
#define CAN_MCR_UMASK 0x1000
|
||||
#define CAN_MCR_TXIE 0x0800
|
||||
#define CAN_MCR_RXIE 0x0400
|
||||
#define CAN_MCR_RMTEN 0x0200
|
||||
#define CAN_MCR_TXRQST 0x0100
|
||||
#define CAN_MCR_EOB 0x0080
|
||||
|
||||
|
||||
/* Wake-up modes*/
|
||||
enum
|
||||
{
|
||||
CAN_WAKEUP_ON_EXT,
|
||||
CAN_WAKEUP_ON_CAN
|
||||
};
|
||||
|
||||
|
||||
/* CAN message structure*/
|
||||
typedef struct
|
||||
{
|
||||
u32 IdType;
|
||||
u32 Id;
|
||||
u8 Dlc;
|
||||
u8 Data[8];
|
||||
} canmsg;
|
||||
|
||||
/* Message ID types*/
|
||||
enum
|
||||
{
|
||||
CAN_STD_ID,
|
||||
CAN_EXT_ID
|
||||
};
|
||||
|
||||
/* Message ID limits*/
|
||||
|
||||
#define CAN_LAST_STD_ID ((1<<11) - 1)
|
||||
#define CAN_LAST_EXT_ID ((1L<<29) - 1)
|
||||
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void CAN_Init (CAN_InitTypeDef *CAN_InitStruct);
|
||||
void CAN_DeInit (void);
|
||||
void CAN_StructInit(CAN_InitTypeDef *CAN_InitStruct);
|
||||
void CAN_SetBitrate(u32 bitrate);
|
||||
void CAN_SetTiming(u32 tseg1, u32 tseg2, u32 sjw, u32 brp);
|
||||
ErrorStatus CAN_SetUnusedMsgObj(u32 msgobj);
|
||||
ErrorStatus CAN_SetTxMsgObj(u32 msgobj, u32 idType);
|
||||
ErrorStatus CAN_SetRxMsgObj(u32 msgobj, u32 idType, u32 idLow, u32 idHigh, bool singleOrFifoLast);
|
||||
void CAN_InvalidateAllMsgObj(void);
|
||||
ErrorStatus CAN_ReleaseMessage(u32 msgobj);
|
||||
ErrorStatus CAN_SendMessage(u32 msgobj, canmsg* pCanMsg);
|
||||
ErrorStatus CAN_ReceiveMessage(u32 msgobj, bool release, canmsg* pCanMsg);
|
||||
ErrorStatus CAN_WaitEndOfTx(void);
|
||||
ErrorStatus CAN_BasicSendMessage(canmsg* pCanMsg);
|
||||
ErrorStatus CAN_BasicReceiveMessage(canmsg* pCanMsg);
|
||||
void CAN_EnterTestMode(u8 TestMask);
|
||||
void CAN_EnterInitMode(u8 InitMask);
|
||||
void CAN_LeaveInitMode(void);
|
||||
void CAN_LeaveTestMode(void);
|
||||
void CAN_ReleaseTxMessage(u32 msgobj);
|
||||
void CAN_ReleaseRxMessage(u32 msgobj);
|
||||
u32 CAN_IsMessageWaiting(u32 msgobj);
|
||||
u32 CAN_IsTransmitRequested(u32 msgobj);
|
||||
u32 CAN_IsInterruptPending(u32 msgobj);
|
||||
u32 CAN_IsObjectValid(u32 msgobj);
|
||||
|
||||
#endif /* __75x_CAN_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
48
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_cfg.h
Normal file
48
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_cfg.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_cfg.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* CFG software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_CFG_H
|
||||
#define __75x_CFG_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
#define CFG_BootSpace_FLASH 0x00000000
|
||||
#define CFG_BootSpace_SRAM 0x00000002
|
||||
#define CFG_BootSpace_ExtSMI 0x00000003
|
||||
|
||||
#define CFG_FLASHBurst_Disable 0xFFFFFEFF
|
||||
#define CFG_FLASHBurst_Enable 0x00000100
|
||||
|
||||
#define CFG_USBFilter_Disable 0xFFFFFDFF
|
||||
#define CFG_USBFilter_Enable 0x00000200
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
void CFG_BootSpaceConfig(u32 CFG_BootSpace);
|
||||
void CFG_FLASHBurstConfig(u32 CFG_FLASHBurst);
|
||||
void CFG_USBFilterConfig(u32 CFG_USBFilter);
|
||||
FlagStatus CFG_GetFlagStatus(void);
|
||||
|
||||
#endif /* __75x_CFG_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
106
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_conf.h
Normal file
106
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_conf.h
Normal file
|
@ -0,0 +1,106 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_conf.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : Library configuration file.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_CONF_H
|
||||
#define __75x_CONF_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* Comment the line below to compile the library in release mode */
|
||||
//#define DEBUG
|
||||
|
||||
/************************************* SMI ************************************/
|
||||
//#define _SMI
|
||||
|
||||
/************************************* CFG ************************************/
|
||||
#define _CFG
|
||||
|
||||
/************************************* MRCC ************************************/
|
||||
#define _MRCC
|
||||
|
||||
/************************************* ADC ************************************/
|
||||
//#define _ADC
|
||||
|
||||
/************************************* TB *************************************/
|
||||
#define _TB
|
||||
|
||||
/************************************* TIM ************************************/
|
||||
#define _TIM
|
||||
#define _TIM0
|
||||
#define _TIM1
|
||||
#define _TIM2
|
||||
|
||||
/************************************* PWM ************************************/
|
||||
#define _PWM
|
||||
|
||||
/************************************* WDG ************************************/
|
||||
#define _WDG
|
||||
|
||||
/************************************* SSP ************************************/
|
||||
//#define _SSP
|
||||
//#define _SSP0
|
||||
//#define _SSP1
|
||||
|
||||
/************************************* CAN ************************************/
|
||||
//#define _CAN
|
||||
|
||||
/************************************* I2C ************************************/
|
||||
//#define _I2C
|
||||
|
||||
/************************************* UART ***********************************/
|
||||
#define _UART
|
||||
#define _UART0
|
||||
#define _UART1
|
||||
#define _UART2
|
||||
|
||||
/************************************* GPIO ***********************************/
|
||||
#define _GPIO
|
||||
#define _GPIO0
|
||||
#define _GPIO1
|
||||
#define _GPIO2
|
||||
#define _GPIOREMAP
|
||||
|
||||
/************************************* DMA ************************************/
|
||||
//#define _DMA
|
||||
//#define _DMA_Stream0
|
||||
//#define _DMA_Stream1
|
||||
//#define _DMA_Stream2
|
||||
//#define _DMA_Stream3
|
||||
|
||||
/************************************* RTC ************************************/
|
||||
//#define _RTC
|
||||
|
||||
/************************************* EXTIT **********************************/
|
||||
#define _EXTIT
|
||||
|
||||
/************************************* EIC ************************************/
|
||||
#define _EIC
|
||||
|
||||
/* Comment the following line, depending on the external Quartz oscillator used
|
||||
in your application */
|
||||
#define Main_Oscillator 4000000 /* 4 MHz Quartz oscillator used */
|
||||
//#define Main_Oscillator 8000000 /* 8 MHz Quartz oscillator used */
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
#endif /* __75x_CONF_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
140
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_dma.h
Normal file
140
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_dma.h
Normal file
|
@ -0,0 +1,140 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_dma.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* DMA software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion ------------------------------------ */
|
||||
#ifndef __75x_DMA_H
|
||||
#define __75x_DMA_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* DMA Init structure definition */
|
||||
typedef struct
|
||||
{
|
||||
u32 DMA_SRCBaseAddr;
|
||||
u32 DMA_DSTBaseAddr;
|
||||
u16 DMA_BufferSize;
|
||||
u16 DMA_SRC;
|
||||
u16 DMA_DST;
|
||||
u16 DMA_SRCSize;
|
||||
u16 DMA_SRCBurst;
|
||||
u16 DMA_DSTSize;
|
||||
u16 DMA_Mode;
|
||||
u16 DMA_M2M;
|
||||
u16 DMA_DIR;
|
||||
}DMA_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* DMA interrupt Mask */
|
||||
#define DMA_IT_SI0 0x0001
|
||||
#define DMA_IT_SI1 0x0002
|
||||
#define DMA_IT_SI2 0x0004
|
||||
#define DMA_IT_SI3 0x0008
|
||||
#define DMA_IT_SE0 0x0010
|
||||
#define DMA_IT_SE1 0x0020
|
||||
#define DMA_IT_SE2 0x0040
|
||||
#define DMA_IT_SE3 0x0080
|
||||
#define DMA_IT_ALL 0x00FF
|
||||
|
||||
/* DMA Flags */
|
||||
#define DMA_FLAG_SI0 0x0001
|
||||
#define DMA_FLAG_SI1 0x0002
|
||||
#define DMA_FLAG_SI2 0x0004
|
||||
#define DMA_FLAG_SI3 0x0008
|
||||
#define DMA_FLAG_SE0 0x0010
|
||||
#define DMA_FLAG_SE1 0x0020
|
||||
#define DMA_FLAG_SE2 0x0040
|
||||
#define DMA_FLAG_SE3 0x0080
|
||||
#define DMA_FLAG_ACT0 0x0100
|
||||
#define DMA_FLAG_ACT1 0x0200
|
||||
#define DMA_FLAG_ACT2 0x0400
|
||||
#define DMA_FLAG_ACT3 0x0800
|
||||
|
||||
/* DMA Increment Current Source Register */
|
||||
#define DMA_SRC_INCR 0x0002
|
||||
#define DMA_SRC_NOT_INCR 0xFFFD
|
||||
|
||||
/* DMA Increment Current Destination Register */
|
||||
#define DMA_DST_INCR 0x0004
|
||||
#define DMA_DST_NOT_INCR 0xFFFB
|
||||
|
||||
/* Source to DMA data width */
|
||||
#define DMA_SRCSize_Byte 0x0000
|
||||
#define DMA_SRCSize_HalfWord 0x0008
|
||||
#define DMA_SRCSize_Word 0x0010
|
||||
|
||||
/* DMA source burst size */
|
||||
#define DMA_SRCBurst_1Data 0x0000
|
||||
#define DMA_SRCBurst_4Data 0x0020
|
||||
#define DMA_SRCBurst_8Data 0x0040
|
||||
#define DMA_SRCBurst_16Data 0x0060
|
||||
|
||||
/* DMA destination data width */
|
||||
#define DMA_DSTSize_Byte 0x0000
|
||||
#define DMA_DSTSize_HalfWord 0x0080
|
||||
#define DMA_DSTSize_Word 0x0100
|
||||
|
||||
/* DMA mode */
|
||||
#define DMA_Mode_Circular 0x0200
|
||||
#define DMA_Mode_Normal 0xFDFF
|
||||
|
||||
/* Memory to Memory Transfer */
|
||||
#define DMA_M2M_Enable 0x0800
|
||||
#define DMA_M2M_Disable 0xF7FF
|
||||
|
||||
/* Direction Transfer */
|
||||
#define DMA_DIR_PeriphDST 0x2000
|
||||
#define DMA_DIR_PeriphSRC 0xDFFF
|
||||
|
||||
/* DMA streamx Registers */
|
||||
#define DMA_SOURCEL 0x00000000 /* source base address low register */
|
||||
#define DMA_SOURCEH 0x00000004 /* source base address high register */
|
||||
#define DMA_DESTL 0x00000008 /* destination base address low register */
|
||||
#define DMA_DESTH 0x0000000C /* destination base address high register */
|
||||
#define DMA_MAX 0x00000010 /* Maximum count register */
|
||||
#define DMA_CTRL 0x00000014 /* Control register */
|
||||
#define DMA_SOCURRH 0x00000018 /* Current Source address high register */
|
||||
#define DMA_SOCURRL 0x0000001C /* Current Source address low register */
|
||||
#define DMA_DECURRH 0x00000020 /* Current Destination address high register */
|
||||
#define DMA_DECURRL 0x00000024 /* Current Destination address low register */
|
||||
#define DMA_TCNT 0x00000028 /* Terminal Counter Register */
|
||||
#define DMA_LUBUFF 0x0000002C /* Last Used Buffer location */
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void DMA_DeInit(DMA_Stream_TypeDef* DMA_Streamx);
|
||||
void DMA_Init(DMA_Stream_TypeDef* DMA_Streamx, DMA_InitTypeDef* DMA_InitStruct);
|
||||
void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct);
|
||||
void DMA_Cmd(DMA_Stream_TypeDef* DMA_Streamx, FunctionalState NewState);
|
||||
void DMA_ITConfig(u16 DMA_IT, FunctionalState NewState);
|
||||
u32 DMA_GetCurrDSTAddr(DMA_Stream_TypeDef* DMA_Streamx);
|
||||
u32 DMA_GetCurrSRCAddr(DMA_Stream_TypeDef* DMA_Streamx);
|
||||
u16 DMA_GetTerminalCounter(DMA_Stream_TypeDef* DMA_Streamx);
|
||||
void DMA_LastBufferSweepConfig(DMA_Stream_TypeDef* DMA_Streamx, FunctionalState NewState);
|
||||
void DMA_LastBufferAddrConfig(DMA_Stream_TypeDef* DMA_Streamx, u16 DMA_LastBufferAddr);
|
||||
FlagStatus DMA_GetFlagStatus(u16 DMA_FLAG);
|
||||
void DMA_ClearFlag(u16 DMA_FLAG);
|
||||
ITStatus DMA_GetITStatus(u16 DMA_IT);
|
||||
void DMA_ClearITPendingBit(u16 DMA_IT);
|
||||
|
||||
#endif /* __75x_DMA_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
97
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_eic.h
Normal file
97
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_eic.h
Normal file
|
@ -0,0 +1,97 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_eic.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* EIC software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_EIC_H
|
||||
#define __75x_EIC_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
u8 EIC_IRQChannel;
|
||||
u8 EIC_IRQChannelPriority;
|
||||
FunctionalState EIC_IRQChannelCmd;
|
||||
}EIC_IRQInitTypeDef;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 EIC_FIQChannel;
|
||||
FunctionalState EIC_FIQChannelCmd;
|
||||
}EIC_FIQInitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* IRQ channels */
|
||||
#define WAKUP_IRQChannel 0
|
||||
#define TIM2_OC2_IRQChannel 1
|
||||
#define TIM2_OC1_IRQChannel 2
|
||||
#define TIM2_IC12_IRQChannel 3
|
||||
#define TIM2_UP_IRQChannel 4
|
||||
#define TIM1_OC2_IRQChannel 5
|
||||
#define TIM1_OC1_IRQChannel 6
|
||||
#define TIM1_IC12_IRQChannel 7
|
||||
#define TIM1_UP_IRQChannel 8
|
||||
#define TIM0_OC2_IRQChannel 9
|
||||
#define TIM0_OC1_IRQChannel 10
|
||||
#define TIM0_IC12_IRQChannel 11
|
||||
#define TIM0_UP_IRQChannel 12
|
||||
#define PWM_OC123_IRQChannel 13
|
||||
#define PWM_EM_IRQChannel 14
|
||||
#define PWM_UP_IRQChannel 15
|
||||
#define I2C_IRQChannel 16
|
||||
#define SSP1_IRQChannel 17
|
||||
#define SSP0_IRQChannel 18
|
||||
#define UART2_IRQChannel 19
|
||||
#define UART1_IRQChannel 20
|
||||
#define UART0_IRQChannel 21
|
||||
#define CAN_IRQChannel 22
|
||||
#define USB_LP_IRQChannel 23
|
||||
#define USB_HP_IRQChannel 24
|
||||
#define ADC_IRQChannel 25
|
||||
#define DMA_IRQChannel 26
|
||||
#define EXTIT_IRQChannel 27
|
||||
#define MRCC_IRQChannel 28
|
||||
#define FLASHSMI_IRQChannel 29
|
||||
#define RTC_IRQChannel 30
|
||||
#define TB_IRQChannel 31
|
||||
|
||||
/* FIQ channels */
|
||||
#define EXTIT_Line0_FIQChannel 0x00000001
|
||||
#define WATCHDOG_FIQChannel 0x00000002
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
void EIC_DeInit(void);
|
||||
void EIC_IRQInit(EIC_IRQInitTypeDef* EIC_IRQInitStruct);
|
||||
void EIC_FIQInit(EIC_FIQInitTypeDef* EIC_FIQInitStruct);
|
||||
void EIC_IRQStructInit(EIC_IRQInitTypeDef* EIC_IRQInitStruct);
|
||||
void EIC_FIQStructInit(EIC_FIQInitTypeDef* EIC_FIQInitStruct);
|
||||
void EIC_IRQCmd(FunctionalState NewState);
|
||||
void EIC_FIQCmd(FunctionalState NewState);
|
||||
u8 EIC_GetCurrentIRQChannel(void);
|
||||
u8 EIC_GetCurrentIRQChannelPriority(void);
|
||||
void EIC_CurrentIRQPriorityConfig(u8 NewPriority);
|
||||
u8 EIC_GetCurrentFIQChannel(void);
|
||||
void EIC_ClearFIQPendingBit(u8 EIC_FIQChannel);
|
||||
|
||||
#endif /* __75x_EIC_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
77
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_extit.h
Normal file
77
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_extit.h
Normal file
|
@ -0,0 +1,77 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_extit.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* EXTIT software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_EXTIT_H
|
||||
#define __75x_EXTIT_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* EXTIT Trigger enumeration */
|
||||
typedef enum
|
||||
{
|
||||
EXTIT_ITTrigger_Falling = 1,
|
||||
EXTIT_ITTrigger_Rising
|
||||
}EXTITTrigger_TypeDef;
|
||||
|
||||
/* EXTIT Init Structure definition */
|
||||
typedef struct
|
||||
{
|
||||
u32 EXTIT_ITLine;
|
||||
EXTITTrigger_TypeDef EXTIT_ITTrigger;
|
||||
FunctionalState EXTIT_ITLineCmd;
|
||||
}EXTIT_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* EXTIT Lines */
|
||||
#define EXTIT_ITLineNone 0x0000 /* No interrupt selected */
|
||||
#define EXTIT_ITLine0 0x0001 /* External interrupt line 0 */
|
||||
#define EXTIT_ITLine1 0x0002 /* External interrupt line 1 */
|
||||
#define EXTIT_ITLine2 0x0004 /* External interrupt line 2 */
|
||||
#define EXTIT_ITLine3 0x0008 /* External interrupt line 3 */
|
||||
#define EXTIT_ITLine4 0x0010 /* External interrupt line 4 */
|
||||
#define EXTIT_ITLine5 0x0020 /* External interrupt line 5 */
|
||||
#define EXTIT_ITLine6 0x0040 /* External interrupt line 6 */
|
||||
#define EXTIT_ITLine7 0x0080 /* External interrupt line 7 */
|
||||
#define EXTIT_ITLine8 0x0100 /* External interrupt line 8 */
|
||||
#define EXTIT_ITLine9 0x0200 /* External interrupt line 9 */
|
||||
#define EXTIT_ITLine10 0x0400 /* External interrupt line 10 */
|
||||
#define EXTIT_ITLine11 0x0800 /* External interrupt line 11 */
|
||||
#define EXTIT_ITLine12 0x1000 /* External interrupt line 12 */
|
||||
#define EXTIT_ITLine13 0x2000 /* External interrupt line 13 */
|
||||
#define EXTIT_ITLine14 0x4000 /* External interrupt line 14 */
|
||||
#define EXTIT_ITLine15 0x8000 /* External interrupt line 15 */
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void EXTIT_DeInit(void);
|
||||
void EXTIT_Init(EXTIT_InitTypeDef* EXTIT_InitStruct);
|
||||
void EXTIT_StructInit(EXTIT_InitTypeDef* EXTIT_InitStruct);
|
||||
void EXTIT_GenerateSWInterrupt(u16 EXTIT_ITLine);
|
||||
FlagStatus EXTIT_GetFlagStatus(u16 EXTIT_ITLine);
|
||||
void EXTIT_ClearFlag(u16 EXTIT_ITLine);
|
||||
ITStatus EXTIT_GetITStatus(u16 EXTIT_ITLine);
|
||||
void EXTIT_ClearITPendingBit(u16 EXTIT_ITLine);
|
||||
|
||||
#endif /* __75x_EXTIT_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
120
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_gpio.h
Normal file
120
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_gpio.h
Normal file
|
@ -0,0 +1,120 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_gpio.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* GPIO software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_GPIO_H
|
||||
#define __75x_GPIO_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* Configuration Mode enumeration */
|
||||
typedef enum
|
||||
{ GPIO_Mode_AIN = 1,
|
||||
GPIO_Mode_IN_FLOATING,
|
||||
GPIO_Mode_IPD,
|
||||
GPIO_Mode_IPU,
|
||||
GPIO_Mode_Out_OD,
|
||||
GPIO_Mode_Out_PP,
|
||||
GPIO_Mode_AF_OD,
|
||||
GPIO_Mode_AF_PP
|
||||
}GPIOMode_TypeDef;
|
||||
|
||||
/* GPIO Init structure definition */
|
||||
typedef struct
|
||||
{
|
||||
u32 GPIO_Pin;
|
||||
GPIOMode_TypeDef GPIO_Mode;
|
||||
}GPIO_InitTypeDef;
|
||||
|
||||
/* Bit_SET and Bit_RESET enumeration */
|
||||
typedef enum
|
||||
{ Bit_RESET = 0,
|
||||
Bit_SET
|
||||
}BitAction;
|
||||
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* GPIO pins define */
|
||||
#define GPIO_Pin_None 0x00000000 /* No pin selected */
|
||||
#define GPIO_Pin_0 0x00000001 /* Pin 0 selected */
|
||||
#define GPIO_Pin_1 0x00000002 /* Pin 1 selected */
|
||||
#define GPIO_Pin_2 0x00000004 /* Pin 2 selected */
|
||||
#define GPIO_Pin_3 0x00000008 /* Pin 3 selected */
|
||||
#define GPIO_Pin_4 0x00000010 /* Pin 4 selected */
|
||||
#define GPIO_Pin_5 0x00000020 /* Pin 5 selected */
|
||||
#define GPIO_Pin_6 0x00000040 /* Pin 6 selected */
|
||||
#define GPIO_Pin_7 0x00000080 /* Pin 7 selected */
|
||||
#define GPIO_Pin_8 0x00000100 /* Pin 8 selected */
|
||||
#define GPIO_Pin_9 0x00000200 /* Pin 9 selected */
|
||||
#define GPIO_Pin_10 0x00000400 /* Pin 10 selected */
|
||||
#define GPIO_Pin_11 0x00000800 /* Pin 11 selected */
|
||||
#define GPIO_Pin_12 0x00001000 /* Pin 12 selected */
|
||||
#define GPIO_Pin_13 0x00002000 /* Pin 13 selected */
|
||||
#define GPIO_Pin_14 0x00004000 /* Pin 14 selected */
|
||||
#define GPIO_Pin_15 0x00008000 /* Pin 15 selected */
|
||||
#define GPIO_Pin_16 0x00010000 /* Pin 16 selected */
|
||||
#define GPIO_Pin_17 0x00020000 /* Pin 17 selected */
|
||||
#define GPIO_Pin_18 0x00040000 /* Pin 18 selected */
|
||||
#define GPIO_Pin_19 0x00080000 /* Pin 19 selected */
|
||||
#define GPIO_Pin_20 0x00100000 /* Pin 20 selected */
|
||||
#define GPIO_Pin_21 0x00200000 /* Pin 21 selected */
|
||||
#define GPIO_Pin_22 0x00400000 /* Pin 22 selected */
|
||||
#define GPIO_Pin_23 0x00800000 /* Pin 23 selected */
|
||||
#define GPIO_Pin_24 0x01000000 /* Pin 24 selected */
|
||||
#define GPIO_Pin_25 0x02000000 /* Pin 25 selected */
|
||||
#define GPIO_Pin_26 0x04000000 /* Pin 26 selected */
|
||||
#define GPIO_Pin_27 0x08000000 /* Pin 27 selected */
|
||||
#define GPIO_Pin_28 0x10000000 /* Pin 28 selected */
|
||||
#define GPIO_Pin_29 0x20000000 /* Pin 29 selected */
|
||||
#define GPIO_Pin_30 0x40000000 /* Pin 30 selected */
|
||||
#define GPIO_Pin_31 0x80000000 /* Pin 31 selected */
|
||||
#define GPIO_Pin_All 0xFFFFFFFF /* All pins selected */
|
||||
|
||||
/* GPIO Remap define */
|
||||
#define GPIO_Remap_SMI_CS3_EN 0x23 /* SMI CS3 Enable */
|
||||
#define GPIO_Remap_SMI_CS2_EN 0x22 /* SMI CS2 Enable */
|
||||
#define GPIO_Remap_SMI_CS1_EN 0x21 /* SMI CS1 Enable */
|
||||
#define GPIO_Remap_SMI_EN 0x20 /* SMI Enable */
|
||||
#define GPIO_Remap_DBGOFF 0x45 /* JTAG Disable */
|
||||
#define GPIO_Remap_UART1 0x44 /* UART1 Alternate Function mapping */
|
||||
#define GPIO_Remap_UART2 0x43 /* UART2 Alternate Function mapping */
|
||||
#define GPIO_Remap_SSP1 0x42 /* SSP1 Alternate Function mapping */
|
||||
#define GPIO_Remap_TIM2 0x41 /* TIM2 Alternate Function mapping */
|
||||
#define GPIO_Remap_TIM0 0x40 /* TIM0 Alternate Function mapping */
|
||||
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void GPIO_DeInit(GPIO_TypeDef* GPIOx);
|
||||
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
|
||||
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);
|
||||
u32 GPIO_Read(GPIO_TypeDef* GPIOx);
|
||||
u8 GPIO_ReadBit(GPIO_TypeDef* GPIOx, u32 GPIO_Pin);
|
||||
void GPIO_Write(GPIO_TypeDef* GPIOx, u32 PortVal);
|
||||
void GPIO_WriteBit(GPIO_TypeDef* GPIOx,u32 GPIO_Pin, BitAction BitVal);
|
||||
void GPIO_PinMaskConfig(GPIO_TypeDef* GPIOx, u32 GPIO_Pin, FunctionalState NewState);
|
||||
u32 GPIO_GetPortMask(GPIO_TypeDef* GPIOx);
|
||||
void GPIO_PinRemapConfig(u16 GPIO_Remap, FunctionalState NewState);
|
||||
|
||||
#endif /* __75x_GPIO_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
115
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_i2c.h
Normal file
115
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_i2c.h
Normal file
|
@ -0,0 +1,115 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_i2c.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* I2C software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion ------------------------------------ */
|
||||
#ifndef __75x_I2C_H
|
||||
#define __75x_I2C_H
|
||||
|
||||
/* Includes ----------------------------------------------------------------- */
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ----------------------------------------------------------- */
|
||||
/* I2C Init structure definition */
|
||||
typedef struct
|
||||
{
|
||||
u32 I2C_CLKSpeed;
|
||||
u16 I2C_OwnAddress;
|
||||
u8 I2C_GeneralCall;
|
||||
u8 I2C_Ack;
|
||||
}I2C_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* General Call */
|
||||
#define I2C_GeneralCall_Enable 0x10
|
||||
#define I2C_GeneralCall_Disable 0xEF
|
||||
|
||||
/* Acknowledgement */
|
||||
#define I2C_Ack_Enable 0x04
|
||||
#define I2C_Ack_Disable 0xFB
|
||||
|
||||
/* I2C Flags */
|
||||
#define I2C_FLAG_SB 0x0001
|
||||
#define I2C_FLAG_M_SL 0x0002
|
||||
#define I2C_FLAG_ADSL 0x0004
|
||||
#define I2C_FLAG_BTF 0x0008
|
||||
#define I2C_FLAG_BUSY 0x0010
|
||||
#define I2C_FLAG_TRA 0x0020
|
||||
#define I2C_FLAG_ADD10 0x0040
|
||||
#define I2C_FLAG_EVF 0x0080
|
||||
#define I2C_FLAG_GCAL 0x0100
|
||||
#define I2C_FLAG_BERR 0x0200
|
||||
#define I2C_FLAG_ARLO 0x0400
|
||||
#define I2C_FLAG_STOPF 0x0800
|
||||
#define I2C_FLAG_AF 0x1000
|
||||
#define I2C_FLAG_ENDAD 0x2000
|
||||
#define I2C_FLAG_ACK 0x4000
|
||||
|
||||
/* I2C Events */
|
||||
#define I2C_EVENT_SLAVE_ADDRESS_MATCHED ( I2C_FLAG_EVF | I2C_FLAG_BUSY |I2C_FLAG_ADSL)
|
||||
#define I2C_EVENT_SLAVE_BYTE_RECEIVED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_BTF )
|
||||
#define I2C_EVENT_SLAVE_BYTE_TRANSMITTED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_BTF | I2C_FLAG_TRA )
|
||||
#define I2C_EVENT_MASTER_MODE_SELECT ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL | I2C_FLAG_SB )
|
||||
#define I2C_EVENT_MASTER_MODE_SELECTED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL | I2C_FLAG_ENDAD )
|
||||
#define I2C_EVENT_MASTER_BYTE_RECEIVED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL | I2C_FLAG_BTF )
|
||||
#define I2C_EVENT_MASTER_BYTE_TRANSMITTED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL | I2C_FLAG_BTF | I2C_FLAG_TRA )
|
||||
#define I2C_EVENT_MASTER_MODE_ADDRESS10 ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL |I2C_FLAG_ADD10 )
|
||||
#define I2C_EVENT_SLAVE_STOP_DETECTED I2C_FLAG_STOPF
|
||||
#define I2C_EVENT_SLAVE_ACK_FAILURE ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_BTF | I2C_FLAG_TRA | I2C_FLAG_AF)
|
||||
|
||||
#define I2C_BUS_ERROR_DETECTED I2C_FLAG_BERR
|
||||
#define I2C_ARBITRATION_LOST I2C_FLAG_ARLO
|
||||
#define I2C_SLAVE_GENERAL_CALL (I2C_FLAG_BUSY | I2C_FLAG_GCAL)
|
||||
|
||||
/* Master/Receiver Mode */
|
||||
#define I2C_MODE_TRANSMITTER 0x00
|
||||
#define I2C_MODE_RECEIVER 0x01
|
||||
|
||||
/* I2C Registers offset */
|
||||
#define I2C_CR 0x00
|
||||
#define I2C_SR1 0x04
|
||||
#define I2C_SR2 0x08
|
||||
#define I2C_CCR 0x0C
|
||||
#define I2C_OAR1 0x10
|
||||
#define I2C_OAR2 0x14
|
||||
#define I2C_DR 0x18
|
||||
#define I2C_ECCR 0x1C
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void I2C_DeInit(void);
|
||||
void I2C_Init(I2C_InitTypeDef* I2C_InitStruct);
|
||||
void I2C_StructInit(I2C_InitTypeDef* I2C_InitStruct);
|
||||
void I2C_Cmd(FunctionalState NewState);
|
||||
void I2C_GenerateSTART(FunctionalState NewState);
|
||||
void I2C_GenerateSTOP(FunctionalState NewState);
|
||||
void I2C_AcknowledgeConfig(FunctionalState NewState);
|
||||
void I2C_ITConfig(FunctionalState NewState);
|
||||
u16 I2C_GetLastEvent(void);
|
||||
ErrorStatus I2C_CheckEvent(u16 I2C_EVENT);
|
||||
void I2C_SendData(u8 Data);
|
||||
u8 I2C_ReceiveData(void);
|
||||
void I2C_Send7bitAddress(u8 Address, u8 Direction);
|
||||
u8 I2C_ReadRegister(u8 I2C_Register);
|
||||
FlagStatus I2C_GetFlagStatus(u16 I2C_FLAG);
|
||||
void I2C_ClearFlag(u16 I2C_FLAG, ...);
|
||||
|
||||
#endif /* __75x_I2C_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
103
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_lib.h
Normal file
103
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_lib.h
Normal file
|
@ -0,0 +1,103 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_lib.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file includes the peripherals header files in the
|
||||
* user application.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_LIB_H
|
||||
#define __75x_LIB_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
#ifdef _SMI
|
||||
#include "75x_smi.h"
|
||||
#endif /*_SMI */
|
||||
|
||||
#ifdef _CFG
|
||||
#include "75x_cfg.h"
|
||||
#endif /*_CFG*/
|
||||
|
||||
#ifdef _MRCC
|
||||
#include "75x_mrcc.h"
|
||||
#endif /*_MRCC */
|
||||
|
||||
#ifdef _ADC
|
||||
#include "75x_adc.h"
|
||||
#endif /*_ADC */
|
||||
|
||||
#ifdef _TB
|
||||
#include "75x_tb.h"
|
||||
#endif /*_TB */
|
||||
|
||||
#ifdef _TIM
|
||||
#include "75x_tim.h"
|
||||
#endif /*_TIM */
|
||||
|
||||
#ifdef _PWM
|
||||
#include "75x_pwm.h"
|
||||
#endif /*_PWM */
|
||||
|
||||
#ifdef _WDG
|
||||
#include "75x_wdg.h"
|
||||
#endif /*_WDG */
|
||||
|
||||
#ifdef _SSP
|
||||
#include "75x_ssp.h"
|
||||
#endif /*_SSP */
|
||||
|
||||
#ifdef _CAN
|
||||
#include "75x_can.h"
|
||||
#endif /*_CAN */
|
||||
|
||||
#ifdef _I2C
|
||||
#include "75x_i2c.h"
|
||||
#endif /*_I2C */
|
||||
|
||||
#ifdef _UART
|
||||
#include "75x_uart.h"
|
||||
#endif /*_UART */
|
||||
|
||||
#ifdef _GPIO
|
||||
#include "75x_gpio.h"
|
||||
#endif /*_GPIO */
|
||||
|
||||
#ifdef _DMA
|
||||
#include "75x_dma.h"
|
||||
#endif /*_DMA */
|
||||
|
||||
#ifdef _RTC
|
||||
#include "75x_rtc.h"
|
||||
#endif /*_RTC */
|
||||
|
||||
#ifdef _EXTIT
|
||||
#include "75x_extit.h"
|
||||
#endif /*_EXTIT */
|
||||
|
||||
#ifdef _EIC
|
||||
#include "75x_eic.h"
|
||||
#endif /*_EIC */
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
void debug(void);
|
||||
|
||||
#endif /* __75x_LIB_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
697
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_map.h
Normal file
697
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_map.h
Normal file
|
@ -0,0 +1,697 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_map.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the peripheral register's definitions
|
||||
* and memory mapping.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_MAP_H
|
||||
#define __75x_MAP_H
|
||||
|
||||
#ifndef EXT
|
||||
#define EXT extern
|
||||
#endif /* EXT */
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_conf.h"
|
||||
#include "75x_type.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/******************************************************************************/
|
||||
/* IP registers structures */
|
||||
/******************************************************************************/
|
||||
|
||||
/*------------------------ Analog to Digital Converter -----------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 CLR0;
|
||||
u16 EMPTY1;
|
||||
vu16 CLR1;
|
||||
u16 EMPTY2;
|
||||
vu16 CLR2;
|
||||
u16 EMPTY3;
|
||||
vu16 CLR3;
|
||||
u16 EMPTY4;
|
||||
vu16 CLR4;
|
||||
u16 EMPTY5;
|
||||
vu16 TRA0;
|
||||
u16 EMPTY6;
|
||||
vu16 TRA1;
|
||||
u16 EMPTY7;
|
||||
vu16 TRA2;
|
||||
u16 EMPTY8;
|
||||
vu16 TRA3;
|
||||
u16 EMPTY9;
|
||||
vu16 TRB0;
|
||||
u16 EMPTY10;
|
||||
vu16 TRB1;
|
||||
u16 EMPTY11;
|
||||
vu16 TRB2;
|
||||
u16 EMPTY12;
|
||||
vu16 TRB3;
|
||||
u16 EMPTY13;
|
||||
vu16 DMAR;
|
||||
u16 EMPTY14[7];
|
||||
vu16 DMAE;
|
||||
u16 EMPTY15 ;
|
||||
vu16 PBR;
|
||||
u16 EMPTY16;
|
||||
vu16 IMR;
|
||||
u16 EMPTY17;
|
||||
vu16 D0;
|
||||
u16 EMPTY18;
|
||||
vu16 D1;
|
||||
u16 EMPTY19;
|
||||
vu16 D2;
|
||||
u16 EMPTY20;
|
||||
vu16 D3;
|
||||
u16 EMPTY21;
|
||||
vu16 D4;
|
||||
u16 EMPTY22;
|
||||
vu16 D5;
|
||||
u16 EMPTY23;
|
||||
vu16 D6;
|
||||
u16 EMPTY24;
|
||||
vu16 D7;
|
||||
u16 EMPTY25;
|
||||
vu16 D8;
|
||||
u16 EMPTY26;
|
||||
vu16 D9;
|
||||
u16 EMPTY27;
|
||||
vu16 D10;
|
||||
u16 EMPTY28;
|
||||
vu16 D11;
|
||||
u16 EMPTY29;
|
||||
vu16 D12;
|
||||
u16 EMPTY30;
|
||||
vu16 D13;
|
||||
u16 EMPTY31;
|
||||
vu16 D14;
|
||||
u16 EMPTY32;
|
||||
vu16 D15;
|
||||
u16 EMPTY33;
|
||||
} ADC_TypeDef;
|
||||
|
||||
/*------------------------ Controller Area Network ---------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 CRR;
|
||||
u16 EMPTY1;
|
||||
vu16 CMR;
|
||||
u16 EMPTY2;
|
||||
vu16 M1R;
|
||||
u16 EMPTY3;
|
||||
vu16 M2R;
|
||||
u16 EMPTY4;
|
||||
vu16 A1R;
|
||||
u16 EMPTY5;
|
||||
vu16 A2R;
|
||||
u16 EMPTY6;
|
||||
vu16 MCR;
|
||||
u16 EMPTY7;
|
||||
vu16 DA1R;
|
||||
u16 EMPTY8;
|
||||
vu16 DA2R;
|
||||
u16 EMPTY9;
|
||||
vu16 DB1R;
|
||||
u16 EMPTY10;
|
||||
vu16 DB2R;
|
||||
u16 EMPTY11[27];
|
||||
} CAN_MsgObj_TypeDef;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
vu16 CR;
|
||||
u16 EMPTY1;
|
||||
vu16 SR;
|
||||
u16 EMPTY2;
|
||||
vu16 ERR;
|
||||
u16 EMPTY3;
|
||||
vu16 BTR;
|
||||
u16 EMPTY4;
|
||||
vu16 IDR;
|
||||
u16 EMPTY5;
|
||||
vu16 TESTR;
|
||||
u16 EMPTY6;
|
||||
vu16 BRPR;
|
||||
u16 EMPTY7[3];
|
||||
CAN_MsgObj_TypeDef sMsgObj[2];
|
||||
u16 EMPTY8[16];
|
||||
vu16 TXR1R;
|
||||
u16 EMPTY9;
|
||||
vu16 TXR2R;
|
||||
u16 EMPTY10[13];
|
||||
vu16 ND1R;
|
||||
u16 EMPTY11;
|
||||
vu16 ND2R;
|
||||
u16 EMPTY12[13];
|
||||
vu16 IP1R;
|
||||
u16 EMPTY13;
|
||||
vu16 IP2R;
|
||||
u16 EMPTY14[13];
|
||||
vu16 MV1R;
|
||||
u16 EMPTY15;
|
||||
vu16 MV2R;
|
||||
u16 EMPTY16;
|
||||
} CAN_TypeDef;
|
||||
|
||||
/*--------------------------- Configuration Register -------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu32 GLCONF;
|
||||
} CFG_TypeDef;
|
||||
|
||||
/*-------------------------------- DMA Controller ----------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 SOURCEL;
|
||||
u16 EMPTY1;
|
||||
vu16 SOURCEH;
|
||||
u16 EMPTY2;
|
||||
vu16 DESTL;
|
||||
u16 EMPTY3;
|
||||
vu16 DESTH;
|
||||
u16 EMPTY4;
|
||||
vu16 MAX;
|
||||
u16 EMPTY5;
|
||||
vu16 CTRL;
|
||||
u16 EMPTY6;
|
||||
vuc16 SOCURRH;
|
||||
u16 EMPTY7;
|
||||
vuc16 SOCURRL;
|
||||
u16 EMPTY8;
|
||||
vuc16 DECURRH;
|
||||
u16 EMPTY9;
|
||||
vuc16 DECURRL;
|
||||
u16 EMPTY10;
|
||||
vuc16 TCNT;
|
||||
u16 EMPTY11;
|
||||
vu16 LUBUFF;
|
||||
u16 EMPTY12;
|
||||
} DMA_Stream_TypeDef;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
vu16 MASK;
|
||||
u16 EMPTY4;
|
||||
vu16 CLR;
|
||||
u16 EMPTY5;
|
||||
vuc16 STATUS;
|
||||
u16 EMPTY6;
|
||||
vu16 LAST;
|
||||
u16 EMPTY7;
|
||||
} DMA_TypeDef;
|
||||
|
||||
/*----------------------- Enhanced Interrupt Controller ----------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu32 ICR;
|
||||
vuc32 CICR;
|
||||
vu32 CIPR;
|
||||
u32 EMPTY1;
|
||||
vu32 FIER;
|
||||
vu32 FIPR;
|
||||
vu32 IVR;
|
||||
vu32 FIR;
|
||||
vu32 IER;
|
||||
u32 EMPTY2[7];
|
||||
vu32 IPR;
|
||||
u32 EMPTY3[7];
|
||||
vu32 SIRn[32];
|
||||
} EIC_TypeDef;
|
||||
|
||||
/*------------------------- External Interrupt Controller --------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu32 MR;
|
||||
vu32 TSR;
|
||||
vu32 SWIR;
|
||||
vu32 PR;
|
||||
} EXTIT_TypeDef;
|
||||
|
||||
/*-------------------------- General Purpose IO ports ------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu32 PC0;
|
||||
vu32 PC1;
|
||||
vu32 PC2;
|
||||
vu32 PD;
|
||||
vu32 PM;
|
||||
} GPIO_TypeDef;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
vu32 REMAP0R;
|
||||
vu32 REMAP1R;
|
||||
} GPIOREMAP_TypeDef;
|
||||
|
||||
/*--------------------------------- I2C interface ----------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu8 CR;
|
||||
u8 EMPTY1[3];
|
||||
vu8 SR1;
|
||||
u8 EMPTY2[3];
|
||||
vu8 SR2;
|
||||
u8 EMPTY3[3];
|
||||
vu8 CCR;
|
||||
u8 EMPTY4[3];
|
||||
vu8 OAR1;
|
||||
u8 EMPTY5[3];
|
||||
vu8 OAR2;
|
||||
u8 EMPTY6[3];
|
||||
vu8 DR;
|
||||
u8 EMPTY7[3];
|
||||
vu8 ECCR;
|
||||
u8 EMPTY8[3];
|
||||
} I2C_TypeDef;
|
||||
|
||||
/*---------------------------- Power, Reset and Clocks -----------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu32 CLKCTL;
|
||||
vu32 RFSR;
|
||||
vu32 PWRCTRL;
|
||||
u32 EMPTY1;
|
||||
vu32 PCLKEN;
|
||||
vu32 PSWRES;
|
||||
u32 EMPTY2[2];
|
||||
vu32 BKP0;
|
||||
vu32 BKP1;
|
||||
} MRCC_TypeDef;
|
||||
|
||||
/*-------------------------------- Real Time Clock ---------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 CRH;
|
||||
u16 EMPTY;
|
||||
vu16 CRL;
|
||||
u16 EMPTY1;
|
||||
vu16 PRLH;
|
||||
u16 EMPTY2;
|
||||
vu16 PRLL;
|
||||
u16 EMPTY3;
|
||||
vu16 DIVH;
|
||||
u16 EMPTY4;
|
||||
vu16 DIVL;
|
||||
u16 EMPTY5;
|
||||
vu16 CNTH;
|
||||
u16 EMPTY6;
|
||||
vu16 CNTL;
|
||||
u16 EMPTY7;
|
||||
vu16 ALRH;
|
||||
u16 EMPTY8;
|
||||
vu16 ALRL;
|
||||
u16 EMPTY9;
|
||||
} RTC_TypeDef;
|
||||
|
||||
/*---------------------------- Serial Memory Interface -----------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu32 CR1;
|
||||
vu32 CR2;
|
||||
vu32 SR;
|
||||
vu32 TR;
|
||||
vuc32 RR;
|
||||
} SMI_TypeDef;
|
||||
|
||||
/*--------------------------------- Timer Base -------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 CR;
|
||||
u16 EMPTY1;
|
||||
vu16 SCR;
|
||||
u16 EMPTY2;
|
||||
vu16 IMCR;
|
||||
u16 EMPTY3[7];
|
||||
vu16 RSR;
|
||||
u16 EMPTY4;
|
||||
vu16 RER;
|
||||
u16 EMPTY5;
|
||||
vu16 ISR;
|
||||
u16 EMPTY6;
|
||||
vu16 CNT;
|
||||
u16 EMPTY7;
|
||||
vu16 PSC;
|
||||
u16 EMPTY8[3];
|
||||
vu16 ARR;
|
||||
u16 EMPTY9[13];
|
||||
vu16 ICR1;
|
||||
u16 EMPTY10;
|
||||
} TB_TypeDef;
|
||||
|
||||
/*------------------------------------ TIM -----------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 CR;
|
||||
u16 EMPTY1;
|
||||
vu16 SCR;
|
||||
u16 EMPTY2;
|
||||
vu16 IMCR;
|
||||
u16 EMPTY3;
|
||||
vu16 OMR1;
|
||||
u16 EMPTY4[5];
|
||||
vu16 RSR;
|
||||
u16 EMPTY5;
|
||||
vu16 RER;
|
||||
u16 EMPTY6;
|
||||
vu16 ISR;
|
||||
u16 EMPTY7;
|
||||
vu16 CNT;
|
||||
u16 EMPTY8;
|
||||
vu16 PSC;
|
||||
u16 EMPTY9[3];
|
||||
vu16 ARR;
|
||||
u16 EMPTY10;
|
||||
vu16 OCR1;
|
||||
u16 EMPTY11;
|
||||
vu16 OCR2;
|
||||
u16 EMPTY12[9];
|
||||
vu16 ICR1;
|
||||
u16 EMPTY13;
|
||||
vu16 ICR2;
|
||||
u16 EMPTY14[9];
|
||||
vu16 DMAB;
|
||||
u16 EMPTY15;
|
||||
} TIM_TypeDef;
|
||||
|
||||
/*------------------------------------ PWM -----------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 CR;
|
||||
u16 EMPTY1;
|
||||
vu16 SCR;
|
||||
u16 EMPTY2[3];
|
||||
vu16 OMR1;
|
||||
u16 EMPTY3;
|
||||
vu16 OMR2;
|
||||
u16 EMPTY4[3];
|
||||
vu16 RSR;
|
||||
u16 EMPTY5;
|
||||
vu16 RER;
|
||||
u16 EMPTY6;
|
||||
vu16 ISR;
|
||||
u16 EMPTY7;
|
||||
vu16 CNT;
|
||||
u16 EMPTY8;
|
||||
vu16 PSC;
|
||||
u16 EMPTY9;
|
||||
vu16 RCR;
|
||||
u16 EMPTY10;
|
||||
vu16 ARR;
|
||||
u16 EMPTY11;
|
||||
vu16 OCR1;
|
||||
u16 EMPTY12;
|
||||
vu16 OCR2;
|
||||
u16 EMPTY13;
|
||||
vu16 OCR3;
|
||||
u16 EMPTY14[15];
|
||||
vu16 DTR;
|
||||
u16 EMPTY15;
|
||||
vu16 DMAB;
|
||||
u16 EMPTY16;
|
||||
} PWM_TypeDef;
|
||||
|
||||
/*----------------------- Synchronous Serial Peripheral ----------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu32 CR0;
|
||||
vu32 CR1;
|
||||
vu32 DR;
|
||||
vu32 SR;
|
||||
vu32 PR;
|
||||
vu32 IMSCR;
|
||||
vu32 RISR;
|
||||
vu32 MISR;
|
||||
vu32 ICR;
|
||||
vu32 DMACR;
|
||||
} SSP_TypeDef;
|
||||
|
||||
/*---------------- Universal Asynchronous Receiver Transmitter ---------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 DR;
|
||||
u16 EMPTY;
|
||||
vu16 RSR;
|
||||
u16 EMPTY1[9];
|
||||
vu16 FR;
|
||||
u16 EMPTY2;
|
||||
vu16 BKR;
|
||||
u16 EMPTY3[3];
|
||||
vu16 IBRD;
|
||||
u16 EMPTY4;
|
||||
vu16 FBRD;
|
||||
u16 EMPTY5;
|
||||
vu16 LCR;
|
||||
u16 EMPTY6;
|
||||
vu16 CR;
|
||||
u16 EMPTY7;
|
||||
vu16 IFLS;
|
||||
u16 EMPTY8;
|
||||
vu16 IMSC;
|
||||
u16 EMPTY9;
|
||||
vu16 RIS;
|
||||
u16 EMPTY10;
|
||||
vu16 MIS;
|
||||
u16 EMPTY11;
|
||||
vu16 ICR;
|
||||
u16 EMPTY12;
|
||||
vu16 DMACR;
|
||||
u16 EMPTY13;
|
||||
} UART_TypeDef;
|
||||
|
||||
/*---------------------------------- WATCHDOG --------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
vu16 CR;
|
||||
u16 EMPTY1;
|
||||
vu16 PR;
|
||||
u16 EMPTY2;
|
||||
vu16 VR;
|
||||
u16 EMPTY3;
|
||||
vu16 CNT;
|
||||
u16 EMPTY4;
|
||||
vu16 SR;
|
||||
u16 EMPTY5;
|
||||
vu16 MR;
|
||||
u16 EMPTY6;
|
||||
vu16 KR;
|
||||
u16 EMPTY7;
|
||||
} WDG_TypeDef;
|
||||
|
||||
/*******************************************************************************
|
||||
* Peripherals' Base addresses
|
||||
*******************************************************************************/
|
||||
|
||||
#define SRAM_BASE 0x40000000
|
||||
|
||||
#define CONFIG_BASE 0x60000000
|
||||
|
||||
#define SMIR_BASE 0x90000000
|
||||
|
||||
#define PERIPH_BASE 0xFFFF0000
|
||||
|
||||
#define CFG_BASE (CONFIG_BASE + 0x0010)
|
||||
#define MRCC_BASE (CONFIG_BASE + 0x0020)
|
||||
#define ADC_BASE (PERIPH_BASE + 0x8400)
|
||||
#define TB_BASE (PERIPH_BASE + 0x8800)
|
||||
#define TIM0_BASE (PERIPH_BASE + 0x8C00)
|
||||
#define TIM1_BASE (PERIPH_BASE + 0x9000)
|
||||
#define TIM2_BASE (PERIPH_BASE + 0x9400)
|
||||
#define PWM_BASE (PERIPH_BASE + 0x9800)
|
||||
#define WDG_BASE (PERIPH_BASE + 0xB000)
|
||||
#define SSP0_BASE (PERIPH_BASE + 0xB800)
|
||||
#define SSP1_BASE (PERIPH_BASE + 0xBC00)
|
||||
#define CAN_BASE (PERIPH_BASE + 0xC400)
|
||||
#define I2C_BASE (PERIPH_BASE + 0xCC00)
|
||||
#define UART0_BASE (PERIPH_BASE + 0xD400)
|
||||
#define UART1_BASE (PERIPH_BASE + 0xD800)
|
||||
#define UART2_BASE (PERIPH_BASE + 0xDC00)
|
||||
#define GPIO0_BASE (PERIPH_BASE + 0xE400)
|
||||
#define GPIOREMAP_BASE (PERIPH_BASE + 0xE420)
|
||||
#define GPIO1_BASE (PERIPH_BASE + 0xE440)
|
||||
#define GPIO2_BASE (PERIPH_BASE + 0xE480)
|
||||
#define DMA_BASE (PERIPH_BASE + 0xECF0)
|
||||
#define DMA_Stream0_BASE (PERIPH_BASE + 0xEC00)
|
||||
#define DMA_Stream1_BASE (PERIPH_BASE + 0xEC40)
|
||||
#define DMA_Stream2_BASE (PERIPH_BASE + 0xEC80)
|
||||
#define DMA_Stream3_BASE (PERIPH_BASE + 0xECC0)
|
||||
#define RTC_BASE (PERIPH_BASE + 0xF000)
|
||||
#define EXTIT_BASE (PERIPH_BASE + 0xF400)
|
||||
#define EIC_BASE (PERIPH_BASE + 0xF800)
|
||||
|
||||
/*******************************************************************************
|
||||
IPs' declaration
|
||||
*******************************************************************************/
|
||||
|
||||
/*------------------- Non Debug Mode -----------------------------------------*/
|
||||
|
||||
#ifndef DEBUG
|
||||
#define SMI ((SMI_TypeDef *) SMIR_BASE)
|
||||
#define CFG ((CFG_TypeDef *) CFG_BASE)
|
||||
#define MRCC ((MRCC_TypeDef *) MRCC_BASE)
|
||||
#define ADC ((ADC_TypeDef *) ADC_BASE)
|
||||
#define TB ((TB_TypeDef *) TB_BASE)
|
||||
#define TIM0 ((TIM_TypeDef *) TIM0_BASE)
|
||||
#define TIM1 ((TIM_TypeDef *) TIM1_BASE)
|
||||
#define TIM2 ((TIM_TypeDef *) TIM2_BASE)
|
||||
#define PWM ((PWM_TypeDef *) PWM_BASE)
|
||||
#define WDG ((WDG_TypeDef *) WDG_BASE)
|
||||
#define SSP0 ((SSP_TypeDef *) SSP0_BASE)
|
||||
#define SSP1 ((SSP_TypeDef *) SSP1_BASE)
|
||||
#define CAN ((CAN_TypeDef *) CAN_BASE)
|
||||
#define I2C ((I2C_TypeDef *) I2C_BASE)
|
||||
#define UART0 ((UART_TypeDef *) UART0_BASE)
|
||||
#define UART1 ((UART_TypeDef *) UART1_BASE)
|
||||
#define UART2 ((UART_TypeDef *) UART2_BASE)
|
||||
#define GPIO0 ((GPIO_TypeDef *) GPIO0_BASE)
|
||||
#define GPIOREMAP ((GPIOREMAP_TypeDef *) GPIOREMAP_BASE)
|
||||
#define GPIO1 ((GPIO_TypeDef *) GPIO1_BASE)
|
||||
#define GPIO2 ((GPIO_TypeDef *) GPIO2_BASE)
|
||||
#define DMA ((DMA_TypeDef *) DMA_BASE)
|
||||
#define DMA_Stream0 ((DMA_Stream_TypeDef *) DMA_Stream0_BASE)
|
||||
#define DMA_Stream1 ((DMA_Stream_TypeDef *) DMA_Stream1_BASE)
|
||||
#define DMA_Stream2 ((DMA_Stream_TypeDef *) DMA_Stream2_BASE)
|
||||
#define DMA_Stream3 ((DMA_Stream_TypeDef *) DMA_Stream3_BASE)
|
||||
#define RTC ((RTC_TypeDef *) RTC_BASE)
|
||||
#define EXTIT ((EXTIT_TypeDef *) EXTIT_BASE)
|
||||
#define EIC ((EIC_TypeDef *) EIC_BASE)
|
||||
#else /* DEBUG */
|
||||
#ifdef _SMI
|
||||
EXT SMI_TypeDef *SMI;
|
||||
#endif /*_SMI */
|
||||
|
||||
#ifdef _CFG
|
||||
EXT CFG_TypeDef *CFG;
|
||||
#endif /*_CFG */
|
||||
|
||||
#ifdef _MRCC
|
||||
EXT MRCC_TypeDef *MRCC;
|
||||
#endif /*_MRCC */
|
||||
|
||||
#ifdef _ADC
|
||||
EXT ADC_TypeDef *ADC;
|
||||
#endif /*_ADC */
|
||||
|
||||
#ifdef _TB
|
||||
EXT TB_TypeDef *TB;
|
||||
#endif /*_TB */
|
||||
|
||||
#ifdef _TIM0
|
||||
EXT TIM_TypeDef *TIM0;
|
||||
#endif /*_TIM0 */
|
||||
|
||||
#ifdef _TIM1
|
||||
EXT TIM_TypeDef *TIM1;
|
||||
#endif /*_TIM1 */
|
||||
|
||||
#ifdef _TIM2
|
||||
EXT TIM_TypeDef *TIM2;
|
||||
#endif /*_TIM2 */
|
||||
|
||||
#ifdef _PWM
|
||||
EXT PWM_TypeDef *PWM;
|
||||
#endif /*_PWM */
|
||||
|
||||
#ifdef _WDG
|
||||
EXT WDG_TypeDef *WDG;
|
||||
#endif /*_WDG */
|
||||
|
||||
#ifdef _SSP0
|
||||
EXT SSP_TypeDef *SSP0;
|
||||
#endif /*_SSP0 */
|
||||
|
||||
#ifdef _SSP1
|
||||
EXT SSP_TypeDef *SSP1;
|
||||
#endif /*_SSP1 */
|
||||
|
||||
#ifdef _CAN
|
||||
EXT CAN_TypeDef *CAN;
|
||||
#endif /*_CAN */
|
||||
|
||||
#ifdef _I2C
|
||||
EXT I2C_TypeDef *I2C;
|
||||
#endif /*_I2C */
|
||||
|
||||
#ifdef _UART0
|
||||
EXT UART_TypeDef *UART0;
|
||||
#endif /*_UART0 */
|
||||
|
||||
#ifdef _UART1
|
||||
EXT UART_TypeDef *UART1;
|
||||
#endif /*_UART1 */
|
||||
|
||||
#ifdef _UART2
|
||||
EXT UART_TypeDef *UART2;
|
||||
#endif /*_UART2 */
|
||||
|
||||
#ifdef _GPIO0
|
||||
EXT GPIO_TypeDef *GPIO0;
|
||||
#endif /*_GPIO0 */
|
||||
|
||||
#ifdef _GPIOREMAP
|
||||
EXT GPIOREMAP_TypeDef *GPIOREMAP;
|
||||
#endif /*_GPIOREMAP */
|
||||
|
||||
#ifdef _GPIO1
|
||||
EXT GPIO_TypeDef *GPIO1;
|
||||
#endif /*_GPIO1 */
|
||||
|
||||
#ifdef _GPIO2
|
||||
EXT GPIO_TypeDef *GPIO2;
|
||||
#endif /*_GPIO2 */
|
||||
|
||||
#ifdef _DMA
|
||||
EXT DMA_TypeDef *DMA;
|
||||
#endif /*_DMA */
|
||||
|
||||
#ifdef _DMA_Stream0
|
||||
EXT DMA_Stream_TypeDef *DMA_Stream0;
|
||||
#endif /*_DMA_Stream0 */
|
||||
|
||||
#ifdef _DMA_Stream1
|
||||
EXT DMA_Stream_TypeDef *DMA_Stream1;
|
||||
#endif /*_DMA_Stream1 */
|
||||
|
||||
#ifdef _DMA_Stream2
|
||||
EXT DMA_Stream_TypeDef *DMA_Stream2;
|
||||
#endif /*_DMA_Stream2 */
|
||||
|
||||
#ifdef _DMA_Stream3
|
||||
EXT DMA_Stream_TypeDef *DMA_Stream3;
|
||||
#endif /*_DMA_Stream3 */
|
||||
|
||||
#ifdef _RTC
|
||||
EXT RTC_TypeDef *RTC;
|
||||
#endif /*_RTC */
|
||||
|
||||
#ifdef _EXTIT
|
||||
EXT EXTIT_TypeDef *EXTIT;
|
||||
#endif /*_EXTIT */
|
||||
|
||||
#ifdef _EIC
|
||||
EXT EIC_TypeDef *EIC;
|
||||
#endif /*_EIC */
|
||||
|
||||
#endif /* DEBUG */
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
#endif /* __75x_MAP_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
241
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_mrcc.h
Normal file
241
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_mrcc.h
Normal file
|
@ -0,0 +1,241 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_mrcc.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* MRCC software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_MRCC_H
|
||||
#define __75x_MRCC_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* MRCC Buck-up registers */
|
||||
typedef enum
|
||||
{
|
||||
MRCC_BKP0,
|
||||
MRCC_BKP1
|
||||
}MRCC_BKPReg;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
FREEOSC,
|
||||
OSC4MPLL,
|
||||
OSC4M,
|
||||
CKRTC,
|
||||
Disabled,
|
||||
OSC4M_Div128,
|
||||
LPOSC,
|
||||
OSC32K,
|
||||
Internal,
|
||||
External,
|
||||
ON,
|
||||
OFF
|
||||
}CLKSourceTypeDef;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CLKSourceTypeDef CKSYS_Source; /* FREEOSC, OSC4MPLL, OSC4M, CKRTC */
|
||||
CLKSourceTypeDef CKRTC_Source; /* Disabled, OSC4M_Div128, OSC32K, LPOSC */
|
||||
CLKSourceTypeDef CKUSB_Source; /* Disabled, Internal, External */
|
||||
CLKSourceTypeDef PLL_Status; /* ON, OFF */
|
||||
CLKSourceTypeDef OSC4M_Status; /* ON, OFF */
|
||||
CLKSourceTypeDef LPOSC_Status; /* ON, OFF */
|
||||
CLKSourceTypeDef OSC32K_Status; /* ON, OFF */
|
||||
u32 CKSYS_Frequency;
|
||||
u32 HCLK_Frequency;
|
||||
u32 CKTIM_Frequency;
|
||||
u32 PCLK_Frequency;
|
||||
}MRCC_ClocksTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* Oscillator divider by 2 */
|
||||
#define MRCC_XTDIV2_Disable 0xFFFF7FFF
|
||||
#define MRCC_XTDIV2_Enable 0x00008000
|
||||
|
||||
/* System clock source */
|
||||
#define MRCC_CKSYS_FREEOSC 0x01
|
||||
#define MRCC_CKSYS_OSC4M 0x02
|
||||
#define MRCC_CKSYS_OSC4MPLL 0x03
|
||||
#define MRCC_CKSYS_RTC 0x04
|
||||
|
||||
/* PLL multiplication factors */
|
||||
#define MRCC_PLL_Disabled 0xFEFFFFFF
|
||||
#define MRCC_PLL_NoChange 0x00000001
|
||||
#define MRCC_PLL_Mul_12 0x18000000
|
||||
#define MRCC_PLL_Mul_14 0x10000000
|
||||
#define MRCC_PLL_Mul_15 0x08000000
|
||||
#define MRCC_PLL_Mul_16 0x00000000
|
||||
|
||||
/* AHB clock source */
|
||||
#define MRCC_CKSYS_Div1 0x00000000
|
||||
#define MRCC_CKSYS_Div2 0x00000008
|
||||
#define MRCC_CKSYS_Div4 0x00000010
|
||||
#define MRCC_CKSYS_Div8 0x00000018
|
||||
|
||||
/* TIM clock source */
|
||||
#define MRCC_HCLK_Div1 0x00000000
|
||||
#define MRCC_HCLK_Div2 0x00000001
|
||||
#define MRCC_HCLK_Div4 0x00000002
|
||||
#define MRCC_HCLK_Div8 0x00000003
|
||||
|
||||
/* APB clock source */
|
||||
#define MRCC_CKTIM_Div1 0xFFFFFFFB
|
||||
#define MRCC_CKTIM_Div2 0x00000004
|
||||
|
||||
/* RTC clock sources */
|
||||
#define MRCC_CKRTC_OSC4M_Div128 0x01000000
|
||||
#define MRCC_CKRTC_OSC32K 0x02000000
|
||||
#define MRCC_CKRTC_LPOSC 0x03000000
|
||||
|
||||
/* USB clock sources */
|
||||
#define MRCC_CKUSB_Internal 0xFFBFFFFF
|
||||
#define MRCC_CKUSB_External 0x00400000
|
||||
|
||||
/* MRCC Interrupts */
|
||||
#define MRCC_IT_LOCK 0x40000000
|
||||
#define MRCC_IT_NCKD 0x00080000
|
||||
|
||||
/* Peripheral Clock */
|
||||
#define MRCC_Peripheral_ALL 0x1975623F
|
||||
#define MRCC_Peripheral_EXTIT 0x10000000
|
||||
#define MRCC_Peripheral_RTC 0x08000000
|
||||
#define MRCC_Peripheral_GPIO 0x01000000
|
||||
#define MRCC_Peripheral_UART2 0x00400000
|
||||
#define MRCC_Peripheral_UART1 0x00200000
|
||||
#define MRCC_Peripheral_UART0 0x00100000
|
||||
#define MRCC_Peripheral_I2C 0x00040000
|
||||
#define MRCC_Peripheral_CAN 0x00010000
|
||||
#define MRCC_Peripheral_SSP1 0x00004000
|
||||
#define MRCC_Peripheral_SSP0 0x00002000
|
||||
#define MRCC_Peripheral_USB 0x00000200
|
||||
#define MRCC_Peripheral_PWM 0x00000020
|
||||
#define MRCC_Peripheral_TIM2 0x00000010
|
||||
#define MRCC_Peripheral_TIM1 0x00000008
|
||||
#define MRCC_Peripheral_TIM0 0x00000004
|
||||
#define MRCC_Peripheral_TB 0x00000002
|
||||
#define MRCC_Peripheral_ADC 0x00000001
|
||||
|
||||
/* Clock sources to measure theire frequency */
|
||||
#define MRCC_ClockSource_CKSYS 0x01
|
||||
#define MRCC_ClockSource_HCLK 0x02
|
||||
#define MRCC_ClockSource_PCLK 0x03
|
||||
#define MRCC_ClockSource_CKTIM 0x04
|
||||
|
||||
/* Low Power Debug Mode */
|
||||
#define MRCC_LPDM_Disable 0xFFFFFFF7
|
||||
#define MRCC_LPDM_Enable 0x00000008
|
||||
|
||||
/* WFI Mode parameters */
|
||||
#define MRCC_WFIParam_FLASHPowerDown 0x00000000
|
||||
#define MRCC_WFIParam_FLASHOn 0x00000010
|
||||
#define MRCC_WFIParam_FLASHOff 0x00004000
|
||||
|
||||
/* STOP Mode parameters */
|
||||
#define MRCC_STOPParam_Default 0x00000000
|
||||
#define MRCC_STOPParam_OSC4MOff 0x00008000
|
||||
#define MRCC_STOPParam_FLASHOff 0x00004000
|
||||
#define MRCC_STOPParam_MVREGOff 0x00002000
|
||||
|
||||
/* I/O Pins voltage range */
|
||||
#define MRCC_IOVoltageRange_5V 0xFFFEFFFF
|
||||
#define MRCC_IOVoltageRange_3V3 0x00010000
|
||||
|
||||
/* Clock sources to output on MCO pin */
|
||||
#define MRCC_MCO_HCLK 0x00000000
|
||||
#define MRCC_MCO_PCLK 0x00000040
|
||||
#define MRCC_MCO_OSC4M 0x00000080
|
||||
#define MRCC_MCO_CKPLL2 0x000000C0
|
||||
#define MRCC_MCOPrescaler_1 0xFFFFFFDF
|
||||
#define MRCC_MCOPrescaler_2 0x00000020
|
||||
|
||||
/* 4MHz main oscillator configuration */
|
||||
#define MRCC_OSC4M_Default 0xFFFCFFFF
|
||||
#define MRCC_OSC4M_Disable 0x00020000
|
||||
#define MRCC_OSC4M_Bypass 0x00010000
|
||||
|
||||
/* OSC32K oscillator configuration */
|
||||
#define MRCC_OSC32K_Disable 0xDFFFFFFF
|
||||
#define MRCC_OSC32K_Enable 0x20000000
|
||||
#define MRCC_OSC32KBypass_Disable 0xBFFFFFFF
|
||||
#define MRCC_OSC32KBypass_Enable 0x40000000
|
||||
|
||||
/* LPOSC oscillator configuration */
|
||||
#define MRCC_LPOSC_Disable 0xEFFFFFFF
|
||||
#define MRCC_LPOSC_Enable 0x10000000
|
||||
|
||||
/* RTC measurement configuration */
|
||||
#define MRCC_RTCM_Disable 0xFBFFFFFF
|
||||
#define MRCC_RTCM_Enable 0x04000000
|
||||
|
||||
/* MRCC Flags */
|
||||
#define MRCC_FLAG_LOCK 0x3F
|
||||
#define MRCC_FLAG_LOCKIF 0x3D
|
||||
#define MRCC_FLAG_CKSEL 0x37
|
||||
#define MRCC_FLAG_CKOSCSEL 0x35
|
||||
#define MRCC_FLAG_NCKD 0x32
|
||||
#define MRCC_FLAG_SWR 0x5D
|
||||
#define MRCC_FLAG_WDGR 0x5C
|
||||
#define MRCC_FLAG_EXTR 0x5B
|
||||
#define MRCC_FLAG_WKP 0x5A
|
||||
#define MRCC_FLAG_STDB 0x59
|
||||
#define MRCC_FLAG_BCOUNT 0x58
|
||||
#define MRCC_FLAG_OSC32KRDY 0x7F
|
||||
#define MRCC_FLAG_CKRTCOK 0x7B
|
||||
#define MRCC_FLAG_LPDONE 0x67
|
||||
#define MRCC_FLAG_LP 0x60
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
void MRCC_DeInit(void);
|
||||
void MRCC_XTDIV2Config(u32 MRCC_XTDIV2);
|
||||
ErrorStatus MRCC_CKSYSConfig(u32 MRCC_CKSYS, u32 MRCC_PLL);
|
||||
void MRCC_HCLKConfig(u32 MRCC_HCLK);
|
||||
void MRCC_CKTIMConfig(u32 MRCC_CKTIM);
|
||||
void MRCC_PCLKConfig(u32 MRCC_PCLK);
|
||||
ErrorStatus MRCC_CKRTCConfig(u32 MRCC_CKRTC);
|
||||
ErrorStatus MRCC_CKUSBConfig(u32 MRCC_CKUSB);
|
||||
void MRCC_ITConfig(u32 MRCC_IT, FunctionalState NewState);
|
||||
void MRCC_PeripheralClockConfig(u32 MRCC_Peripheral, FunctionalState NewState);
|
||||
void MRCC_PeripheralSWResetConfig(u32 MRCC_Peripheral, FunctionalState NewState);
|
||||
void MRCC_GetClocksStatus(MRCC_ClocksTypeDef* MRCC_ClocksStatus);
|
||||
void MRCC_LPMC_DBGConfig(u32 MRCC_LPDM);
|
||||
void MRCC_EnterWFIMode(u32 MRCC_WFIParam);
|
||||
void MRCC_EnterSTOPMode(u32 MRCC_STOPParam);
|
||||
void MRCC_EnterSTANDBYMode(void);
|
||||
void MRCC_GenerateSWReset(void);
|
||||
void MRCC_WriteBackupRegister(MRCC_BKPReg MRCC_BKP, u32 Data);
|
||||
u32 MRCC_ReadBackupRegister(MRCC_BKPReg MRCC_BKP);
|
||||
void MRCC_IOVoltageRangeConfig(u32 MRCC_IOVoltageRange);
|
||||
void MRCC_MCOConfig(u32 MRCC_MCO, u32 MCO_MCOPrescaler);
|
||||
ErrorStatus MRCC_OSC4MConfig(u32 MRCC_OSC4M);
|
||||
ErrorStatus MRCC_OSC32KConfig(u32 MRCC_OSC32K, u32 MRCC_OSC32KBypass);
|
||||
ErrorStatus MRCC_LPOSCConfig(u32 MRCC_LPOSC);
|
||||
void MRCC_RTCMConfig(u32 MRCC_RTCM);
|
||||
void MRCC_SetBuilderCounter(u8 BuilderCounter);
|
||||
u16 MRCC_GetCKSYSCounter(void);
|
||||
FlagStatus MRCC_GetFlagStatus(u8 MRCC_FLAG);
|
||||
void MRCC_ClearFlag(u8 MRCC_FLAG);
|
||||
ITStatus MRCC_GetITStatus(u32 MRCC_IT);
|
||||
void MRCC_ClearITPendingBit(u32 MRCC_IT);
|
||||
ErrorStatus MRCC_WaitForOSC4MStartUp(void);
|
||||
|
||||
#endif /* __75x_MRCC_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
215
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_pwm.h
Normal file
215
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_pwm.h
Normal file
|
@ -0,0 +1,215 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_pwm.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* PWM software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_PWM_H
|
||||
#define __75x_PWM_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u16 PWM_Mode; /* PWM Mode */
|
||||
u16 PWM_Prescaler; /* Prescaler value */
|
||||
u16 PWM_CounterMode; /* Counter mode: Up/Down, Edge aligned or center aligned */
|
||||
u16 PWM_Period; /* Period value */
|
||||
u16 PWM_Complementary; /* Complementary PWM selection */
|
||||
u16 PWM_OCState; /* Output compare off-state in Run mode */
|
||||
u16 PWM_OCNState; /* Complementary Output compare off-state in Run mode */
|
||||
u16 PWM_Channel; /* PWM Channel: 1, 2 or 3 */
|
||||
u16 PWM_Pulse1; /* PWM or OCM Channel 1 pulse length */
|
||||
u16 PWM_Pulse2; /* PWM or OCM Channel 2 pulse length */
|
||||
u16 PWM_Pulse3; /* PWM or OCM Channel 3 pulse length */
|
||||
u16 PWM_Polarity1; /* PWM, OCM or OPM Channel 1 polarity */
|
||||
u16 PWM_Polarity2; /* PWM or OCM Channel 2 polarity */
|
||||
u16 PWM_Polarity3; /* PWM or OCM Channel 3 polarity */
|
||||
u16 PWM_Polarity1N; /* PWM or OCM Channel 1N polarity */
|
||||
u16 PWM_Polarity2N; /* PWM or OCM Channel 2N polarity */
|
||||
u16 PWM_Polarity3N; /* PWM or OCM Channel 3N polarity */
|
||||
u16 PWM_DTRAccess; /* Enable or disable the configuration of DTR register parameters:
|
||||
DeadTime, Emergency, LOCKLevel, OSSIState, OCState and OCNState */
|
||||
u16 PWM_DeadTime; /* Dead Time value */
|
||||
u16 PWM_Emergency; /* Emergency selection: Enable / Disable */
|
||||
u16 PWM_LOCKLevel; /* LOCK level */
|
||||
u16 PWM_OSSIState; /* Off-State Selection for Idle state */
|
||||
u8 PWM_RepetitionCounter; /* Repetition counter value */
|
||||
} PWM_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* PWM modes */
|
||||
#define PWM_Mode_OCTiming 0x0001
|
||||
#define PWM_Mode_OCActive 0x0002
|
||||
#define PWM_Mode_OCInactive 0x0003
|
||||
#define PWM_Mode_OCToggle 0x0004
|
||||
#define PWM_Mode_PWM 0x0005
|
||||
|
||||
/* PWM Counter Mode */
|
||||
#define PWM_CounterMode_Up 0x0000
|
||||
#define PWM_CounterMode_Down 0x0010
|
||||
#define PWM_CounterMode_CenterAligned1 0x0020
|
||||
#define PWM_CounterMode_CenterAligned2 0x0040
|
||||
#define PWM_CounterMode_CenterAligned3 0x0060
|
||||
|
||||
/* PWM Channel */
|
||||
#define PWM_Channel_1 0x0001
|
||||
#define PWM_Channel_2 0x0002
|
||||
#define PWM_Channel_3 0x0004
|
||||
#define PWM_Channel_ALL 0x0007
|
||||
|
||||
/* PWM Polarity channel 1 */
|
||||
#define PWM_Polarity1_High 0x0001
|
||||
#define PWM_Polarity1_Low 0x0002
|
||||
|
||||
/* PWM Polarity channel 2 */
|
||||
#define PWM_Polarity2_High 0x0001
|
||||
#define PWM_Polarity2_Low 0x0002
|
||||
|
||||
/* PWM Polarity channel 3 */
|
||||
#define PWM_Polarity3_High 0x0001
|
||||
#define PWM_Polarity3_Low 0x0002
|
||||
|
||||
/* PWM Polarity channel 1N */
|
||||
#define PWM_Polarity1N_High 0x0001
|
||||
#define PWM_Polarity1N_Low 0x0002
|
||||
|
||||
/* PWM Polarity channel 2N */
|
||||
#define PWM_Polarity2N_High 0x0001
|
||||
#define PWM_Polarity2N_Low 0x0002
|
||||
|
||||
/* PWM Polarity channel 3N */
|
||||
#define PWM_Polarity3N_High 0x0001
|
||||
#define PWM_Polarity3N_Low 0x0002
|
||||
|
||||
/* PWM interrupt sources */
|
||||
#define PWM_IT_OC1 0x0100
|
||||
#define PWM_IT_OC2 0x0200
|
||||
#define PWM_IT_OC3 0x0400
|
||||
#define PWM_IT_Update 0x0001
|
||||
#define PWM_IT_GlobalUpdate 0x1001
|
||||
#define PWM_IT_Emergency 0x8000
|
||||
|
||||
/* PWM DMA sources */
|
||||
#define PWM_DMASource_OC1 0x0100
|
||||
#define PWM_DMASource_OC2 0x0200
|
||||
#define PWM_DMASource_OC3 0x0400
|
||||
#define PWM_DMASource_Update 0x0001
|
||||
|
||||
/* PWM DMA Base address */
|
||||
#define PWM_DMABase_CR 0x0000
|
||||
#define PWM_DMABase_SCR 0x0800
|
||||
#define PWM_DMABase_OMR1 0x1800
|
||||
#define PWM_DMABase_OMR2 0x2000
|
||||
#define PWM_DMABase_RSR 0x3000
|
||||
#define PWM_DMABase_RER 0x3800
|
||||
#define PWM_DMABase_ISR 0x4000
|
||||
#define PWM_DMABase_CNT 0x4800
|
||||
#define PWM_DMABase_PSC 0x5000
|
||||
#define PWM_DMABase_RCR 0x5800
|
||||
#define PWM_DMABase_ARR 0x6000
|
||||
#define PWM_DMABase_OCR1 0x6800
|
||||
#define PWM_DMABase_OCR2 0x7000
|
||||
#define PWM_DMABase_OCR3 0x7800
|
||||
#define PWM_DMABase_DTR 0xB800
|
||||
|
||||
/* PWM OCM state */
|
||||
#define PWM_OCRMState_Enable 0x0005
|
||||
#define PWM_OCRMState_Disable 0x0006
|
||||
|
||||
/* PWM Flags */
|
||||
#define PWM_FLAG_OC1 0x0100
|
||||
#define PWM_FLAG_OC2 0x0200
|
||||
#define PWM_FLAG_OC3 0x0400
|
||||
#define PWM_FLAG_Update 0x0001
|
||||
#define PWM_FLAG_Emergency 0x8000
|
||||
|
||||
/* PWM_ForcedAction */
|
||||
#define PWM_ForcedAction_Active 0x000A
|
||||
#define PWM_ForcedAction_InActive 0x0008
|
||||
|
||||
/* PWM TRGO Mode */
|
||||
#define PWM_TRGOMode_Enable 0x0100
|
||||
#define PWM_TRGOMode_Update 0x0200
|
||||
#define PWM_TRGOMode_Reset 0x0000
|
||||
#define PWM_TRGOMode_OC 0x0300
|
||||
|
||||
/* PWM Complementary outputs Enable/Disable */
|
||||
#define PWM_Complementary_Disable 0x0001
|
||||
#define PWM_Complementary_Enable 0x0002
|
||||
|
||||
/* PWM DTR Access Enable/Disable */
|
||||
#define PWM_DTRAccess_Enable 0x0001
|
||||
#define PWM_DTRAccess_Disable 0x0002
|
||||
|
||||
/* PWM Emergency input Enable/Disable */
|
||||
#define PWM_Emergency_Disable 0x0000
|
||||
#define PWM_Emergency_Enable 0x1000
|
||||
|
||||
/* OC states */
|
||||
#define PWM_OCNState_Disable 0x0001
|
||||
#define PWM_OCNState_Enable 0x0002
|
||||
#define PWM_OCNState_OffState 0x0003
|
||||
|
||||
/* OCN states */
|
||||
#define PWM_OCState_Disable 0x0004
|
||||
#define PWM_OCState_Enable 0x0005
|
||||
#define PWM_OCState_OffState 0x0006
|
||||
|
||||
/* PWM LOCK level */
|
||||
#define PWM_LOCKLevel_1 0x0400
|
||||
#define PWM_LOCKLevel_2 0x0800
|
||||
#define PWM_LOCKLevel_3 0x0C00
|
||||
#define PWM_LOCKLevel_OFF 0x0000
|
||||
|
||||
/* Off State selection for Idle state */
|
||||
#define PWM_OSSIState_Disable 0x0000
|
||||
#define PWM_OSSIState_Enable 0x2000
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
void PWM_DeInit(void);
|
||||
void PWM_Init(PWM_InitTypeDef* PWM_InitStruct);
|
||||
void PWM_StructInit(PWM_InitTypeDef *PWM_InitStruct);
|
||||
void PWM_Cmd(FunctionalState Newstate);
|
||||
void PWM_CtrlPWMOutputs(FunctionalState Newstate);
|
||||
void PWM_ITConfig(u16 PWM_IT, FunctionalState Newstate);
|
||||
void PWM_DMAConfig(u16 PWM_DMASources, u16 PWM_OCRMState, u16 PWM_DMABase);
|
||||
void PWM_DMACmd(u16 PWM_DMASources, FunctionalState Newstate);
|
||||
void PWM_SetPrescaler(u16 Prescaler);
|
||||
void PWM_SetPeriod(u16 Period);
|
||||
void PWM_SetPulse(u16 PWM_Channel, u16 Pulse);
|
||||
void PWM_SetPulse1(u16 Pulse);
|
||||
void PWM_SetPulse2(u16 Pulse);
|
||||
void PWM_SetPulse3(u16 Pulse);
|
||||
void PWM_DebugCmd(FunctionalState Newstate);
|
||||
void PWM_CounterModeConfig(u16 PWM_CounterMode);
|
||||
void PWM_ForcedOCConfig(u16 PWM_Channel, u16 PWM_ForcedAction);
|
||||
void PWM_SetDeadTime(u16 DeadTime);
|
||||
void PWM_ResetCounter(void);
|
||||
void PWM_TRGOSelection(u16 PWM_TRGOMode);
|
||||
FlagStatus PWM_GetFlagStatus(u16 PWM_FLAG);
|
||||
void PWM_ClearFlag(u16 PWM_FLAG);
|
||||
ITStatus PWM_GetITStatus(u16 PWM_IT);
|
||||
void PWM_ClearITPendingBit(u16 PWM_IT);
|
||||
|
||||
#endif /* __75x_PWM_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
63
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_rtc.h
Normal file
63
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_rtc.h
Normal file
|
@ -0,0 +1,63 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_rtc.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* RTC software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_RTC_H
|
||||
#define __75x_RTC_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* RTC interrupts define */
|
||||
#define RTC_IT_Overflow 0x0004 /* Overflow interrupt */
|
||||
#define RTC_IT_Alarm 0x0002 /* Alarm interrupt */
|
||||
#define RTC_IT_Second 0x0001 /* Second interrupt */
|
||||
|
||||
/* RTC interrupts flags */
|
||||
#define RTC_FLAG_RTOFF 0x0020 /* RTC Operation OFF flag */
|
||||
#define RTC_FLAG_RSF 0x0008 /* Registers Synchronized flag */
|
||||
#define RTC_FLAG_Overflow 0x0004 /* Overflow interrupt flag */
|
||||
#define RTC_FLAG_Alarm 0x0002 /* Alarm interrupt flag */
|
||||
#define RTC_FLAG_Second 0x0001 /* Second interrupt flag */
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void RTC_DeInit(void);
|
||||
void RTC_ITConfig(u16 RTC_IT, FunctionalState NewState);
|
||||
void RTC_EnterConfigMode(void);
|
||||
void RTC_ExitConfigMode(void);
|
||||
u32 RTC_GetCounter(void);
|
||||
void RTC_SetCounter(u32 CounterValue);
|
||||
void RTC_SetPrescaler(u32 PrescalerValue);
|
||||
u32 RTC_GetPrescaler(void);
|
||||
void RTC_SetAlarm(u32 AlarmValue);
|
||||
u32 RTC_GetDivider(void);
|
||||
void RTC_WaitForLastTask(void);
|
||||
void RTC_WaitForSynchro(void);
|
||||
FlagStatus RTC_GetFlagStatus(u16 RTC_FLAG);
|
||||
void RTC_ClearFlag(u16 RTC_FLAG);
|
||||
ITStatus RTC_GetITStatus(u16 RTC_IT);
|
||||
void RTC_ClearITPendingBit(u16 RTC_IT);
|
||||
|
||||
#endif /* __75x_RTC_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
111
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_smi.h
Normal file
111
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_smi.h
Normal file
|
@ -0,0 +1,111 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_smi.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* SMI software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_SMI_H
|
||||
#define __75x_SMI_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
u8 SMI_ClockHold;
|
||||
u8 SMI_Prescaler;
|
||||
u8 SMI_DeselectTime;
|
||||
} SMI_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* SMI mode */
|
||||
#define SMI_Mode_HW 0xEFFFFFFF
|
||||
#define SMI_Mode_SW 0x10000000
|
||||
|
||||
/* Reception Length */
|
||||
#define SMI_RxLength_0Bytes 0x00000000
|
||||
#define SMI_RxLength_1Byte 0x00000010
|
||||
#define SMI_RxLength_2Bytes 0x00000020
|
||||
#define SMI_RxLength_3Bytes 0x00000030
|
||||
#define SMI_RxLength_4Bytes 0x00000040
|
||||
|
||||
/* Transmission Length */
|
||||
#define SMI_TxLength_0Bytes 0x00000000
|
||||
#define SMI_TxLength_1Byte 0x00000001
|
||||
#define SMI_TxLength_2Bytes 0x00000002
|
||||
#define SMI_TxLength_3Bytes 0x00000003
|
||||
#define SMI_TxLength_4Bytes 0x00000004
|
||||
|
||||
/* SMI memory Banks */
|
||||
#define SMI_Bank_0 0x00000001
|
||||
#define SMI_Bank_1 0x00000002
|
||||
#define SMI_Bank_2 0x00000004
|
||||
#define SMI_Bank_3 0x00000008
|
||||
|
||||
/* SMI Interrupts */
|
||||
#define SMI_IT_WC 0x00000200
|
||||
#define SMI_IT_TF 0x00000100
|
||||
|
||||
/* Fast Read Mode */
|
||||
#define SMI_FastRead_Disable 0xFFFF7FFF
|
||||
#define SMI_FastRead_Enable 0x00008000
|
||||
|
||||
/* Write Burst Mode */
|
||||
#define SMI_WriteBurst_Disable 0xDFFFFFFF
|
||||
#define SMI_WriteBurst_Enable 0x20000000
|
||||
|
||||
/* SMI Flags */
|
||||
#define SMI_FLAG_Bank3_WM 0x00008000
|
||||
#define SMI_FLAG_Bank2_WM 0x00004000
|
||||
#define SMI_FLAG_Bank1_WM 0x00002000
|
||||
#define SMI_FLAG_Bank0_WM 0x00001000
|
||||
#define SMI_FLAG_ERF2 0x00000800
|
||||
#define SMI_FLAG_ERF1 0x00000400
|
||||
#define SMI_FLAG_WC 0x00000200
|
||||
#define SMI_FLAG_TF 0x00000100
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
void SMI_DeInit(void);
|
||||
void SMI_Init(SMI_InitTypeDef* SMI_InitStruct);
|
||||
void SMI_StructInit(SMI_InitTypeDef* SMI_InitStruct);
|
||||
void SMI_ModeConfig(u32 SMI_Mode);
|
||||
void SMI_TxRxLengthConfig(u32 SMI_TxLength, u32 SMI_RxLength);
|
||||
void SMI_BankCmd(u32 SMI_Bank, FunctionalState NewState);
|
||||
void SMI_ITConfig(u32 SMI_IT, FunctionalState NewState);
|
||||
void SMI_SelectBank(u32 SMI_Bank);
|
||||
void SMI_SendWENCmd(void);
|
||||
void SMI_SendRSRCmd(void);
|
||||
void SMI_SendCmd(u32 Command);
|
||||
void SMI_FastReadConfig(u32 SMI_FastRead);
|
||||
void SMI_WriteBurstConfig(u32 SMI_WriteBurst);
|
||||
void SMI_WriteByte(u32 WriteAddr, u8 Data);
|
||||
void SMI_WriteHalfWord(u32 WriteAddr, u16 Data);
|
||||
void SMI_WriteWord(u32 WriteAddr, u32 Data);
|
||||
u8 SMI_ReadByte(u32 ReadAddr);
|
||||
u16 SMI_ReadHalfWord(u32 ReadAddr);
|
||||
u32 SMI_ReadWord(u32 ReadAddr);
|
||||
u8 SMI_ReadMemoryStatusRegister(void);
|
||||
FlagStatus SMI_GetFlagStatus(u32 SMI_FLAG);
|
||||
void SMI_ClearFlag(u32 SMI_FLAG);
|
||||
ITStatus SMI_GetITStatus(u32 SMI_IT);
|
||||
void SMI_ClearITPendingBit(u32 SMI_IT);
|
||||
|
||||
#endif /* __75x_SMI_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
135
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_ssp.h
Normal file
135
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_ssp.h
Normal file
|
@ -0,0 +1,135 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_SSP.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* SSP software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_SSP_H
|
||||
#define __75x_SSP_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* SSP Init structure definition */
|
||||
typedef struct
|
||||
{
|
||||
u16 SSP_FrameFormat;
|
||||
u16 SSP_Mode;
|
||||
u16 SSP_CPOL;
|
||||
u16 SSP_CPHA;
|
||||
u16 SSP_DataSize;
|
||||
u16 SSP_NSS;
|
||||
u16 SSP_SlaveOutput;
|
||||
u8 SSP_ClockRate;
|
||||
u8 SSP_ClockPrescaler;
|
||||
}SSP_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* SSP Frame Format Select */
|
||||
#define SSP_FrameFormat_TI 0x0010
|
||||
#define SSP_FrameFormat_Motorola 0xFFCF
|
||||
|
||||
/* SSP Master/Slave Select */
|
||||
#define SSP_Mode_Master 0xFFFB
|
||||
#define SSP_Mode_Slave 0x0004
|
||||
|
||||
/* SSP Clock Polarity */
|
||||
#define SSP_CPOL_Low 0xFFBF
|
||||
#define SSP_CPOL_High 0x0040
|
||||
|
||||
/* SSP Clock Phase */
|
||||
#define SSP_CPHA_1Edge 0xFF7F
|
||||
#define SSP_CPHA_2Edge 0x0080
|
||||
|
||||
/* SSP Data Size */
|
||||
#define SSP_DataSize_16b 0x000F
|
||||
#define SSP_DataSize_15b 0x000E
|
||||
#define SSP_DataSize_14b 0x000D
|
||||
#define SSP_DataSize_13b 0x000C
|
||||
#define SSP_DataSize_12b 0x000B
|
||||
#define SSP_DataSize_11b 0x000A
|
||||
#define SSP_DataSize_10b 0x0009
|
||||
#define SSP_DataSize_9b 0x0008
|
||||
#define SSP_DataSize_8b 0x0007
|
||||
#define SSP_DataSize_7b 0x0006
|
||||
#define SSP_DataSize_6b 0x0005
|
||||
#define SSP_DataSize_5b 0x0004
|
||||
#define SSP_DataSize_4b 0x0003
|
||||
|
||||
/* SSP Slave Select management config */
|
||||
#define SSP_NSS_Hard 0xFFEF
|
||||
#define SSP_NSS_Soft 0x0010
|
||||
|
||||
/* SSP NSS internal config */
|
||||
#define SSP_NSSInternal_Set 0x0020
|
||||
#define SSP_NSSInternal_Reset 0xFFDF
|
||||
|
||||
/* SSP Slave output config */
|
||||
#define SSP_SlaveOutput_Enable 0xFFF7
|
||||
#define SSP_SlaveOutput_Disable 0x0008
|
||||
|
||||
/* SSP Interrupts */
|
||||
#define SSP_IT_TxFifo 0x0008
|
||||
#define SSP_IT_RxFifo 0x0004
|
||||
#define SSP_IT_RxTimeOut 0x0002
|
||||
#define SSP_IT_RxOverrun 0x0001
|
||||
|
||||
/* SSP Flags */
|
||||
#define SSP_FLAG_Busy 0x0024
|
||||
#define SSP_FLAG_RxFifoFull 0x0023
|
||||
#define SSP_FLAG_RxFifoNotEmpty 0x0022
|
||||
#define SSP_FLAG_TxFifoNotFull 0x0021
|
||||
#define SSP_FLAG_TxFifoEmpty 0x0020
|
||||
#define SSP_FLAG_TxFifo 0x0043
|
||||
#define SSP_FLAG_RxFifo 0x0042
|
||||
#define SSP_FLAG_RxTimeOut 0x0041
|
||||
#define SSP_FLAG_RxOverrun 0x0040
|
||||
|
||||
/* SSP DMA Requests */
|
||||
#define SSP0_DMA_Transmit 0x0002
|
||||
#define SSP0_DMA_Receive 0x0001
|
||||
|
||||
#define SSP0_DMATxReq_Single 0xFFF7
|
||||
#define SSP0_DMATxReq_Burst 0x0008
|
||||
|
||||
#define SSP0_DMARxReq_Single 0xFFFB
|
||||
#define SSP0_DMARxReq_Burst 0x0004
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void SSP_DeInit(SSP_TypeDef* SSPx);
|
||||
void SSP_Init(SSP_TypeDef* SSPx, SSP_InitTypeDef* SSP_InitStruct);
|
||||
void SSP_StructInit(SSP_InitTypeDef* SSP_InitStruct);
|
||||
void SSP_Cmd(SSP_TypeDef* SSPx, FunctionalState NewState);
|
||||
void SSP_ITConfig(SSP_TypeDef* SSPx, u16 SSP_IT, FunctionalState NewState);
|
||||
void SSP_DMACmd(u16 SSP0_DMAtransfer, FunctionalState NewState);
|
||||
void SSP_DMATxConfig(u16 SSP0_DMATxReq);
|
||||
void SSP_DMARxConfig(u16 SSP0_DMARxReq);
|
||||
void SSP_SendData(SSP_TypeDef* SSPx, u16 Data);
|
||||
u16 SSP_ReceiveData(SSP_TypeDef* SSPx);
|
||||
void SSP_LoopBackConfig(SSP_TypeDef* SSPx, FunctionalState NewState);
|
||||
void SSP_NSSInternalConfig(SSP_TypeDef* SSPx, u16 SSP_NSSState);
|
||||
FlagStatus SSP_GetFlagStatus(SSP_TypeDef* SSPx, u16 SSP_FLAG);
|
||||
void SSP_ClearFlag(SSP_TypeDef* SSPx, u16 SSP_FLAG);
|
||||
ITStatus SSP_GetITStatus(SSP_TypeDef* SSPx, u16 SSP_IT);
|
||||
void SSP_ClearITPendingBit(SSP_TypeDef* SSPx, u16 SSP_IT);
|
||||
|
||||
#endif /* __75x_SSP_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
93
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_tb.h
Normal file
93
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_tb.h
Normal file
|
@ -0,0 +1,93 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_tb.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* TB software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_TB_H
|
||||
#define __75x_TB_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
u16 TB_Mode; /* TB mode */
|
||||
u16 TB_ClockSource; /* TB clock source: CK_TIM or CK_RTC */
|
||||
u16 TB_CounterMode; /* TB counter mode */
|
||||
u16 TB_ICAPolarity; /* TB Input Capture signal Polarity */
|
||||
u16 TB_Prescaler; /* TB Prescaler factor */
|
||||
u16 TB_AutoReload; /* TB AutoReload factor */
|
||||
} TB_InitTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* TB modes */
|
||||
#define TB_Mode_IC 0x0002
|
||||
#define TB_Mode_Timing 0x0001
|
||||
|
||||
/* TB clock source */
|
||||
#define TB_ClockSource_CKTIM 0x0001
|
||||
#define TB_ClockSource_CKRTC 0x0002
|
||||
|
||||
/* TB Input capture polarity */
|
||||
#define TB_ICAPolarity_Rising 0x7000
|
||||
#define TB_ICAPolarity_Falling 0x8000
|
||||
|
||||
/* TB counter modes */
|
||||
#define TB_CounterMode_Up 0x0000
|
||||
#define TB_CounterMode_Down 0x0010
|
||||
#define TB_CounterMode_CenterAligned 0x0060
|
||||
|
||||
/* TB interrupt sources */
|
||||
#define TB_IT_Update 0x0001
|
||||
#define TB_IT_IC 0x0004
|
||||
#define TB_IT_GlobalUpdate 0x8001
|
||||
|
||||
/* TB Flags */
|
||||
#define TB_FLAG_IC 0x0004
|
||||
#define TB_FLAG_Update 0x0001
|
||||
|
||||
/* TB Slave Mode Selection */
|
||||
#define TB_SMSMode_Trigger 0x0018
|
||||
#define TB_SMSMode_Gated 0x0010
|
||||
#define TB_SMSMode_External 0x0008
|
||||
#define TB_SMSMode_Reset 0x0000
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
void TB_DeInit(void);
|
||||
void TB_Init(TB_InitTypeDef* TB_InitStruct);
|
||||
void TB_StructInit(TB_InitTypeDef *TB_InitStruct);
|
||||
void TB_Cmd(FunctionalState Newstate );
|
||||
void TB_ITConfig(u16 TB_IT, FunctionalState Newstate);
|
||||
void TB_SetPrescaler(u16 Prescaler);
|
||||
void TB_ResetCounter(void);
|
||||
void TB_DebugCmd(FunctionalState Newstate);
|
||||
void TB_CounterModeConfig(u16 TB_CounterMode);
|
||||
void TB_SLaveModeConfig(u16 TB_SMSMode);
|
||||
u16 TB_GetCounter(void);
|
||||
u16 TB_GetICAP1(void);
|
||||
void TB_SetCounter(u16 Counter);
|
||||
FlagStatus TB_GetFlagStatus(u16 TB_FLAG);
|
||||
void TB_ClearFlag(u16 TB_FLAG);
|
||||
ITStatus TB_GetITStatus(u16 TB_IT);
|
||||
void TB_ClearITPendingBit(u16 TB_IT);
|
||||
|
||||
#endif /* __75x_TB_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
232
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_tim.h
Normal file
232
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_tim.h
Normal file
|
@ -0,0 +1,232 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_tim.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* TIM software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_TIM_H
|
||||
#define __75x_TIM_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
u16 TIM_Mode; /* Timer Mode */
|
||||
u16 TIM_Prescaler; /* Prescaler value */
|
||||
u16 TIM_ClockSource; /* Timer clock source */
|
||||
u16 TIM_ExtCLKEdge; /* External clock edge */
|
||||
u16 TIM_CounterMode; /* Counter mode: Up/Down, Edge aligned or center aligned */
|
||||
u16 TIM_Period; /* Period value */
|
||||
u16 TIM_Channel; /* Timer Channel: 1, 2 or All */
|
||||
u16 TIM_Pulse1; /* PWM or OCM Channel 1 pulse length */
|
||||
u16 TIM_Pulse2; /* PWM or OCM Channel 2 pulse length */
|
||||
u16 TIM_RepetitivePulse; /* OPM Repetitive pulse state: enable or disable */
|
||||
u16 TIM_Polarity1; /* PWM, OCM or OPM Channel 1 polarity */
|
||||
u16 TIM_Polarity2; /* PWM or OCM Channel 2 polarity */
|
||||
u16 TIM_IC1Selection; /* Input Capture 1 selection: TI1 or TI2 */
|
||||
u16 TIM_IC2Selection; /* Input Capture 2 selection: TI1 or TI2 */
|
||||
u16 TIM_IC1Polarity; /* Input Capture 1 polarity */
|
||||
u16 TIM_IC2Polarity; /* Input Capture 2 polarity */
|
||||
u16 TIM_PWMI_ICSelection; /* PWM Input Capture selection: TI1 or TI2 */
|
||||
u16 TIM_PWMI_ICPolarity; /* PWM Input Capture Polarity */
|
||||
} TIM_InitTypeDef;
|
||||
|
||||
/* Master and slave synchronized Timer peripherals */
|
||||
typedef enum
|
||||
{
|
||||
PWM_Master = 0x01,
|
||||
TIM0_Master,
|
||||
TIM1_Master,
|
||||
TIM2_Master
|
||||
}Master_TypeDef;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
PWM_Slave = 0x05,
|
||||
TIM0_Slave,
|
||||
TIM1_Slave,
|
||||
TIM2_Slave
|
||||
}Slave_TypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* TIM modes */
|
||||
#define TIM_Mode_OCTiming 0x0001
|
||||
#define TIM_Mode_OCActive 0x0002
|
||||
#define TIM_Mode_OCInactive 0x0003
|
||||
#define TIM_Mode_OCToggle 0x0004
|
||||
#define TIM_Mode_PWM 0x0005
|
||||
#define TIM_Mode_PWMI 0x0006
|
||||
#define TIM_Mode_IC 0x0007
|
||||
#define TIM_Mode_Encoder1 0x0008
|
||||
#define TIM_Mode_Encoder2 0x0009
|
||||
#define TIM_Mode_Encoder3 0x000A
|
||||
#define TIM_Mode_OPM_PWM 0x000B
|
||||
#define TIM_Mode_OPM_Toggle 0x000C
|
||||
#define TIM_Mode_OPM_Active 0x000D
|
||||
|
||||
/* TIM Clock Source */
|
||||
#define TIM_ClockSource_Internal 0x0001
|
||||
#define TIM_ClockSource_TI11 0x0002
|
||||
#define TIM_ClockSource_TI12 0x0003
|
||||
#define TIM_ClockSource_TI22 0x0004
|
||||
#define TIM_ClockSource_TI21 0x0005
|
||||
|
||||
/* TIM External Clock Edge */
|
||||
#define TIM_ExtCLKEdge_Falling 0x0001
|
||||
#define TIM_ExtCLKEdge_Rising 0x0002
|
||||
|
||||
/* TIM Counter Mode */
|
||||
#define TIM_CounterMode_Up 0x0000
|
||||
#define TIM_CounterMode_Down 0x0010
|
||||
#define TIM_CounterMode_CenterAligned1 0x0020
|
||||
#define TIM_CounterMode_CenterAligned2 0x0040
|
||||
#define TIM_CounterMode_CenterAligned3 0x0060
|
||||
|
||||
/* TIM Channel */
|
||||
#define TIM_Channel_1 0x0001
|
||||
#define TIM_Channel_2 0x0002
|
||||
#define TIM_Channel_ALL 0x0003
|
||||
|
||||
/* TIM Polarity channel 1 */
|
||||
#define TIM_Polarity1_High 0x0001
|
||||
#define TIM_Polarity1_Low 0x0002
|
||||
|
||||
/* TIM Polarity channel 2 */
|
||||
#define TIM_Polarity2_High 0x0001
|
||||
#define TIM_Polarity2_Low 0x0002
|
||||
|
||||
#define TIM_RepetitivePulse_Disable 0x0005
|
||||
#define TIM_RepetitivePulse_Enable 0x0006
|
||||
|
||||
/* TIM Input Capture channel 1 Selection */
|
||||
#define TIM_IC1Selection_TI1 0x0001
|
||||
#define TIM_IC1Selection_TI2 0x0002
|
||||
|
||||
/* TIM Input Capture channel 2 Selection */
|
||||
#define TIM_IC2Selection_TI1 0x0001
|
||||
#define TIM_IC2Selection_TI2 0x0002
|
||||
|
||||
/* TIM Input Capture channel 1 Polarity */
|
||||
#define TIM_IC1Polarity_Falling 0x0001
|
||||
#define TIM_IC1Polarity_Rising 0x0002
|
||||
|
||||
/* TIM Input Capture channel 2 Polarity */
|
||||
#define TIM_IC2Polarity_Falling 0x0001
|
||||
#define TIM_IC2Polarity_Rising 0x0002
|
||||
|
||||
/* TIM PWM Input IC Selection */
|
||||
#define TIM_PWMI_ICSelection_TI1 0x0001
|
||||
#define TIM_PWMI_ICSelection_TI2 0x0002
|
||||
|
||||
/* TIM PWM Input IC Polarity */
|
||||
#define TIM_PWMI_ICPolarity_Falling 0x0003
|
||||
#define TIM_PWMI_ICPolarity_Rising 0x0004
|
||||
|
||||
/* TIM interrupt sources */
|
||||
#define TIM_IT_IC1 0x0004
|
||||
#define TIM_IT_IC2 0x0008
|
||||
#define TIM_IT_OC1 0x0100
|
||||
#define TIM_IT_OC2 0x0200
|
||||
#define TIM_IT_Update 0x0001
|
||||
#define TIM_IT_GlobalUpdate 0x1001
|
||||
|
||||
/* TIM DMA sources */
|
||||
#define TIM_DMASource_IC1 0x0004
|
||||
#define TIM_DMASource_IC2 0x0008
|
||||
#define TIM_DMASource_OC1 0x0100
|
||||
#define TIM_DMASource_OC2 0x0200
|
||||
#define TIM_DMASource_Update 0x0001
|
||||
|
||||
/* TIM DMA Base address */
|
||||
#define TIM_DMABase_CR 0x0000
|
||||
#define TIM_DMABase_SCR 0x0800
|
||||
#define TIM_DMABase_IMCR 0x1000
|
||||
#define TIM_DMABase_OMR1 0x1800
|
||||
#define TIM_DMABase_RSR 0x3000
|
||||
#define TIM_DMABase_RER 0x3800
|
||||
#define TIM_DMABase_ISR 0x4000
|
||||
#define TIM_DMABase_CNT 0x4800
|
||||
#define TIM_DMABase_PSC 0x5000
|
||||
#define TIM_DMABase_ARR 0x6000
|
||||
#define TIM_DMABase_OCR1 0x6800
|
||||
#define TIM_DMABase_OCR2 0x7000
|
||||
#define TIM_DMABase_ICR1 0x9800
|
||||
#define TIM_DMABase_ICR2 0xA000
|
||||
|
||||
/* TIM Flags */
|
||||
#define TIM_FLAG_IC1 0x0004
|
||||
#define TIM_FLAG_IC2 0x0008
|
||||
#define TIM_FLAG_OC1 0x0100
|
||||
#define TIM_FLAG_OC2 0x0200
|
||||
#define TIM_FLAG_Update 0x0001
|
||||
|
||||
/* TIM_ForcedAction */
|
||||
#define TIM_ForcedAction_Active 0x000A
|
||||
#define TIM_ForcedAction_InActive 0x0008
|
||||
|
||||
/* TIM synchronization action */
|
||||
#define TIM_SynchroAction_Enable 0x0100
|
||||
#define TIM_SynchroAction_Update 0x0200
|
||||
#define TIM_SynchroAction_Reset 0x0000
|
||||
#define TIM_SynchroAction_OC 0x0300
|
||||
|
||||
/* TIM synchronization mode */
|
||||
#define TIM_SynchroMode_Gated 0x0010
|
||||
#define TIM_SynchroMode_Trigger 0x0018
|
||||
#define TIM_SynchroMode_External 0x0008
|
||||
#define TIM_SynchroMode_Reset 0x0000
|
||||
|
||||
/* OCRM bit states */
|
||||
#define TIM_OCRMState_Enable 0x0005
|
||||
#define TIM_OCRMState_Disable 0x0006
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
void TIM_DeInit(TIM_TypeDef *TIMx);
|
||||
void TIM_Init(TIM_TypeDef* TIMx, TIM_InitTypeDef* TIM_InitStruct);
|
||||
void TIM_StructInit(TIM_InitTypeDef *TIM_InitStruct);
|
||||
void TIM_Cmd(TIM_TypeDef *TIMx, FunctionalState Newstate);
|
||||
void TIM_ITConfig(TIM_TypeDef *TIMx, u16 TIM_IT, FunctionalState Newstate);
|
||||
void TIM_PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_Channel, FunctionalState Newstate);
|
||||
void TIM_DMAConfig(u16 TIM_DMASources, u16 TIM_OCRMState, u16 TIM_DMABase);
|
||||
void TIM_DMACmd(u16 TIM_DMASources, FunctionalState Newstate);
|
||||
void TIM_ClockSourceConfig(TIM_TypeDef *TIMx, u16 TIM_ClockSource,
|
||||
u16 TIM_ExtCLKEdge);
|
||||
void TIM_SetPrescaler(TIM_TypeDef* TIMx, u16 Prescaler);
|
||||
void TIM_SetPeriod(TIM_TypeDef* TIMx, u16 Period);
|
||||
void TIM_SetPulse(TIM_TypeDef* TIMx, u16 TIM_Channel, u16 Pulse);
|
||||
u16 TIM_GetICAP1(TIM_TypeDef *TIMx);
|
||||
u16 TIM_GetICAP2(TIM_TypeDef *TIMx);
|
||||
u16 TIM_GetPWMIPulse(TIM_TypeDef *TIMx);
|
||||
u16 TIM_GetPWMIPeriod(TIM_TypeDef *TIMx);
|
||||
void TIM_DebugCmd(TIM_TypeDef *TIMx, FunctionalState Newstate);
|
||||
void TIM_CounterModeConfig(TIM_TypeDef* TIMx, u16 TIM_CounterMode);
|
||||
void TIM_ForcedOCConfig(TIM_TypeDef* TIMx, u16 TIM_Channel,
|
||||
u16 TIM_ForcedAction);
|
||||
void TIM_ResetCounter(TIM_TypeDef* TIMx);
|
||||
void TIM_SynchroConfig(Master_TypeDef Master, Slave_TypeDef Slave,
|
||||
u16 TIM_SynchroAction, u16 TIM_SynchroMode);
|
||||
FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, u16 TIM_FLAG);
|
||||
void TIM_ClearFlag(TIM_TypeDef* TIMx, u16 TIM_FLAG);
|
||||
ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, u16 TIM_IT);
|
||||
void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, u16 TIM_IT);
|
||||
|
||||
#endif /* __75x_TIM_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
71
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_type.h
Normal file
71
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_type.h
Normal file
|
@ -0,0 +1,71 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_type.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the common data types used for the
|
||||
* STR75x software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_TYPE_H
|
||||
#define __75x_TYPE_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef signed long s32;
|
||||
typedef signed short s16;
|
||||
typedef signed char s8;
|
||||
|
||||
typedef volatile signed long vs32;
|
||||
typedef volatile signed short vs16;
|
||||
typedef volatile signed char vs8;
|
||||
|
||||
typedef unsigned long u32;
|
||||
typedef unsigned short u16;
|
||||
typedef unsigned char u8;
|
||||
|
||||
typedef volatile unsigned long vu32;
|
||||
typedef volatile unsigned short vu16;
|
||||
typedef volatile unsigned char vu8;
|
||||
|
||||
typedef volatile unsigned long const vuc32; /* Read Only */
|
||||
typedef volatile unsigned short const vuc16; /* Read Only */
|
||||
typedef volatile unsigned char const vuc8; /* Read Only */
|
||||
|
||||
|
||||
typedef enum { FALSE = 0, TRUE = !FALSE } bool;
|
||||
|
||||
typedef enum { RESET = 0, SET = !RESET } FlagStatus, ITStatus;
|
||||
|
||||
typedef enum { DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
|
||||
|
||||
typedef enum { ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
|
||||
|
||||
#define U8_MAX ((u8)255)
|
||||
#define S8_MAX ((s8)127)
|
||||
#define S8_MIN ((s8)-128)
|
||||
#define U16_MAX ((u16)65535u)
|
||||
#define S16_MAX ((s16)32767)
|
||||
#define S16_MIN ((s16)-32768)
|
||||
#define U32_MAX ((u32)4294967295uL)
|
||||
#define S32_MAX ((s32)2147483647)
|
||||
#define S32_MIN ((s32)-2147483648)
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
#endif /* __75x_TYPE_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
178
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_uart.h
Normal file
178
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_uart.h
Normal file
|
@ -0,0 +1,178 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_uart.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* UART software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_UART_H
|
||||
#define __75x_UART_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/* UART FIFO Level enumeration */
|
||||
typedef enum
|
||||
{
|
||||
UART_FIFOLevel_1_8 = 0x0000, /* FIFO size 16 bytes, FIFO level 2 bytes */
|
||||
UART_FIFOLevel_1_4 = 0x0001, /* FIFO size 16 bytes, FIFO level 4 bytes */
|
||||
UART_FIFOLevel_1_2 = 0x0002, /* FIFO size 16 bytes, FIFO level 8 bytes */
|
||||
UART_FIFOLevel_3_4 = 0x0003, /* FIFO size 16 bytes, FIFO level 12 bytes */
|
||||
UART_FIFOLevel_7_8 = 0x0004 /* FIFO size 16 bytes, FIFO level 14 bytes */
|
||||
}UART_FIFOLevel;
|
||||
|
||||
/* UART Init Structure definition */
|
||||
typedef struct
|
||||
{
|
||||
u16 UART_WordLength;
|
||||
u16 UART_StopBits;
|
||||
u16 UART_Parity;
|
||||
u32 UART_BaudRate;
|
||||
u16 UART_HardwareFlowControl;
|
||||
u16 UART_Mode;
|
||||
u16 UART_FIFO;
|
||||
UART_FIFOLevel UART_TxFIFOLevel;
|
||||
UART_FIFOLevel UART_RxFIFOLevel;
|
||||
}UART_InitTypeDef;
|
||||
|
||||
|
||||
/* UART RTS enumeration */
|
||||
typedef enum
|
||||
{
|
||||
RTSRESET = 1,
|
||||
RTSSET
|
||||
}UART_RTSTypeDef;
|
||||
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
/* UART Data Length */
|
||||
#define UART_WordLength_5D 0x0000 /* 5 bits Data */
|
||||
#define UART_WordLength_6D 0x0020 /* 6 bits Data */
|
||||
#define UART_WordLength_7D 0x0040 /* 7 bits Data */
|
||||
#define UART_WordLength_8D 0x0060 /* 8 bits Data */
|
||||
|
||||
/* UART Stop Bits */
|
||||
#define UART_StopBits_1 0xFFF7 /* One stop bit is transmitted at
|
||||
the end of frame */
|
||||
#define UART_StopBits_2 0x0008 /* Tow stop bits are transmitted
|
||||
at the end of frame */
|
||||
|
||||
/* UART Parity */
|
||||
#define UART_Parity_No 0x0000 /* Parity Disable */
|
||||
#define UART_Parity_Even 0x0006 /* Even Parity */
|
||||
#define UART_Parity_Odd 0x0002 /* Odd Parity */
|
||||
#define UART_Parity_OddStick 0x0082 /* 1 is transmitted as bit parity */
|
||||
#define UART_Parity_EvenStick 0x0086 /* 0 is transmitted as bit parity */
|
||||
|
||||
/* UART Hardware Flow Control */
|
||||
#define UART_HardwareFlowControl_None 0x0000/* HFC Disable */
|
||||
#define UART_HardwareFlowControl_RTS 0x4000/* RTS Enable */
|
||||
#define UART_HardwareFlowControl_CTS 0x8000/* CTS Enable */
|
||||
#define UART_HardwareFlowControl_RTS_CTS 0xC000/* CTS and RTS Enable */
|
||||
|
||||
/* UART Mode */
|
||||
#define UART_Mode_Rx 0x0200 /* UART Rx Enabled */
|
||||
#define UART_Mode_Tx 0x0100 /* UART Tx Enbled */
|
||||
#define UART_Mode_Tx_Rx 0x0300 /* UART Tx and Rx Enabled */
|
||||
|
||||
/* UART FIFO */
|
||||
#define UART_FIFO_Disable 0xFFEF /* FIFOs Disable */
|
||||
#define UART_FIFO_Enable 0x0010 /* FIFOs Enable */
|
||||
|
||||
/* UART Interrupt definition */
|
||||
#define UART_IT_OverrunError 0x0400 /* Overrun Error interrupt */
|
||||
#define UART_IT_BreakError 0x0200 /* Break Error interrupt */
|
||||
#define UART_IT_ParityError 0x0100 /* Parity Error interrupt */
|
||||
#define UART_IT_FrameError 0x0080 /* Frame Error interrupt */
|
||||
#define UART_IT_ReceiveTimeOut 0x0040 /* Receive Time Out interrupt */
|
||||
#define UART_IT_Transmit 0x0020 /* Transmit interrupt */
|
||||
#define UART_IT_Receive 0x0010 /* Receive interrupt */
|
||||
#define UART_IT_CTS 0x0002 /* CTS interrupt */
|
||||
|
||||
/* UART0 DMA transfer */
|
||||
#define UART0_DMATransfer_Single 0xFFF7 /* Single DMA transfer */
|
||||
#define UART0_DMATransfer_Burst 0x0008 /* Burst DMA transfer */
|
||||
|
||||
/* UART0 DMA On Error */
|
||||
#define UART0_DMAOnError_Enable 0xFFFB /* DMA receive request enabled
|
||||
when the UART0 error interrupt
|
||||
is asserted. */
|
||||
#define UART0_DMAOnError_Disable 0x0004 /* DMA receive request disabled
|
||||
when the UART0 error interrupt
|
||||
is asserted. */
|
||||
|
||||
/* UART0 DMA Request */
|
||||
#define UART0_DMAReq_Tx 0x0002 /* Transmit DMA Enable */
|
||||
#define UART0_DMAReq_Rx 0x0001 /* Receive DMA Enable */
|
||||
|
||||
/* UART FLAG */
|
||||
#define UART_FLAG_OverrunError 0x23 /* Overrun error flag */
|
||||
#define UART_FLAG_Break 0x22 /* break error flag */
|
||||
#define UART_FLAG_ParityError 0x21 /* parity error flag */
|
||||
#define UART_FLAG_FrameError 0x20 /* frame error flag */
|
||||
#define UART_FLAG_TxFIFOEmpty 0x47 /* Transmit FIFO Empty flag */
|
||||
#define UART_FLAG_RxFIFOFull 0x46 /* Receive FIFO Full flag */
|
||||
#define UART_FLAG_TxFIFOFull 0x45 /* Transmit FIFO Full flag */
|
||||
#define UART_FLAG_RxFIFOEmpty 0x44 /* Receive FIFO Empty flag */
|
||||
#define UART_FLAG_Busy 0x43 /* UART Busy flag */
|
||||
#define UART_FLAG_CTS 0x40 /* CTS flag */
|
||||
#define UART_RawIT_OverrunError 0x6A /* Overrun Error Masked IT flag */
|
||||
#define UART_RawIT_BreakError 0x69 /* Break Error Masked IT flag */
|
||||
#define UART_RawIT_ParityError 0x68 /* Parity Error Masked IT flag */
|
||||
#define UART_RawIT_FrameError 0x67 /* Frame Error Masked IT flag */
|
||||
#define UART_RawIT_ReceiveTimeOut 0x66 /* ReceiveTimeOut Masked IT flag */
|
||||
#define UART_RawIT_Transmit 0x65 /* Transmit Masked IT flag */
|
||||
#define UART_RawIT_Receive 0x64 /* Receive Masked IT flag */
|
||||
#define UART_RawIT_CTS 0x61 /* CTS Masked IT flag */
|
||||
|
||||
/* UART LIN break length */
|
||||
#define UART_LINBreakLength_10 0x0000 /* 10 low bits */
|
||||
#define UART_LINBreakLength_11 0x0200 /* 11 low bits */
|
||||
#define UART_LINBreakLength_12 0x0400 /* 12 low bits */
|
||||
#define UART_LINBreakLength_13 0x0600 /* 13 low bits */
|
||||
#define UART_LINBreakLength_14 0x0800 /* 14 low bits */
|
||||
#define UART_LINBreakLength_15 0x0A00 /* 15 low bits */
|
||||
#define UART_LINBreakLength_16 0x0C00 /* 16 low bits */
|
||||
#define UART_LINBreakLength_17 0x0E00 /* 17 low bits */
|
||||
#define UART_LINBreakLength_18 0x1000 /* 18 low bits */
|
||||
#define UART_LINBreakLength_19 0x1200 /* 19 low bits */
|
||||
#define UART_LINBreakLength_20 0x1400 /* 20 low bits */
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void UART_DeInit(UART_TypeDef* UARTx);
|
||||
void UART_Init(UART_TypeDef* UARTx, UART_InitTypeDef* UART_InitStruct);
|
||||
void UART_StructInit(UART_InitTypeDef* UART_InitStruct);
|
||||
void UART_Cmd(UART_TypeDef* UARTx, FunctionalState NewState);
|
||||
void UART_ITConfig(UART_TypeDef* UARTx, u16 UART_IT, FunctionalState NewState);
|
||||
void UART_DMAConfig(u16 UART0_DMATransfer, u16 UART0_DMAOnError);
|
||||
void UART_DMACmd(u16 UART0_DMAReq, FunctionalState NewState);
|
||||
void UART_LoopBackConfig(UART_TypeDef* UARTx, FunctionalState NewState);
|
||||
void UART_LINConfig(UART_TypeDef* UARTx, u16 UART_LINBreakLength);
|
||||
void UART_LINCmd(UART_TypeDef* UARTx, FunctionalState NewState);
|
||||
void UART_SendData(UART_TypeDef* UARTx, u8 Data);
|
||||
u8 UART_ReceiveData(UART_TypeDef* UARTx);
|
||||
void UART_SendBreak(UART_TypeDef* UARTx);
|
||||
void UART_RTSConfig(UART_TypeDef* UARTx,UART_RTSTypeDef RTSState);
|
||||
FlagStatus UART_GetFlagStatus(UART_TypeDef* UARTx, u16 UART_FLAG);
|
||||
void UART_ClearFlag(UART_TypeDef* UARTx, u16 UART_FLAG);
|
||||
ITStatus UART_GetITStatus(UART_TypeDef* UARTx, u16 UART_IT);
|
||||
void UART_ClearITPendingBit(UART_TypeDef* UARTx, u16 UART_IT);
|
||||
|
||||
#endif /* __75x_UART_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
62
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_wdg.h
Normal file
62
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/75x_wdg.h
Normal file
|
@ -0,0 +1,62 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : 75x_wdg.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* WDG software library.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __75x_WDG_H
|
||||
#define __75x_WDG_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "75x_map.h"
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
u16 WDG_Mode; /* Watchdog or Timer mode */
|
||||
u16 WDG_Preload; /* Preload register */
|
||||
u8 WDG_Prescaler; /* Prescaler register */
|
||||
}WDG_InitTypeDef;
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
||||
/* WDG/Timer Select */
|
||||
#define WDG_Mode_WDG 0x0001
|
||||
#define WDG_Mode_Timer 0xFFFE
|
||||
|
||||
/* WDG End of Count interrupt request */
|
||||
#define WDG_IT_EC 0x0001
|
||||
|
||||
/* WDG end of count Flag */
|
||||
#define WDG_FLAG_EC 0x0001
|
||||
|
||||
/* Exported macro ------------------------------------------------------------*/
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
|
||||
void WDG_DeInit(void);
|
||||
void WDG_Init(WDG_InitTypeDef* WDG_InitStruct);
|
||||
void WDG_StructInit(WDG_InitTypeDef* WDG_InitStruct);
|
||||
void WDG_Cmd(FunctionalState NewState);
|
||||
void WDG_ITConfig(FunctionalState NewState);
|
||||
u16 WDG_GetCounter(void);
|
||||
FlagStatus WDG_GetFlagStatus(void);
|
||||
void WDG_ClearFlag(void);
|
||||
ITStatus WDG_GetITStatus(void);
|
||||
void WDG_ClearITPendingBit(void);
|
||||
|
||||
#endif /* __WDG_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
|
120
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/lcd.h
Normal file
120
20091005/Demo/ARM7_STR75x_IAR/STLibrary/inc/lcd.h
Normal file
|
@ -0,0 +1,120 @@
|
|||
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
|
||||
* File Name : lcd.h
|
||||
* Author : MCD Application Team
|
||||
* Date First Issued : 03/10/2006
|
||||
* Description : This file contains all the functions prototypes for the
|
||||
* lcd software driver.
|
||||
********************************************************************************
|
||||
* History:
|
||||
* 07/17/2006 : V1.0
|
||||
* 03/10/2006 : V0.1
|
||||
********************************************************************************
|
||||
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||||
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
|
||||
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
|
||||
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
|
||||
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||||
*******************************************************************************/
|
||||
|
||||
/* Define to prevent recursive inclusion ---------------------------------------*/
|
||||
#ifndef __LCD_H
|
||||
#define __LCD_H
|
||||
|
||||
/* Includes --------------------------------------------------------------------*/
|
||||
#include "75x_lib.h"
|
||||
|
||||
/* Exported types --------------------------------------------------------------*/
|
||||
|
||||
/* Data lines configuration mode */
|
||||
typedef enum
|
||||
{
|
||||
Input,
|
||||
Output
|
||||
} DataConfigMode_TypeDef;
|
||||
|
||||
/* Text color mode */
|
||||
typedef enum
|
||||
{
|
||||
BlackText=0,
|
||||
WhiteText=1
|
||||
} TextColorMode_TypeDef;
|
||||
|
||||
/* Dot On/Off mode */
|
||||
typedef enum
|
||||
{
|
||||
Dot_On,
|
||||
Dot_Off
|
||||
} DotMode_TypeDef;
|
||||
|
||||
/* Exported constants ----------------------------------------------------------*/
|
||||
|
||||
/* LCD Control pins */
|
||||
#define CtrlPin_E2 0x00000001
|
||||
#define CtrlPin_E1 0x00000002
|
||||
#define CtrlPin_RW 0x00000004
|
||||
#define CtrlPin_DI 0x00000008
|
||||
|
||||
/* LCD Commands */
|
||||
#define DISPLAY_ON 0xAF
|
||||
#define DISPLAY_OFF 0xAE
|
||||
#define START_LINE 0xC0
|
||||
#define START_COLUMN 0x00
|
||||
#define CLOCKWISE_OUTPUT 0xA0
|
||||
#define DYNAMIC_DRIVE 0xA4
|
||||
#define DUTY_CYCLE 0xA9
|
||||
#define READ_MODIFY_WRITE_OFF 0xEE
|
||||
#define SOFTWARE_RESET 0xE2
|
||||
|
||||
/* LCD Lines when LCD is managed as 2*17 characters */
|
||||
#define Line1 0x0
|
||||
#define Line2 0x2
|
||||
|
||||
/* Exported macro --------------------------------------------------------------*/
|
||||
/* Exported functions ----------------------------------------------------------*/
|
||||
/*----- Low layer function -----*/
|
||||
void LCD_CtrlLinesConfig(void);
|
||||
void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, u32 CtrlPins, BitAction BitVal);
|
||||
void LCD_DataLinesConfig(DataConfigMode_TypeDef Mode);
|
||||
void LCD_DataLinesWrite(GPIO_TypeDef* GPIOx, u32 PortVal);
|
||||
|
||||
/*----- Medium layer function -----*/
|
||||
void LCD_CheckMasterStatus(void);
|
||||
void LCD_CheckSlaveStatus(void);
|
||||
void LCD_SendMasterCmd(u8 Cmd);
|
||||
void LCD_SendSlaveCmd(u8 Cmd);
|
||||
void LCD_SendMasterData(u8 Data);
|
||||
u32 LCD_ReadMasterData(void);
|
||||
void LCD_SendSlaveData(u8 Data);
|
||||
u32 LCD_ReadSlaveData(void);
|
||||
void LCD_SetMasterPage(u8 Page);
|
||||
void LCD_SetSlavePage(u8 Page);
|
||||
void LCD_SetMasterColumn(u8 Address);
|
||||
void LCD_SetSlaveColumn(u8 Address);
|
||||
void LCD_DrawChar(u8 Line, u8 Column, u8 Width, u8 *Bmp);
|
||||
u8 LCD_HexToAsciiLow(u8 byte);
|
||||
u8 LCD_HexToAsciiHigh(u8 byte);
|
||||
void LCD_SetTextColor(TextColorMode_TypeDef TextColor);
|
||||
|
||||
/*----- High layer function -----*/
|
||||
void LCD_Init(void);
|
||||
/* LCD managed as 2 Lines, 17 characters each one (2Lines*17Char) */
|
||||
void LCD_ClearLine(u8 Line);
|
||||
void LCD_DisplayChar(u8 Line, u8 Column, u8 Ascii, TextColorMode_TypeDef CharMode);
|
||||
void LCD_DisplayString(u8 Line, u8 *ptr, TextColorMode_TypeDef CharMode);
|
||||
void LCD_Printf(u8* ptr, ...);
|
||||
/* LCD managed as 122*32 dots */
|
||||
void LCD_ClearMaster(void);
|
||||
void LCD_ClearSlave(void);
|
||||
void LCD_Clear(void);
|
||||
void LCD_DrawMasterGraphic(u8 *Bmp);
|
||||
void LCD_DrawSlaveGraphic(u8 *Bmp);
|
||||
void LCD_DrawGraphic(u8 *Bmp);
|
||||
void LCD_ScrollGraphic(u8 *Bmp, u32 nCount);
|
||||
void LCD_DrawPixel(u8 XPos, u8 YPos, DotMode_TypeDef Mode);
|
||||
void LCD_DrawLine(u8 XPos1, u8 YPos1, u8 XPos2, u8 YPos2);
|
||||
void LCD_DrawBox(u8 XPos, u8 YPos, u8 Dx, u8 Dy);
|
||||
|
||||
#endif /*__LCD_H */
|
||||
|
||||
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE******/
|
Loading…
Add table
Add a link
Reference in a new issue