久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3676|回復: 3
打印 上一主題 下一主題
收起左側

單片機串口通訊程序變量賦值問題

[復制鏈接]
跳轉到指定樓層
樓主
20黑幣
如圖 我想把這三個數取過來 231 是定義三個數組呢  還是直接使用變量賦值 這下面是我寫的 但是取不出來
  1. #include<stc12.h>//頭文件
  2. sbit DU=P2^6;
  3. sbit WE=P2^7;
  4. unsigned int date[6],value,one,two,three;
  5. unsigned char num=0;
  6. unsigned int  code sz[4]={0x3f,0x06,0x5b ,0x4f};         
  7. void delay(unsigned char xms)                  //xms等于幾就延遲幾毫秒
  8. {
  9.    unsigned int i,j;
  10.         for(i=xms;i>0;i--)
  11.             for(j=112;j>0;j--);
  12. }
  13. void UartConfiguration()
  14. {
  15.         
  16.            TMOD=0x20;    //定時器工作方式,選擇了定時器1,工作方式2 八位初值自動重裝的8位定時器。         
  17.      TH1=0xfd;     //定時器1初值  ,設置波特率為9600 晶振11.0529MHZ?  
  18.      TL1=0xfd;  
  19.            AUXR |= 0x40;                //定時器1時鐘為Fosc,即1T
  20.            AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
  21.      TR1=1;        //開啟定時器1  
  22.            SCON=0X50;
  23.            PCON=0X00;
  24.            


  25.            ES=1;         //允許串口中斷  
  26.      EA=1;         //允許中斷(總閘)   
  27.         }

  28. void main()
  29. {
  30.   UartConfiguration();
  31. while(1)
  32. {
  33. //   one=date[0]%10;
  34. //   two=date[2]%10;
  35. //   three=date[4]%10;
  36.         
  37.           one=value%10;
  38.     two=(value%100)/10;
  39.     three=value/100;
  40.     P0=sz[one];
  41.                 DU=1;
  42.                 DU=0;
  43.                 P0=0x7f;
  44.                 WE=1;
  45.                 WE=0;
  46.                 delay(2);               

  47.                 P0=sz[two];        
  48.                 DU=1;
  49.                 DU=0;
  50.                 P0=0xbf;
  51.                 WE=1;
  52.                 WE=0;
  53.                 delay(2);

  54.                 P0=sz[three];        
  55.                 DU=1;
  56.                 DU=0;
  57.                 P0=0xdf;
  58.                 WE=1;
  59.                 WE=0;
  60.                 delay(2);
  61.         
  62. }
  63.         }
  64. void Uart() interrupt 4
  65. {
  66.         if(RI==1)
  67.         {
  68.                         RI=0;
  69. //                 date[num]=SBUF;
  70. //                 num++;
  71. //                 if(num==7)
  72. //                 {
  73. //                  num=0;
  74. //                  }
  75.                  value=SBUF;
  76.          
  77.         }
  78. }
復制代碼

QQ圖片20190408094138.jpg (195.71 KB, 下載次數: 159)

串口發送的內容

串口發送的內容
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:101620 發表于 2019-4-10 19:54 | 只看該作者
提供一個思路,因為串口輸出過來的都是有空格來斷開的,當你需要這些數據的時候,你可以在你獲取數據的程序里按照順序以空格來判斷這個數據是不是完整的,類似于C語言的那個提取字符串。
回復

使用道具 舉報

板凳
ID:337069 發表于 2019-4-10 23:14 | 只看該作者
如果按你寫的程序,當串口接收數據是0xe7,這樣可以的.
如果按你電腦上的數據是三個十六進制數,程序可以用數組接收,
注意電腦收到是6個數據0x32 0x20 0x33 0x20 0x31 0x20
回復

使用道具 舉報

地板
ID:509060 發表于 2019-4-11 08:52 | 只看該作者
串口接受的一般是字符串發送,發送的是ASCII碼,需要轉換成自己需要的數字,去掉空格,用數組儲存起來比較合適!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色天堂影院 | 日韩视频一级 | 中文久久| 成人精品毛片国产亚洲av十九禁 | caoporn免费在线视频 | 亚洲天堂av网 | 精品视频一区二区三区在线观看 | 日韩精品一区二区三区免费观看 | 成年网站在线观看 | 久久伊人操 | h在线观看 | 欧美日韩综合精品 | 这里精品 | 国产精品视频网 | 欧美日韩国产精品一区 | 中文字幕一区二区三区四区 | 久久精品91久久久久久再现 | 蜜月aⅴ国产精品 | 精品区一区二区 | 国产一区二区视频免费在线观看 | 亚洲精品一 | 成人婷婷 | 久久久不卡网国产精品一区 | 婷婷一级片 | 天天拍天天操 | 国产一区视频在线 | 美女久久视频 | 精品一区久久 | 亚洲精品在线看 | 伊人狼人影院 | 一区二区精品在线 | 久久乐国产精品 | 在线成人福利 | 国产精品海角社区在线观看 | 在线视频一区二区 | 欧美一区不卡 | 欧美成人一级视频 | 91影院| 午夜影晥 | 九九99九九精彩46 | 91免费在线视频 |