找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1859|回復(fù): 1
收起左側(cè)

串口和計算機通信

[復(fù)制鏈接]
ID:300215 發(fā)表于 2018-4-14 20:53 | 顯示全部樓層 |閱讀模式
   #include <reg51.h>
   #include <string.h>

   #define INBUF_LEN 4 //數(shù)據(jù)長度

   unsigned char ch;
//   unsigned char checksum,count3;

   bit read_flag= 0 ;

   void init_serialcom( void )
   {
       SCON = 0x50 ;  //SCON: serail mode 1, 8-bit UART, enable ucvr
           TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
           PCON |= 0x80 ; //SMOD=1;
           TH1 = 0xFA ;   //Baud:9600 fosc=11.0592MHz
           IE |= 0x90 ;   //Enable Serial Interrupt
           TR1 = 1 ;     // timer 1 run
           TI=1;
          
        }
          
//向串口發(fā)送一個字符
          void send_char_com( unsigned char ch)
          {
             SBUF=ch;
             while (TI== 0);
                 TI= 0 ;
           }

/*          
//向串口發(fā)送一個字符串,strlen為該字符串長度
void send_string_com( unsigned char *str, unsigned int strlen)
   {
     unsigned int k= 0 ;
         do { send_char_com(*(str + k)); k++; }
         while (k < strlen);
   }
*/


//串口接收中斷函數(shù)
void serial () interrupt 4 using 3
{
    if (RI)
           {  
                   RI = 0 ;
                   ch=SBUF;                   
                   read_flag= 1 ; //就置位取數(shù)標志
                }
}

main()
    {
            init_serialcom(); //初始化串口
                    while ( 1 )
                           {
                               if (read_flag) //如果取數(shù)標志已置位,就將讀到的數(shù)從串口發(fā)出
                                        {
                                                    read_flag= 0 ; //取數(shù)標志清0
                                                        send_char_com(ch);
                                                }
                                }
        }
回復(fù)

使用道具 舉報

ID:277550 發(fā)表于 2018-4-14 23:01 | 顯示全部樓層
這已經(jīng)可以通訊了,只是接收一個字符
~~~~~~~
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表