من یه برنامه ساده در 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);
}}
البته من با هایپر ترمینال از اینکه وسیله خارجی درست داده میده مطمئن شدم اما نمیدونم چرا کد های بالا فقط صفر میده ؟!
اساتید کمک کنن.


_("


دیدگاه