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

📄 loadinram.c

📁 多字节汉字屏显示控制程序
💻 C
字号:
#include "config.h"
extern 	struct 	usart xdata cominfor[MAXCOMBUF];
extern 	xdata 	uchar  	all_plan;	//总帧数
xdata	uchar	word;				//这个用于向主调函数返回存储器中是否有可显示的内容
uchar data_load(struct windows xdata *pt, uchar type) //type=0是初始化调用,type=1是运行调用
{
   	uint  copysize;
	uchar xdata *ptd;				//目的地址指针
    uchar xdata *pts;				//数据点指针
	#ifdef	USEDTW
		#ifdef USEDOLDTW
 	  	uchar xdata *ptswapd;		//目的地址指针
	    uchar xdata *ptswaps;		//数据点指针
		#endif
	#endif

	if(word != 0xaa) return 0;

	pt->plan_flash = all_plan;		//接收到的总幕数
	if(type != 0)					//这里是程序运行中要求加载数据
	{
		if(pt->plan_flash <= MAXPLAN)
		{
			pt->plan = 0;
			return 1;
		}
	 }

	if(pt->plan_point == pt->plan_flash) pt->plan_point=0;
	pt->plan_size=0;
	while(pt->plan_point < pt->plan_flash)
	  {
    	pts = (uchar *)&cominfor[pt->plan_point];
		ptd = &pt->printbuf[pt->plan_size][0];
		for(copysize=0; copysize<(HANGDIP*(LIEDIP/8)); copysize++)
			{
				*ptd++ = *pts++;
			}
	   	#ifdef	USEDTW
			#ifdef USEDOLDTW
			ptswaps = &pt->printbuf[pt->plan_size][0];
			ptswapd = &pt->printbuf[pt->plan_size+1][0];
			swapdata(ptswaps, ptswapd);			//交换高低位
			#endif
		#endif

		pt->movintype[pt->plan_size] 	= *pts++;
		pt->movouttype[pt->plan_size] 	= *pts++;
		pt->movsize[pt->plan_size]		= *pts++;
		pt->showtime[pt->plan_size] 	= *pts++;

		pt->plan_size++;
		pt->plan_point++;
		if(pt->plan_size >= MAXPLAN) break;
	}//ens while(pt->plan_point < pt->plan_flash)
	pt->plan = 0;
	return 1;
}

⌨️ 快捷键说明

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