• <li id="sy5c7"><label id="sy5c7"><pre id="sy5c7"></pre></label></li>
  •  找回密碼
     立即注冊(cè)

    QQ登錄

    只需一步,快速開始

    搜索
    查看: 4732|回復(fù): 4
    打印 上一主題 下一主題
    收起左側(cè)

    51單片機(jī)串口接收數(shù)據(jù)后用printf函數(shù)發(fā)送的問題

    [復(fù)制鏈接]
    跳轉(zhuǎn)到指定樓層
    樓主
    ID:58778 發(fā)表于 2014-1-14 09:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
    程序是我參考其他資料自己試著編的,如果去掉switch語(yǔ)句以及printf函數(shù)后串口可以正常接收,但是加上printf函數(shù)之后,在上位機(jī)上用串口助手輸入1時(shí),顯示的是
    error
    I GET 12544

    小弟初次接觸單片機(jī),特來(lái)向高手請(qǐng)教,謝謝各位大神了!

    這是程序,很短的。
    #include<reg52.h>
    #include<stdio.h>
    #define uchar unsigned char
    #define uint  unsigned int

    uchar a,flag,flag_on;
    void init()
    {
      TMOD=0x20;        //定時(shí)器1選擇方式2
    TH1=0xfd;
    TL1=0xfd;
    TR1=1;    //開定時(shí)器1開始計(jì)數(shù)

    SM0=0;     //選擇串口方式1
    SM1=1;
    REN=1;  //打開串口
    EA=1;     //開中斷
    ES=1;     //開串口中斷
    }
    void main()
    {
      init();  //調(diào)用初始化函數(shù)
    while(1)
    {
    if(flag==1)
    {
      flag=0;
       ES=0;//關(guān)中斷避免誤入中斷程序
      TI=1;//調(diào)用puts函數(shù)前使TI為1
      switch(flag_on)
      {
       case 0:puts("yes\n");
              break;
       case 1:puts("no\n");
              break;
       case 2:puts("error\n");
              break;
      }
      while(!TI);
      
      TI=1;
      printf("I GET %f\n",a);
      while(!TI);
      
      TI=0;
      ES=1;
      }
    }
        }   
    void ser()interrupt 4
    {
      if(RI)
      {
       RI=0;  //串行口接收位清零,準(zhǔn)備下次接收
      a=SBUF;  //將接收到的數(shù)據(jù)放入a中
      flag=1;
      if(a==1)
       flag_on=0;
       else if(a==2)
        flag_on=1;
        else flag_on=2;
       
      
      }
       
       

    }

    分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
    收藏收藏 分享淘帖 頂 踩
    回復(fù)

    使用道具 舉報(bào)

    5#
    ID:59028 發(fā)表于 2014-2-7 22:49 | 只看該作者
    什么東東呀?想看看
    回復(fù)

    使用道具 舉報(bào)

    地板
    ID:58832 發(fā)表于 2014-1-16 21:45 | 只看該作者
    什么原因呀?沒找到,嘿嘿嘿
    回復(fù)

    使用道具 舉報(bào)

    板凳
    ID:58832 發(fā)表于 2014-1-16 21:44 | 只看該作者
    杰尼龜 發(fā)表于 2014-1-14 22:13
    自個(gè)兒琢磨清楚了

    為什么呀,什么原因~~嘿嘿嘿,沒找到
    回復(fù)

    使用道具 舉報(bào)

    沙發(fā)
    ID:58778 發(fā)表于 2014-1-14 22:13 | 只看該作者
    自個(gè)兒琢磨清楚了
    回復(fù)

    使用道具 舉報(bào)

    本版積分規(guī)則

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

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

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