📄 bootldr.h
字号:
#ifndef _BOOTLDR_H_
#define _BOOTLDR_H_
#define BOOT_TIMEOUT 9 //超时时间5秒,必须小于9秒
#define FILL_BYTE 0xFF //程序空间擦除时使用的填充数据,默认值是0xFF
#define PROG_START 0x400 //如果在程序空间宽裕模式
/***************************************************************************
* 利用芯片特殊的头文件定义 ROMSIZE
***************************************************************************/
#if !defined(MPLAB_ICD) //如果MPLAB_ICD没有定义
#define MEM_TOP (unsigned int)(ROMSIZE&0xFFFF)
#if ROMSIZE >= 65536
#define UPPER_ADDRESS_BYTE (unsigned char)((ROMSIZE>>16)&0xFF) //高位地址
#endif
#else //如果MPLAB_ICD有定义(可以自己增加合适的)
#if defined(_18F4580)
#define MEM_TOP 0x7DC0
#endif
#endif
//*********************************************************************
#define BAUD 9600 // 波特率, 设9600
#define FOSC 20000000L // 晶振频率,设20M
#define NINE 0 // 0=8位数据,1=9位数据
#define OUTPUT 0
#define INPUT 1
#define DIVIDER ((int)(FOSC/(16UL * BAUD) -1))
#define HIGH_SPEED 1 // 设置成高速方式
#if NINE == 1 // 如果是9位数据
#define NINE_BITS 0x40 // NINE_BITS=0100,0000
#else // 如果是8位数据
#define NINE_BITS 0 // NINE_BITS=0000,0000
#endif
#if HIGH_SPEED == 1 // 如果是高速方式
#define SPEED 0x4 // SPEED=0000,0100
#else // 如果是低速方式
#define SPEED 0 // SPEED=0000,0000
#endif
/*******************************************************
* 串口初始化
*******************************************************/
#define init_comms() \
{ \
BAUDCON=0x08; \
SPBRGH=0x04; \
SPBRG=0x11; \
TXSTA = 0b00100110; \
RCSTA = 0b10010000; \
TRISC=0x80; \
}
//******************************************************
#ifndef NOP()
#define NOP() asm("nop")
#endif
#ifndef RESET()
#define RESET() asm("reset")
#endif
//******************************************************
/*******************************************************
* 检测标志位
*******************************************************/
#define FLASH EEPGD==1
#define EEPROM EEPGD==0
#define CONFIG CFGS==1
/*******************************************************
* HEX记录类型
*******************************************************/
#define DATA 0
#define END 1
#define EXTEND_ADDRESS 4
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -