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

📄 def.h

📁 通过io模拟spi对avr进行编程、 通过io模拟spi对avr进行编程 通过io模拟spi对avr进行编程
💻 H
字号:
//宏定义(头文件)

//~~~~~~~~~~~~~~~~~~~~~~~~~~操作宏定义~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

#define BIT(k) (0x01<<k)
#define uchar unsigned char
#define uint unsigned int
#define STA_SDI_HIG PORTA |= 0x10;
#define STA_SDI_LOW PORTA &= ~0x10;
#define STA_SCL_HIG PORTA |= 0x40;
#define STA_SCL_LOW PORTA &= ~0x40;
#define STA_RESET_HIG PORTA |= 0x80;
#define STA_RESET_LOW PORTA &= ~0x80;

//~~~~~~~~~~~~~~~~~~~~~~~~~flash操作伪代码~~~~~~~~~~~~~~~~~~~~~~~~~~~//

// buffer 1 write 
#define BUFFER_1_WRITE 0x84

// buffer 2 write 
#define BUFFER_2_WRITE 0x87

// buffer 1 read  模式0
#define BUFFER_1_READ 0xD1

// buffer 2 read  模式0
#define BUFFER_2_READ 0xD3


// buffer 1 to main memory page program without built-in erase
#define B1TOMM_WITHOUT_ERASE 0x88

// buffer 2 to main memory page program without built-in erase
#define B2TOMM_WITHOUT_ERASE 0x89

// main memory page to buffer 1 transfer
#define MM_PAGE_TO_B1_XFER 0x53

// main memory page to buffer 2 transfer
#define MM_PAGE_TO_B2_XFER 0x55



//声明全局变量

int  upordown=0; //工作状态。1:下载flash;2:下载eeprom;3:下载熔丝位;4:读取DataFlash;5:编程
int  state=0;    //状态参数
int  page=0;     //下一页码
int  number=0;   //下一字节数
int  chip_1_page=0;
int  chip_1_number=0;
int  i=0;        //循环参数
int  j=0;        //循环参数
int  x=0;        //循环参数
int  y=0;        //循环参数
int  ts=0;       //判断hex文件开始,结束等信息的参数位
int  rxtxend=0;    //发送,接收状态参数
int  DataFlashstate=0;    //DataFlash内容状态
int  rxpage=0;
uint m=0;        //延时计数参数
char temp1;
char temp2;
char temp3;
char temp4;
char prof=0;     //Flash编程完毕
char proe=0;     //EEPROM编程完毕
char pror=0;     //熔丝位编程完毕
char adh=0;      //编程地址高字节
char adl=0;      //编程地址低字节
char fadl=0;     //编程地址低字节后七位
char tadl=0;     //编程地址低暂存
char tadh=0;     //编程地址高暂存
char tadl1=0;     //编程地址低暂存
char eadl=0;
char eadh=0;
char tempadh=0;
char tempadl=0;
uint trueadr=0;
//uint tempadr=0;
char beg=0;      //编程开始状态变量
char cc=0;       //编程长度变量
char ci=0;       //编程长度判断变量
char as=0;                             
char bs=0;
char cs=0;       //反馈数据暂存
char ds=0;       //接收编程数据暂存
char rs=0;       //读出数据暂存
char ads=0;       //Hex地址判断状态
uint uiA=0;
uchar ucD=0;
char xs=0;
char ys=0;
char Syn=0;
char rosl=0;     //读出熔丝位暂存
char rosh=0;
char lock=0;    //读出锁定位暂存
char z=0;
char ws[128];
//unsigned char data[];

⌨️ 快捷键说明

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