亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dsp_pc.c

?? 這是《并行口編程指南》的附盤的源代碼 很有參考價值哦
?? C
字號:
/* Program to connect the PC through the printer adapter to the
DSP based CCD controller.*/
/*dsp_pc.c*/


#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<process.h>
#include<time.h>

/* external variables */
extern unsigned dport, sport, cport;

/* external routines. gets the addresses of the 3 ports from the DOS
data RAM  */
extern void set_lpt_base_address(int);

/* status port */
#define pin_11	0x80
#define pin_10	0x40
#define pin_12	0x20
#define pin_13	0x10
#define pin_32	0x08

/* control port */
#define pin_17	0x08
#define pin_16	0x04
#define pin_14	0x02
#define pin_1	0x01

/* op & ip semaphores */


#define ip_buffer_flag 0x04
#define ip_buffer_Flag 0xfb
/* this flag is on bit 2 (pin 16 ) of the control port
and can set by a logic low on the pin 16*/

#define op_latch_flag 0x08
#define op_latch_Flag 0xf7
/* this flag is set by pulsing a low on pin 17 (bit 3)
of the control port. SET condition of this flag indicates
that the oplatch contains a new byte  */


/* local routines */
unsigned char txstat(void); 
/* check to see if the o/p latch is empty; empty=0 */

unsigned char rxstat(void); 
/* check to see if the i/p buffer has any char; empty=0 */


void tx(unsigned char);	/* transmit the char to the latch */

unsigned char  rx(void);/* receive a char from the buffer */

void enable_nibble(unsigned char); 
/* this function controls which nibble gets connected to 
the status port pins */


/* txstat: This routines checks pin_13 of printer adapter status port
if the PIN is SET, the o/p latch is full & should not be written to
again. When the DSP reads the latch, the PIN is RESET. Now the latch
can be written to again */
/* return value: 1 is latch full
		 0 if latch empty
*/

unsigned char txstat(void)
{
char latch_status;
enable_nibble(1); /* this function connects the sport to nibble 1*/
latch_status=inportb(sport) & pin_13;
return latch_status;
}



/* rxstat: this function checks pin_12 of the status port. If the PIN is
set, the buffer is full & should be read. if RESET, it is empty. */

/* return value:	0 if the buffer is empty
			1 if the buffer is full
*/

unsigned char rxstat(void)
{
char buffer_status;

enable_nibble(1); /* this function connects the sport to nibble 1*/

buffer_status=inportb(sport) & pin_12;
return buffer_status;

}
/* tx: This routine latches a byte into the o/p latch */
/* return value: none */

void tx(unsigned char op_byte)
{
unsigned char temp;

outportb(dport, op_byte);  /* latch the byte*/

/*
 now set up the op_latch_flag to indicate that a new byte is
available
*/
temp=inportb(cport) & (0xff ^ op_latch_flag);

temp=temp ^ op_latch_flag;
outportb(cport, temp);
temp=temp ^ op_latch_flag;
temp=temp | op_latch_flag;
temp=temp ^ op_latch_flag;

outportb(cport, temp);

return;
}

/* rx: This routine reads the i/p 8 bit buffer */
/* return value: the byte read from the buffer */

unsigned char rx(void)
{
unsigned char ip_byte, temp;

enable_nibble(3); /* set the buffer to read the lower nibble */

temp=inportb(sport);

temp=temp >> 4;

enable_nibble(2); /* set up the buffer to read upper nibble */

ip_byte=inportb(sport);

ip_byte = ip_byte & 0xf0; /* reset lower 4 bits */
ip_byte=0x88 ^ (ip_byte | temp); /* concatenate the 2 nibbles & flip
7th & 3rd bit */

/* now reset the flag to indicate that the byte has been read */
temp=inportb(cport) & (0xff ^ ip_buffer_flag);
outportb(cport, temp);
temp = temp | ip_buffer_flag;
outportb(cport, temp);

return ip_byte; /* return the converted byte */
}


void enable_nibble(unsigned char nibble_number)
{
unsigned char cport_status;
cport_status=( inportb(cport) & 0xfc) ;  /* isolate bit 0 & 1*/
nibble_number = nibble_number & 0x03;
nibble_number = 0x03 ^ nibble_number;  /* invert bit 0 & 1 */
cport_status=cport_status | nibble_number;
outportb(cport, cport_status);
return;
}

