📄 elinmint.def
字号:
// main clock frequency
#ifndef CLOCK_FREQ
#define CLOCK_FREQ 25000000L
#endif
#define _DIVIDE_FACTOR 0x0AL
// USART baud-rate, from 1,000 up to 20,000
#define ELINMINT_BAUD 10000L
// baud rate
#define _BF 0x04L
#define SPBRG0 ((_DIVIDE_FACTOR*CLOCK_FREQ)/ELINMINT_BAUD)
#define _SPBRG1 (SPBRG0/_BF)
#define _SPBRG2 (_SPBRG1+5)
#define _SPBRG3 (_SPBRG2/_DIVIDE_FACTOR)
#define _SPBRG4 (_SPBRG3-2)
#define ELINMINT_SPBRG16 _SPBRG4
#define ELINMINT_SPBRG (ELINMINT_SPBRG16&0x00FF)
#define ELINMINT_SPBRGH (ELINMINT_SPBRG16>>8)
// DO NOT exceed 255 - counter is byte size
#define ELINMINT_MAX_MESSAGE_SIZE 16
// interrupt period in usec
#define ELINMINT_INTERRUPT_PERIOD 20L
#define ELINMINT_RATIO (((ELINMINT_BAUD*ELINMINT_INTERRUPT_PERIOD)+5000L)/10000L)
#if (100/ELINMINT_RATIO)>1
#define ELINMINT_INTERBYTE_MIN ((((1000L/ELINMINT_RATIO)+5L)/10L)-1)
#else
#define ELINMINT_INTERBYTE_MIN 0
#endif
#define ELINMINT_INTERBYTE_MAX1 (((53300L/ELINMINT_RATIO)+5L)/100L)
#if ELINMINT_INTERBYTE_MAX1>1
#define ELINMINT_INTERBYTE_MAX ELINMINT_INTERBYTE_MAX1-1
#else
#define ELINMINT_INTERBYTE_MAX ELINMINT_INTERBYTE_MAX1
#endif
// the interbyte space - number of interruption delays
#define ELINMINT_INTERBYTE_SPACE (ELINMINT_INTERBYTE_MIN+ELINMINT_INTERBYTE_MAX)/2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -