色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 通信波特率115.2K的串行通信C語(yǔ)言示例

          通信波特率115.2K的串行通信C語(yǔ)言示例

          作者: 時(shí)間:2012-02-19 來(lái)源:網(wǎng)絡(luò) 收藏

          unsigned char time_out;

          本文引用地址:http://cafeforensic.com/article/172057.htm

          void init_com1(void) {
          outportb(0x3fb,0x80);
          outportb(0x3f8,1);
          outportb(0x3f9,0x0);
          outportb(0x3fb,0x3);
          }
          void sen_com1(unsigned char d) {
          long i;
          time_out=0;
          while (!(inportb(0x3fd)0x20));
          outportb(0x3fd,0x0);
          outportb(0x3f8,d);
          i=clock();
          while (1) {
          if (clock()>(i+8)) {time_out=1;return;}
          if ((inp(0x3fd)0x1)==1) break;
          }
          if (inp(0x3f8)!=d) {time_out=2;return;}
          }
          unsigned char rec_com1(void) {
          long i;
          unsigned char d;
          time_out=0;
          i=clock();
          while (1) {
          if (clock()>(i+8)) {time_out=1;return(0);}
          if ((inp(0x3fd)1)==1) break;
          }
          d=inp(0x3f8);
          while (!(inportb(0x3fd)0x20));
          outportb(0x3fd,0x0);
          outportb(0x3f8,d);
          return(d);
          }
          void main(void) {
          int i;
          long st;
          init_com1();
          st=clock();
          sen_com1(0xaa);
          if (time_out) {printf(CPU not ready!);exit(-1);}
          sen_com1(0xaa);
          if (time_out) {printf(CPU not ready!);exit(-1);}
          for (i=0;i1000;i++) {
          sen_com1(i);
          if (time_out) {printf(CPU not ready!);exit(-1);}
          }
          printf(Total use %3.2f S.,(clock()-st)/18.2);
          exit(1);
          }


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