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

📄 spiprog.cpp

📁 单片机SPI下载驱动程序源码
💻 CPP
字号:
#include "stdafx.h"
#include "resource.h"
#include <commdlg.h>
#include <cderr.h>
#include <stdlib.h>
#include <stdio.h>
#include "plugins.h"

#define hibyte(mo) (mo&0xFF000000)>>24
#define midbyte(mo) (mo&0xFF0000)>>16
#define lomidbyte(mo) (mo&0xFF00)>>8
#define lobyte(mo) mo&0xFF

void Buf2Scr(HWND,BYTE *,int);
int	InitPlugins(void);
int InitDefaultHW(void);
tInit_Plugin	*_Init_Plugin;

DOO	*all;

HWND	_wnd,_progr;
HANDLE	_mycom=NULL;
int		_flsize,_eesize,_pages,_poll;
int		_err,_divider,_memsz,_ememsz,_toptab;
int		_selected_plugin=0;
BYTE	*_eeprom,*_flash=NULL;
WORD	*_tstfl;
HINSTANCE	_hInst,_mydll;
char	_cn[20];
char	*_plugins[20];	// up to 20 plugins enabled
char	*_unkerr="Unknown error";

DWORD EraseChip(void)
{
	DWORD	rcvd;
	char buff[8];
	
	if(_mycom){
		WriteFile(_mycom,"e",1,&rcvd,NULL);
		ReadFile(_mycom,buff,1,&rcvd,NULL);
		WriteFile(_mycom,"L",1,&rcvd,NULL);
		ReadFile(_mycom,buff,1,&rcvd,NULL);
	}
	Sleep(10);
	return 1;
}

DWORD WINAPI Buf2eep(LPVOID parm)
{
	PARAMS	*pe;
	BYTE	buft[4],rcb[4],*eebuf;
	int		i,eadr;
	DWORD	rcvd;

	pe=(PARAMS *)parm;
	eadr=(pe->wrdcnt)<<1;
	eebuf=(BYTE *)pe->memo;
	SendMessage(pe->progr,PBM_SETRANGE,0,MAKELPARAM(0,eadr));
	if(pe->comm){
		WriteFile(pe->comm,"P",1,&rcvd,NULL);
		ReadFile(pe->comm,rcb,1,&rcvd,NULL);
		for(i=0;i<eadr;i++){
			wsprintf((char *)buft,"A%c%c",i>>8,i&0xFF);
			WriteFile(pe->comm,buft,3,&rcvd,NULL);
			ReadFile(pe->comm,rcb,1,&rcvd,NULL);
			wsprintf((char *)buft,"%c%c",0x44,eebuf[i]);
			WriteFile(pe->comm,buft,2,&rcvd,NULL);
			ReadFile(pe->comm,rcb,1,&rcvd,NULL);
			SendMessage(pe->progr,PBM_SETPOS,(WPARAM)i,0);
		}
		WriteFile(pe->comm,"L",1,&rcvd,NULL);		// 觐礤

⌨️ 快捷键说明

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