من یه برنامه ساده در C میخواستم بنویسم که از یک وسیله خارجی بصورت سریال یه سری داده دریافت و نشون بده.
اینو نوشتم اما جواب نداد :
اینم یکی دیگه بود که جواب نداد :
البته من با هایپر ترمینال از اینکه وسیله خارجی درست داده میده مطمئن شدم اما نمیدونم چرا کد های بالا فقط صفر میده ؟!
اساتید کمک کنن.
اینو نوشتم اما جواب نداد :
کد:
#include <conio.h> //for putch,... #include <bios.h> //for bioscom #include <stdio.h> //for file functions #include <dos.h> #define COM1 0 #define SETTINGS ( 0xC0 | 0x03 | 0x00 | 0x00 ) //baud 4800, 8 data bits, no parity, 1 stop bit char msg[80]; int i=0,j; void dsply(){j=0;while(j!=i)putch(msg[j++]);i=0;putch('\n');} void main() { bioscom(0,SETTINGS,COM1);//init.port while(1){ msg[i]=bioscom(2,0,COM1)&0x7F;//&0x7F for chek data ready if(msg[i])continue; if(msg[i]==13)dsply();else i++; } }
اینم یکی دیگه بود که جواب نداد :
کد:
#include <conio.h> //for putch,... #include <stdio.h> //for file functions #include <dos.h> #define COM1 0x3F8 int c; void main(){while(1) { c=inportb(0); if(c==13)printf("%d","\n"); else printf("%d",c); }}
البته من با هایپر ترمینال از اینکه وسیله خارجی درست داده میده مطمئن شدم اما نمیدونم چرا کد های بالا فقط صفر میده ؟!
اساتید کمک کنن.
دیدگاه