main()
{
unsigned long count;
unsigned char portval, tempp, tempq;
time_t t1,t2;
FILE *fp1;


int temp=1;

clrscr();

printf("\n\nFinding Printer adapter lpt%d...", temp);

set_lpt_base_address(temp);
if(dport == 0) {printf("\nPrinter adapter lpt%d not installed...", temp); exit(0); }
else
{
printf("found. Base address: %xhex", dport);
portval=inportb(sport);

printf("\n\n                     D7  D6  D5  D4  D3  D2  D1  D0");
printf("\nStatus  port value = %x   %x   %x   %x   %x   X   X   X ", \
(portval & pin_11)>>7, (portval & pin_10)>>6, (portval & pin_12)>>5, \
(portval & pin_13)>>4, (portval & pin_32)>>3 );

portval=inportb(cport);

printf("\nControl port value = X   X   X   X   %X   %X   %X   %X ", \
(portval & pin_17)>>3, (portval & pin_16)>>2, (portval & pin_14)>>1, \
(portval & pin_1) );


portval=inportb(dport);
printf("\nData    port value = %X   %X   %X   %X   %X   %X   %X   %X ", \
(portval & 0x80)>>7, (portval & 0x40)>>6, (portval & 0x20)>>5, \
(portval & 0x10)>>4, (portval & 0x08)>>3, (portval & 0x04)>>2, \
(portval & 0x02)>>1, portval & 0x01  );
printf("\n\n\n");
}

/* set up reset states on the control port, all pins to logic 1 */
outportb(cport,0x04);

fp1=fopen("tx_rx", "w");


t1=time(NULL); /* just to log time */

for (count=0;count<256;count++)
{

while (!txstat()); 
/* wait till the DSP application reads the previous byte*/

tx(tempp); /* transmit a byte*/


while(rxstat()); 
/* wait till a byte is transmitted by the DSP */

tempq=rx(); 
/* byte is available, read it */

fprintf(fp1, "TX=%x, RX=%x\n ", tempp, tempq); /* store it in a file */

tempp=tempp++;

}
fclose(fp1);

t2=time(NULL);

printf("time taken = %ld secs", t2-t1);


return 1;

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级免费观看| 日韩欧美的一区| 国产成人av电影在线| 久久电影网站中文字幕| 麻豆成人在线观看| 黑人巨大精品欧美黑白配亚洲| 三级一区在线视频先锋 | 丁香婷婷综合激情五月色| 蜜桃av一区二区三区| 久久av老司机精品网站导航| 久久国产精品无码网站| 国产麻豆一精品一av一免费| 国产91综合一区在线观看| 成人动漫在线一区| 色狠狠色狠狠综合| 欧美一区中文字幕| 国产视频亚洲色图| 亚洲裸体xxx| 日韩成人午夜精品| 久久不见久久见免费视频1| 国产精品18久久久久久久久| 成人涩涩免费视频| 精品视频一区二区不卡| 欧美一区二区三区在线电影| 国产亚洲欧美日韩日本| 自拍视频在线观看一区二区| 亚洲电影一级黄| 国产一区二区三区久久悠悠色av| youjizz久久| 欧美日韩日日摸| 国产网红主播福利一区二区| 亚洲精品视频在线观看免费| 日本在线播放一区二区三区| 成人av网站免费| 在线不卡免费av| 国产精品免费视频网站| 午夜精品久久久久久不卡8050| 久久国产乱子精品免费女| 91小视频在线观看| 精品国产区一区| 亚洲综合免费观看高清在线观看| 美女视频一区二区| 91久久精品国产91性色tv| 日韩欧美亚洲一区二区| 一区二区三区成人在线视频| 国产一区中文字幕| 欧美一级精品大片| 亚洲黄色性网站| 国产精品香蕉一区二区三区| 欧美美女bb生活片| 亚洲欧洲av一区二区三区久久| 日本aⅴ亚洲精品中文乱码| 色综合天天性综合| 国产日韩精品一区二区三区在线| 日韩精品久久久久久| 91亚洲精华国产精华精华液| 久久夜色精品国产噜噜av| 天天av天天翘天天综合网| 粉嫩嫩av羞羞动漫久久久| 日韩女同互慰一区二区| 亚洲成人7777| 在线观看日韩电影| 亚洲情趣在线观看| 99久久精品99国产精品| 国产精品色哟哟网站| 国产一区二区在线视频| 日韩欧美aaaaaa| 久久不见久久见免费视频1| 777亚洲妇女| 日韩二区在线观看| 91精品国产丝袜白色高跟鞋| 天堂一区二区在线| 欧美精品乱码久久久久久| 亚洲午夜激情av| 在线观看欧美黄色| 亚洲高清视频中文字幕| 欧美日韩在线三级| 日韩av一区二区在线影视| 91精品国产色综合久久ai换脸| 香蕉加勒比综合久久| 欧美日韩高清在线| 视频在线观看一区二区三区| 91精品国产aⅴ一区二区| 蜜桃av噜噜一区| 精品国产乱码久久久久久久久 | 欧美成人aa大片| 裸体一区二区三区| 欧美精品一区二| 成人免费视频caoporn| 中文在线资源观看网站视频免费不卡| 国产激情91久久精品导航| 国产日韩视频一区二区三区| 国产91色综合久久免费分享| 中文字幕一区在线观看视频| 91亚洲永久精品| 日日夜夜免费精品| 欧美成人伊人久久综合网| 成人永久看片免费视频天堂| 亚洲欧美日韩综合aⅴ视频| 色呦呦日韩精品| 日本强好片久久久久久aaa| 久久综合色播五月| 91亚洲精品久久久蜜桃| 日日夜夜一区二区| 国产精品三级在线观看| 欧美性色黄大片| 久99久精品视频免费观看| 最近中文字幕一区二区三区| 欧美日韩国产片| 国产成人精品午夜视频免费| 亚洲精品亚洲人成人网| 日韩欧美国产三级电影视频| 成人免费毛片app| 视频精品一区二区| 国产精品久久久久久久久果冻传媒 | 免费一级欧美片在线观看| 国产精品网站导航| 欧美一级片在线看| 99综合电影在线视频| 奇米888四色在线精品| 最新热久久免费视频| 日韩一区二区麻豆国产| 99久久国产综合精品麻豆| 精品一区二区三区在线播放视频 | 欧美日韩和欧美的一区二区| 国产成人免费xxxxxxxx| 日韩精品免费视频人成| 亚洲三级视频在线观看| 久久久久久久久伊人| 欧美日韩国产一区| 91论坛在线播放| 国产99久久久国产精品潘金网站| 日韩黄色小视频| 亚洲精品视频在线| 成人欧美一区二区三区视频网页| 欧美tickle裸体挠脚心vk| 欧美日韩国产影片| 91成人免费在线视频| gogo大胆日本视频一区| 国产一本一道久久香蕉| 蜜桃av一区二区在线观看| 日韩中文字幕91| 亚洲一二三四区不卡| 亚洲综合偷拍欧美一区色| 亚洲丝袜制服诱惑| 亚洲同性同志一二三专区| 亚洲欧洲精品一区二区三区| 国产亚洲一区二区三区四区| 精品日韩av一区二区| 欧美一区二区播放| 日韩视频中午一区| 这里只有精品免费| 欧美一区二区三区的| 69堂成人精品免费视频| 884aa四虎影成人精品一区| 欧美日韩视频第一区| 欧美福利一区二区| 日韩欧美在线一区二区三区| 欧美久久久久久久久| 日韩一区二区三区视频| 欧美成人精品福利| 欧美韩日一区二区三区四区| 久久精品视频一区二区三区| 欧美国产欧美综合| 136国产福利精品导航| 一区二区三区四区在线| 午夜精品久久久久久久久久久| 午夜激情综合网| 麻豆精品视频在线观看视频| 国产一区二三区| 成a人片亚洲日本久久| 色悠悠久久综合| 欧美肥胖老妇做爰| 久久综合久久99| 中文字幕制服丝袜一区二区三区| 亚洲啪啪综合av一区二区三区| 亚洲制服丝袜一区| 精品一区二区久久| 91美女在线视频| 91麻豆精品国产自产在线| 2021久久国产精品不只是精品| 久久精品欧美一区二区三区麻豆 | 亚洲第一综合色| 精品一区二区免费| 91尤物视频在线观看| 日韩一二三四区| 国产精品免费aⅴ片在线观看| 一区二区三区中文字幕电影| 日本网站在线观看一区二区三区 | 色婷婷久久综合| 欧美一区二区三区性视频| 国产人久久人人人人爽| 亚洲国产一区二区在线播放| 精品一区二区三区av| 日本精品裸体写真集在线观看| 9191成人精品久久| 亚洲视频一二区| 国精产品一区一区三区mba视频| 91网站黄www| 国产婷婷精品av在线|