subda.c

来自「日立单片机H8S2144例程.包括AD,DA等程序(用于光源)但对于H8S214」· C语言 代码 · 共 98 行

C
98
字号
#include	"global.h"
#include	"H8S2144.h"
#include	"Extern.h"	
#include	"Data.h"

void DAout(unsigned short data);

short set_daif(short pixel, unsigned short data)
{
	unsigned short  wdata;

	if (data > MAX_IFDATA) {			//MAX_IFDATA=4095
		return NG;
	}
	else
	{
	wdata	=( data + 0x4000 * (pixel-1));
	DAout(wdata);

/*	switch(pixel)
	{
	case 1:
		dat |= 0x0000;
		break;
	case 2:
		dat |= 0x4000;
		break;
	case 3:
		dat |= 0x8000;
		break;
	case 4:
		dat |= 0xc000;
		break;
	default:
		return NG;
	}*/

	//DA_out(dat);

	return NO_ERR;
	}
}


void DAout(unsigned short data)
{
	unsigned short j,hbyte,lbyte;
	long da_data;
	//unsigned char ichr = 0x30;
	//unsigned char jchr;
	P4DR|=0x01;
	P8DR|=0x08;
	while(1){
	DA_load_H=data&0x0f;}
	DA_load_L=data&0xff;
	//lbyte=DA_load_L;

	while(test&0xfe){
		;
	}
		}
	//if(j&0xfe){
		//continue;
	//}
	//else{
		//P4DR&=0xfe;
		//break;}	//OUT DATA
	//}
	//out data
		//PBODR	= 0x0d;
		//wait(5);
		//PBODR	= 0x09;

		//j = 0x8000;
		//wait(5);					/* wait y ns  */
		//for(i=0;i<16;i++) {
			//if (j & data) {
				//jchr = 0x0a;		/* data on  */
			//} else {
				//jchr = 0x08;
			//}
			//PBODR = jchr;			/*  data out  */
			//wait(5);				/* wait y ns  */
			//jchr |= 0x01;
			//PBODR = jchr;			/*  clock on out */
			//wait(5);				/* wait y ns  */
			//j >>= 1;
		//}
		//PBODR = 0x0d;

		//wait(5);
		//PBODR = 0x05;				/*  ad strobe on out */
		//wait(5);					/* wait y ns  */
		//PBODR = 0x0d;
		//wait(5);


⌨️ 快捷键说明

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