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

📄 bodycontrol.h

📁 使用例子:在DP256的CODEWARRIER环境下的数据初始化和使用
💻 H
字号:

#ifndef __BCM_H__
#define __BCM_H__

#ifdef BCM_GLOBALS
    #define BCM_EXT
#else
    #define BCM_EXT extern
#endif//#ifdef FLASHER_GLOBALS

//Flash sound control
#define Flash_Sound_Ctrl	PORTA_BIT1
#define Flash_Sound_Mask	DDRA_BIT1

#define CabCD_BtnLmpCtl			PORTA_BIT0
#define CabCD_BtnLmpCtl_Mask	DDRA_BIT0

//Turnleft indicator
#define TrnLftCD_Indicator		PORTA_BIT1
#define TrnLftCD_Indicator_Mask	DDRA_BIT1

#define TrnRhtCD_Indicator		PTP_PTP2
#define TrnRhtCD_Indicator_Mask	DDRP_DDRP2

//alarm buzzer control
#define AlrmCD_Buzzer		PORTA_BIT2
#define AlrmCD_Buzzer_MASK	DDRA_BIT2
#define	ALARM_FLAG		TFLG1_C7F
#define TMR_CLK_FRQ		625000L

#define	ALARM_FRQ_0		(TMR_CLK_FRQ/20000)
#define	ALARM_FRQ_1		(TMR_CLK_FRQ/16000)
#define	ALARM_FRQ_2		(TMR_CLK_FRQ/14000)
#define	ALARM_FRQ_3		(TMR_CLK_FRQ/12000)

//#define	ALARM_FRQ_DO		(TMR_CLK_FRQ/2640)
//#define	ALARM_FRQ_RI		(TMR_CLK_FRQ/2970)
//#define	ALARM_FRQ_MI		(TMR_CLK_FRQ/3300)
//#define	ALARM_FRQ_FA		(TMR_CLK_FRQ/3520)
//#define	ALARM_FRQ_SO		(TMR_CLK_FRQ/3960)
//#define	ALARM_FRQ_LA		(TMR_CLK_FRQ/4400)
//#define	ALARM_FRQ_XI		(TMR_CLK_FRQ/4950)

#define	ALARM_FRQ_DO		(TMR_CLK_FRQ/5280)
#define	ALARM_FRQ_RI		(TMR_CLK_FRQ/5940)
#define	ALARM_FRQ_MI		(TMR_CLK_FRQ/6600)
#define	ALARM_FRQ_FA		(TMR_CLK_FRQ/7040)
#define	ALARM_FRQ_SO		(TMR_CLK_FRQ/7920)
#define	ALARM_FRQ_LA		(TMR_CLK_FRQ/8800)
#define	ALARM_FRQ_XI		(TMR_CLK_FRQ/9900)

#define	ALARM_TIME_F	1000
#define	ALARM_TIME_0	900
#define	ALARM_TIME_1	800
#define	ALARM_TIME_2	700
#define	ALARM_TIME_3	600
#define	ALARM_TIME_4	500
#define	ALARM_TIME_5	400
#define	ALARM_TIME_6	300
#define	ALARM_TIME_7	200
#define	ALARM_TIME_8	100

#define	ALARM_FRQ_IND_1K	0u
#define	ALARM_FRQ_IND_800	1u
#define	ALARM_FRQ_IND_700	2u
#define	ALARM_FRQ_IND_600	3u

#define	ALARM_FRQ_IND_DO	0u
#define	ALARM_FRQ_IND_RI	1u
#define	ALARM_FRQ_IND_MI	2u
#define	ALARM_FRQ_IND_FA	3u
#define	ALARM_FRQ_IND_SO	4u
#define	ALARM_FRQ_IND_LA	5u
#define	ALARM_FRQ_IND_XI	6u

#define ALARM_FRQ_IND_MAX	7u
#define ALARM_TIMEQ_IND_MAX	9u

#define	ALARM_CTL_ON		1u
#define	ALARM_SND_ON		2u
#define	ALARM_CTL_UPDATED	4u
#define	ALARM_CTL_WAIT		8u
#define	ALARM_CTL_OFF		0u
#define	ALARM_CTL_REVERSE	0x10u

BCM_EXT	L_U8	Cab_stAlarm;
BCM_EXT	L_U8	Cab_nAlarmFrqIdx;
BCM_EXT	L_U8	Cab_nAlarmTimeIdx;
BCM_EXT	L_U8	CabCD_stAlarm;
BCM_EXT	const unsigned int	Cab_nFrqAlarm_C[];
BCM_EXT	const unsigned int	Cab_tiTimeAlarm_C[];

BCM_EXT	L_U16	Cab_tiAlarm;
//BCM_EXT	L_U16	CabCD_tiAlarmSilent;

void Virtual_Alarm(void);
void Alarm_SetFrq(L_U8 uIdx);	

void Init_TrnIndicating(void);

void TrnLft_Indicator(unsigned char uCtl);
void TrnRht_Indicator(unsigned char uCtl);

void Init_Flash_Sound_Ctrl(void);
void Flash_SndCtl(L_U8 uCtl);
void Init_BtnLmp_Ctrl(void);
void BtnLmp_Ctl(L_U8 uCtl);

void Init_AlarmSnd(void);
void AlarmSnd_Enable(L_U8 bEn);
void AlarmSnd_SetFreq(void);

void AlarmSnd_Stop(void);
void AlarmSnd_Generator(void);
void Alarm_GetState(void);

#endif

⌨️ 快捷键说明

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