找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1448|回复: 1
打印 上一主题 下一主题
收起左侧

串口和计算机通信

[复制链接]
跳转到指定楼层
楼主
ID:300215 发表于 2018-4-14 20:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   #include <reg51.h>
   #include <string.h>

   #define INBUF_LEN 4 //数据长度

   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;
          
        }
          
//向串口发送一个字符
          void send_char_com( unsigned char ch)
          {
             SBUF=ch;
             while (TI== 0);
                 TI= 0 ;
           }

/*          
//向串口发送一个字符串,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);
   }
*/


//串口接收中断函数
void serial () interrupt 4 using 3
{
    if (RI)
           {  
                   RI = 0 ;
                   ch=SBUF;                   
                   read_flag= 1 ; //就置位取数标志
                }
}

main()
    {
            init_serialcom(); //初始化串口
                    while ( 1 )
                           {
                               if (read_flag) //如果取数标志已置位,就将读到的数从串口发出
                                        {
                                                    read_flag= 0 ; //取数标志清0
                                                        send_char_com(ch);
                                                }
                                }
        }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:277550 发表于 2018-4-14 23:01 | 只看该作者
这已经可以通讯了,只是接收一个字符
~~~~~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表