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

📄 avr_bdm.cc

📁 AVR 单片机程序设计用到的模拟器
💻 CC
字号:
/* $Id: AVR_BDM.cc,v 1.6 2000/10/01 17:00:42 pure Exp $ */#include "AVR_BDM.h"AVR_BDM::AVR_BDM(unsigned _ramsize, unsigned _romsize, unsigned _model,		 unsigned _mhz) : AVR(_ramsize, _romsize, _model, _mhz), Thread(){	break_signal = running = 0;	codesize = _romsize / 2;	bp = new char[codesize];	arise();}AVR_BDM::~AVR_BDM(){	delete bp;}void AVR_BDM::setbp(int pc){	if ((!running) && (pc >= 0) && (pc < codesize))	    bp[pc] = 1;}void AVR_BDM::clearbp(int pc){	if (!running) {		if ((pc >= 0) && (pc < codesize))	    		bp[pc] = 0;		if (pc == -1)		    	for (int n = 0; n < codesize; n++)				bp[n] = 0;	}}void AVR_BDM::singlestep(){	if (!running)	    execute();}void AVR_BDM::run(){	break_signal = 0;	running = 1;	sem_run.signal();}void AVR_BDM::stop(){	if (running) {	        break_signal = 1;		sem_stopped.wait();		running = 0;	}}void AVR_BDM::action(){	while(1) {		sem_run.wait();		while (!break_signal) {		    	execute();		}		sem_stopped.signal();	}}void AVR_BDM::load(const char* name){	FILE* fp = fopen(name, "r");	if (!fp) return;	int addr = 0;	int c;	while ((c = fgetc(fp)) != -1) {		ROM.writeb(addr++, c);	}	fclose(fp);}

⌨️ 快捷键说明

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