📄 mcu.h
字号:
/******************************************************************************
Copyright (c) 2005 MStar Semiconductor, Inc.
All rights reserved.
[Module Name]: Mcu.h
[Date]: 13-Jan-2005
[Comment]:
Header file for Mcu.c module.
[Reversion History]:
*******************************************************************************/
#ifndef _MCU_H_
#define _MCU_H_
#ifdef _MCU_C_
#define _MCUDEC_
#else
#define _MCUDEC_ extern
#endif
#define MCU_XTAL_CLK_KHZ (MCU_XTAL_CLK_HZ / 1000)
#define MCU_XTAL_CLK_MHZ (MCU_XTAL_CLK_KHZ / 1000)
#define MCU_MACHINE_CYCLE 12 // unit: oscillatory cycle
#define _SMOD 0
// [Timer1 Baud Rate] = (1 / 32) * {Fosc / [12 * (256 - [TH1])]}
// [TH1] = 256 - (Fosc / ([Timer1 Baud Rate] * 32 * 12)
// (TIMER1_MODE2_DIVIDER / 2) -> decimal fraction
#define TIMER1_MODE2_DIVIDER ((DWORD)UART_BAUD_RATE * MCU_MACHINE_CYCLE * 32)
#define TIMER1_MODE2_TH1 256-((DWORD)MCU_XTAL_CLK_HZ*_SMOD+MCU_XTAL_CLK_HZ+(TIMER1_MODE2_DIVIDER/2))/TIMER1_MODE2_DIVIDER
/**********************
* FUNCTION PROTOTYPES *
***********************/
_MCUDEC_ void sysMcuInit(void);
///////////////////////////////////////
// MCU delay definition
///////////////////////////////////////
#define MCU_MICROSECOND_NOP_NUM ((MCU_XTAL_CLK_MHZ + (MCU_MACHINE_CYCLE / 2)) / MCU_MACHINE_CYCLE)
#if (MCU_MICROSECOND_NOP_NUM <= 1)
#undef MCU_MICROSECOND_NOP_NUM
#define MCU_MICROSECOND_NOP_NUM 1
#define MCU_DELAY_1US() \
{ \
_nop_(); \
}
#elif (MCU_MICROSECOND_NOP_NUM <= 2)
#define MCU_DELAY_1US() \
{ \
_nop_(); \
_nop_(); \
}
#elif (MCU_MICROSECOND_NOP_NUM <= 3)
#define MCU_DELAY_1US() \
{ \
_nop_(); \
_nop_(); \
_nop_(); \
}
#elif (MCU_MICROSECOND_NOP_NUM <= 4)
#define MCU_DELAY_1US() \
{ \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
}
#elif (MCU_MICROSECOND_NOP_NUM <= 5)
#define MCU_DELAY_1US() \
{ \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
}
#elif (MCU_MICROSECOND_NOP_NUM <= 6)
#define MCU_DELAY_1US() \
{ \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
}
#elif (MCU_MICROSECOND_NOP_NUM <= 7)
#define MCU_DELAY_1US() \
{ \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
}
#else
#define MCU_DELAY_1US() \
{ \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
_nop_(); \
}
#endif
#endif //_MCU_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -