wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)IO引腳模擬串口程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:299910 發(fā)表于 2025-2-18 14:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include"STC15W4K.H"
#define RECEIVE_MAX_BUTES 1              //最大接收字節(jié)數(shù)
unsigned char RecvBuf[16];                   //接收數(shù)據(jù)緩沖區(qū)
unsigned char RecvCount=0;                 //接收數(shù)據(jù)計(jì)數(shù)器
sbit T_TXD=P3^2;                               //發(fā)送數(shù)據(jù)引腳
sbit R_RXD=P3^3;                               //接收數(shù)據(jù)引腳
bit RXD_OK;                                        //數(shù)據(jù)接收完成標(biāo)志,1接收正確 ,0接收錯(cuò)誤

void delay104us()
{
   unsigned char i,j,k;
   for(i=1;i>0;i--)         // 注意后面沒(méi)分號(hào)
   for(j=3;j>0;j--)         // 注意后面沒(méi)分號(hào)
   for(k=189;k>0;k--);      // 注意后面有分號(hào)  
}
void delay52uS()                                      // 起始位結(jié)束后52uS采樣數(shù)據(jù)
{
   unsigned char i,j,k;
   for(i=1;i>0;i--)         // 注意后面沒(méi)分號(hào)
   for(j=3;j>0;j--)         // 注意后面沒(méi)分號(hào)
   for(k=93;k>0;k--);       // 注意后面有分號(hào)  
}
voidsenbyte(unsigned char dat)
{
  unsigned char i=8;        //發(fā)送8位數(shù)據(jù)
  T_TXD =0;                   //發(fā)送起始位
  delay104us();        
  while(i--)
  {
    if(dat&1)  T_TXD=1;
    else T_TXD=0;
    delay104us();
    dat>>=1;
  }
  T_TXD=1;                       //發(fā)送停止位
  delay104us();
}

unsigned char recvbyte()
{
  unsigned char i;
  unsigned char dat=0;             //接收到的數(shù)據(jù)
  RXD_OK=0;                          //字節(jié)數(shù)據(jù)接收正常標(biāo)志位
  delay52us();                         //數(shù)據(jù)位中心位置讀取數(shù)據(jù)
  if(R_RXD==0)                      //確認(rèn)起始位正常
  {
    delay104us();                     //起始位寬度
    for(i=0;i<8;i++)
    {
      if(R_RXD) dat|=(1<<i);
      delay104us();
    }
    if(R_RXD==1)                //確認(rèn)停止位正常
    {
      RXD_OK=1;
    }
  }
  return dat;
}

void printfstr(char *pstr)        //串口打印字符串
{
  while(*pstr)
  {
    sendbyte(*pstr++);
  }
}
void main(void)
{
  unsigned char i;
  printfstr("模串口:STC15\r\n");
  while(1)
  {
    if(R_RXD==0)                                               //不斷檢測(cè)是否有起始位出現(xiàn)
    {
    recvbuf[recvcount]=recvbyte();
      if(RXD_OK ==1)                                          //一個(gè)字節(jié)接收正常
      {
        recvcount++;
        if(recvcount>=RECEIVE_MAX_BYTES)
        {
          recvcount=0;
          for(i=0;i<RECEIVE_MAX_BYTES;i++)
        {
          sendbyte( RecvBuf[ i]+1);                           //接收到的數(shù)據(jù)+1后發(fā)回
        }
        }
      }
    }
  }
}

這是一個(gè)IO引腳模擬串口通信的程序。
接收時(shí)先判斷P3.3接收端口是否有起始位低電平出現(xiàn),如有則按照低位在前的順序接收8位數(shù)據(jù),最后判斷是否有停止位高電平出現(xiàn),如有則完成一個(gè)字節(jié)的接收,否則繼續(xù)等待。P3.2發(fā)送。
其中軟件編寫(xiě)要嚴(yán)格按照異步通信的時(shí)序進(jìn)行,每位傳送時(shí)間按通信速率9600bps計(jì)算為(1/9600)s=104.2us。時(shí)鐘:22.1184M。


這個(gè)程序也看了很久,重點(diǎn)是發(fā)送和接收函數(shù)。
發(fā)送函數(shù)比較好理解,接收函數(shù)不太容易。
迷惑的地方是: if(R_RXD) dat|=(1<<i);
                       1.為什么要左移,不是先發(fā)送低位的嗎?左移以后先發(fā)送的不就成高位了?
                       2.為什么要dat為什么要或1,或1以后接收的值不就變了?


其實(shí)是沒(méi)看明白這個(gè)語(yǔ)句:if(R_RXD) dat|=(1<<i);
                                       這樣的格式很容易讓我忽視if(R_RXD)去只思考dat|=(1<<i);
                                       沒(méi)有實(shí)踐就沒(méi)有發(fā)言權(quán),拋棄條件去思考結(jié)果,就是耍流氓,肯定是思考不出結(jié)果的。
                                       這條語(yǔ)句說(shuō)的是如果R_RXD==1,那么dat當(dāng)前為就置1。
                                       另外1<<i,是指1左移i位,而不是i左移1位,同樣的錯(cuò)誤真的很容易再犯,習(xí)慣性思維害人。


另:
#define RECEIVE_MAX_BUTES 1              //最大接收字節(jié)數(shù)


這條宏語(yǔ)句的值改成2后,輸出的結(jié)果并不是想像的那樣。
例如我輸入11 22 點(diǎn)擊發(fā)送,我認(rèn)為會(huì)回復(fù):12 23;實(shí)際上第一次點(diǎn)擊發(fā)送時(shí)串口助手是沒(méi)有接收信息的(接收窗口空白),點(diǎn)擊第二次才會(huì)接收到正確回復(fù)。
這是因?yàn)?nbsp;        
    for(i=0;i<RECEIVE_MAX_BYTES;i++)
        {
          sendbyte( RecvBuf[ i]+1);                           //接收到的數(shù)據(jù)+1后發(fā)回      
}
這條語(yǔ)句的原因。

改成條件語(yǔ)句:
        SendByte(RecvBuf[ i]+1);           // 接收到得數(shù)據(jù)+1后發(fā)回
        i++;
if(i>=RECEIVE_MAX_BYTES)                                                
{   
i=0;
}
自認(rèn)為會(huì)完成改善,其實(shí)結(jié)果是點(diǎn)擊一次發(fā)送,接收到的只有一個(gè)字節(jié)的內(nèi)容,第一次接收到12,第二次接收到23,再點(diǎn)就是12,再是23。
經(jīng)思考:如果想點(diǎn)擊一次發(fā)送,接收到所有發(fā)送內(nèi)容,需要增加發(fā)送數(shù)組函數(shù),調(diào)用現(xiàn)有發(fā)送函數(shù)將發(fā)送內(nèi)容存儲(chǔ)到數(shù)組中,main()函數(shù)中調(diào)用發(fā)送數(shù)組函數(shù)。語(yǔ)句沒(méi)有寫(xiě),所以暫時(shí)只用語(yǔ)言描述。

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

使用道具 舉報(bào)

沙發(fā)
ID:299910 發(fā)表于 2025-2-19 09:30 | 只看該作者
模擬串口就是把串口協(xié)議的幀格式用程序語(yǔ)句表達(dá)出來(lái),然后放到IO口上去。這里說(shuō)的幀格式就是信號(hào)在固定波特率的高低電平變化,即1,0的變化和波形寬度。幀格式還包含幀內(nèi)每部分信號(hào)的含義,如起始位,數(shù)據(jù),校驗(yàn),停止位,當(dāng)然也都是1,0的變化和波形寬度。該程序沒(méi)有校驗(yàn)部分。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1096929 發(fā)表于 2025-2-20 15:22 | 只看該作者
jackduan2018 發(fā)表于 2025-2-19 09:30
模擬串口就是把串口協(xié)議的幀格式用程序語(yǔ)句表達(dá)出來(lái),然后放到IO口上去。這里說(shuō)的幀格式就是信號(hào)在固定波特 ...

解讀的非常好!
回復(fù)

使用道具 舉報(bào)

地板
ID:624769 發(fā)表于 2025-3-5 10:30 | 只看該作者
你既然用的 STC 單片機(jī), IO 模擬串口,還是看 STC 官方例程吧, 你手上這個(gè),不說(shuō)毫無(wú)實(shí)用性吧,還會(huì)把編程思路帶歪,將來(lái)寫(xiě)程序,只會(huì)單線程思考。
回復(fù)

使用道具 舉報(bào)

5#
ID:446156 發(fā)表于 2025-3-10 11:33 | 只看該作者
不建議用IO模擬串口時(shí)序,更不建議應(yīng)用到項(xiàng)目中,純粹是吃飽了找罪受
回復(fù)

使用道具 舉報(bào)

6#
ID:108361 發(fā)表于 2025-4-17 13:25 | 只看該作者
稍微復(fù)雜的程序,實(shí)時(shí)性要求上來(lái)一點(diǎn),這個(gè)IO模擬串口就容易翻車(chē),現(xiàn)在串口成本很低了,不再是那個(gè)MCS51的時(shí)代了,需要與時(shí)俱進(jìn)一點(diǎn)
回復(fù)

使用道具 舉報(bào)

7#
ID:513213 發(fā)表于 2025-4-30 09:05 | 只看該作者
qinlu123 發(fā)表于 2025-3-10 11:33
不建議用IO模擬串口時(shí)序,更不建議應(yīng)用到項(xiàng)目中,純粹是吃飽了找罪受

串口不夠時(shí),可以備用。
回復(fù)

使用道具 舉報(bào)

8#
ID:879348 發(fā)表于 2025-4-30 10:51 | 只看該作者
完全沒(méi)必要,項(xiàng)目還是以穩(wěn)定為主,省了這點(diǎn)費(fèi)用也不會(huì)返還到你
回復(fù)

使用道具 舉報(bào)

9#
ID:1161580 發(fā)表于 2025-10-15 08:57 | 只看該作者
效果很好
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
亚洲精品久久久久久| 在线观看欧美日韩电影| 狠狠干夜夜草| 国产精品被窝福利一区| 亚洲第一香蕉视频| 手机看片福利在线| 亚洲欧洲国产综合| 影音先锋男人资源站在线观看| 精品国产无码一区二区| 国产夫绿帽单男3p精品视频| 精品人妻无码一区二区色欲产成人| 亚洲资源在线播放| 国产乱码久久久久| 欧美视频一二区| 男男h黄动漫啪啪无遮挡软件| √天堂中文www官网| 欧美乱大交xxxxx另类| 国产又白又嫩又爽又黄| 美女视频网站在线观看| av在线影视| 又黄又www的网站| 青青草手机在线| 人人干在线视频| 欧美hdxxx| 午夜激情成人网| 亚洲热av色在线播放| 日本一区二区三区视频在线看| 久久综合偷偷噜噜噜色| 久久成人福利| 欧美1级片网站| 91久久午夜| 免费成人在线视频观看| 丁香婷婷综合五月| 久久久不卡网国产精品一区| 亚洲男人天堂av| 黄色精品一区二区| 51精品久久久久久久蜜臀| 久久国产免费| 欧美丰满日韩| 欧美视频不卡| 五月开心六月丁香综合色啪| 日韩午夜av在线| 激情图区综合网| 久久精品日产第一区二区三区高清版| ㊣最新国产の精品bt伙计久久| 亚洲一区二区三区中文字幕 | aaaaa级少妇高潮大片免费看| 日韩av网站在线播放| 免费中文字幕视频| 在线观看免费视频a| 午夜在线视频观看| 很黄很色网站| 天堂av网在线| 春色校园综合激情亚洲| 91精品丝袜国产高跟在线| 日韩av二区| 日韩av网站免费在线| 成人黄色国产精品网站大全在线免费观看 | jlzzjlzzjlzz亚洲人| 四虎成人精品免费影院| 在线观看av资源网| 蜜芽在线免费观看| 日韩成人久久| 亚洲精一区二区三区| 99麻豆久久久国产精品免费优播| 亚洲国产欧美一区二区三区丁香婷| 欧美一区二区成人6969| 久久99国产精品自在自在app| 91超碰rencao97精品| 菠萝蜜视频在线观看入口| 无套内谢丰满少妇中文字幕| frxxee中国xxx麻豆hd| 国产欧美久久久精品免费| 国产精品白浆视频免费观看| 免费在线稳定资源站| 久久69成人| 欧美久久九九| 国产午夜久久久久| 91精品国产综合久久久蜜臀图片 | 热久久免费国产视频| 欧美三级网色| 182午夜视频| 国产主播中文字幕| 国产精品国产三级国产专业不| 亚洲av无码乱码国产精品fc2| 国产丝袜美女| www免费网站在线观看| 国产 日韩 欧美| 国产精品亚洲欧美| 中文字幕一区在线观看| 亚洲国产精品成人一区二区| 日韩女在线观看| 一二三在线视频| 免费黄色在线视频| 亚洲va久久久噜噜噜无码久久| 天天色天天看| 三妻四妾的电影电视剧在线观看| 欧美大片aaaa| 久久精品视频在线免费观看| 日韩欧美久久久| 国产精品一区二区久久国产| 亚洲不卡中文字幕无码| 国产大片免费看| 欧美高清性xxxxxxx| 成年人在线视频免费观看| 久久成人福利| 成人手机电影网| 欧美一级电影网站| 91亚洲永久免费精品| 久久综合伊人77777麻豆最新章节| 日本亚洲欧美在线| 免费wwwxxx| 成人免费影院| 国产模特精品视频久久久久| 一区二区成人在线视频| 欧美老女人xx| 日韩精品久久一区二区| 性欧美疯狂猛交69hd| 国内精品免费一区二区三区| 26uuu亚洲电影在线观看| 天天影视欧美综合在线观看| 亚洲日本在线天堂| 精品自拍视频在线观看| 久久综合亚洲精品| 黄页网站免费观看| 操碰免费视频| 四虎精品一区二区免费| 激情六月婷婷久久| 日韩一区二区三区在线| 国产chinese精品一区二区| 亚洲 自拍 另类 欧美 丝袜| 国产综合在线播放| 在线视频三区| 午夜日韩av| 欧美日韩美女视频| 国产福利精品在线| 精品999在线| 国产毛片毛片毛片毛片| 国产小视频在线| 欧美第一精品| 精品国产乱码久久久久久虫虫漫画 | 中文字幕日韩免费视频| 一区二区不卡在线观看| 精品97人妻无码中文永久在线| 黄色三级小视频| 欧美久久一区二区三区| 26uuu国产电影一区二区| 国产一区二区久久精品| 成年人深夜视频| 天堂av免费在线观看| 亚洲人成小说| 亚洲成人av| 一本久道中文字幕精品亚洲嫩| 成人免费观看a| 亚洲欧美视频在线播放| 国产又白又嫩又爽又黄| 亚洲影视资源| 久久精品欧美日韩精品| 欧美国产亚洲精品久久久8v| 熟妇人妻va精品中文字幕| 国产一区二区在线视频观看| 日本福利在线| 久久三级福利| 亚洲国产成人av在线| 一区二区视频在线播放| 中文字幕亚洲乱码熟女1区2区| 在线国产小视频| 最新国产精品久久久| 欧美综合一区二区| 久久久免费看| 91精品国产高潮对白| 中出在线观看| 激情欧美一区| 精品国产乱码久久久久久老虎| 一区二区不卡在线视频 午夜欧美不卡' | 国产精品丝袜一区二区三区| 国产精品无码永久免费不卡| 黄色毛片在线| 国产精品嫩模av在线| 狠狠躁夜夜躁人人爽超碰91| 精品免费国产| 日韩av一二三区| yiren22亚洲综合伊人22| 巨乳诱惑日韩免费av| 精品中文视频在线| 午夜视频在线瓜伦| 欧美色图欧美色图| 视频精品一区| 五月婷婷色综合| 免费看成人午夜电影| 国产又大又黄又粗| 日本中文字幕视频在线| 国产做a爰片久久毛片| 久久亚洲精品一区二区| 伦伦影院午夜理论片| 岛国片免费看| 91精品精品| 精品国产91久久久久久久妲己| 我的公把我弄高潮了视频| 国产又爽又黄网站亚洲视频123| 欧洲亚洲精品久久久久| 一区二区三区蜜桃| av在线不卡观看| 欧美精品一二三四区| 免费在线看电影| 国产亚洲成av人在线观看导航| 国产精品爽爽ⅴa在线观看| 国产中文av在线| 波多野结衣在线影院| 国产成人精品影院| 国产成人综合精品| 国产亚洲欧美精品久久久www| www.亚洲免费| a亚洲天堂av| 成人中文字幕在线观看| 天天干天天干天天干天天| 菠萝蜜视频在线观看www入口| 国产婷婷色一区二区三区| 91亚洲精品在线观看| 香蕉污视频在线观看| 欧美香蕉视频| 亚洲一区电影777| 欧美性视频在线播放| 亚洲最大最好的私人影剧院| 久久男人av| 欧美一级片在线看| 九色porny自拍| 中文字幕高清20页| 国产精品最新自拍| 久久久免费精品| 欧美又粗又大又长| 黑人极品ⅴideos精品欧美棵| 国产欧美一区二区精品秋霞影院| 国产精品国产亚洲精品看不卡15| 在线免费观看中文字幕| 日韩免费在线电影| 欧美日本在线观看| 高潮一区二区三区| 特级全黄一级毛片| 国产成人av电影| 国产高清一区视频| www.黄色av| 一区二区美女| 亚洲视频在线看| 日本污视频网站| 丝袜美女在线观看| 亚洲福利视频导航| 成人免费aaa| 天天做天天爱天天爽| 久久精品国产秦先生| 国产精品久久一| 中文字幕精品一区二| 欧美成人精品午夜一区二区| 日韩欧美国产综合在线一区二区三区| 亚洲高清视频免费| 亚洲高清国产精品| 久久久久久久久久美女| 日本一区二区三区www| 欧美性受xxxx黑人爽| 亚洲二区视频| 欧美在线一级视频| 一级爱爱免费视频| 一本色道久久综合狠狠躁的番外| 在线看日韩av| 中文字幕 91| 在线观看免费网站| 国产日产精品一区| 国产手机视频在线观看| 黑人巨大40cm重口| 狠狠色丁香久久婷婷综| 国产精品亚洲综合| 亚洲精品成人a| 国产精品三上| 亚洲已满18点击进入在线看片| 亚洲精品久久久蜜桃动漫| 欧美超碰在线| 51视频国产精品一区二区| 中文字幕日日夜夜| 亚洲欧美成人vr| 另类视频在线观看| 亚洲国产精品无码久久久| 日韩欧美在线精品| 精品三级av在线| 色一情一交一乱一区二区三区| 成年人国产在线观看| 在线观看欧美日本| 国产香蕉精品视频| 牛牛在线精品视频| 6080亚洲精品一区二区| 91成人破解版| yiren22亚洲综合| 亚洲免费一在线| 四虎永久在线精品| 少妇一区二区三区| 久久久久久久久久国产精品| 夜夜躁狠狠躁日日躁av| 国产一区二区三区探花| 66m—66摸成人免费视频| 成人黄色在线观看视频| 亚洲黄色高清| 国产专区一区二区| xxxxwwww在线免费观看| 久久综合狠狠综合| 天天摸天天碰天天添| 91女主播在线观看| 欧美三级视频在线播放| 黄色av免费播放| 秋霞一区二区| 欧美激情亚洲视频| 图片区 小说区 区 亚洲五月| 亚洲一区图片| 免费在线一区二区| 四虎免费av| 亚洲丝袜自拍清纯另类| 亚洲欧美天堂在线| 黄页网站在线| 欧美不卡一二三| 久久一二三四区| 成人高清av| 91精品国产综合久久香蕉| 国产成人综合亚洲欧美在| 丁香亚洲综合激情啪啪综合| 免费看黄在线看| 日本三级视频在线观看| 欧美精品成人一区二区三区四区| 亚洲一区电影在线观看| 国内精品国产成人国产三级粉色| 欧美精品xxx| 最新国产热播激情视频| 成人免费看的视频| 18禁免费无码无遮挡不卡网站| 成人小视频在线播放| 激情婷婷综合| 亚洲va久久久噜噜噜| 青青操视频在线观看| 欧美极品aⅴ影院| 久久久精品视频国产| 怡红院成人在线| 欧美激情精品久久久久久黑人| 先锋影音男人站你懂得| 99久久精品情趣| 91视频免费版污| 美女91在线看| 久久精品欧美视频| 亚洲第一页在线播放| 成人av资源站| 免费看涩涩视频| 欧美天堂一区| 欧美一区二区三区图| 国产成人禁片在线观看| 中文字幕一区视频| 中文文字幕文字幕高清| jizz性欧美23| 国产精品欧美激情在线播放| 5858p先锋影音资源网| 亚洲大片精品永久免费| 老司机深夜福利网站| 日韩av在线中文字幕| 欧美亚洲另类久久综合| 国产黄色在线播放| 一区二区在线免费观看| 先锋影音av在线| 日韩精品第一区| 图片区小说区区亚洲五月| yiren22亚洲综合伊人22| 国产丝袜一区视频在线观看| 亚洲国产综合网| 成人av在线资源网站| 国产麻豆剧传媒精品国产| caoporn成人| 99在线观看视频| 毛片在线播放网站| 亚洲欧美日韩另类| 先锋资源男人站| 亚洲人成亚洲人成在线观看图片| 国产又粗又长又硬| 在线成人欧美| 国产淫片免费看| 国产精品久久久久久久久久辛辛| 91精品视频在线播放| 伊人网在线免费观看| 亚洲欧美国产另类| 欧美黑人xxxx猛牲大交| 亚洲午夜免费福利视频| 男人的天堂一区二区| 麻豆精品视频在线| 国产免费中文字幕| 亚洲婷婷影院| 一道精品一区二区三区| 蜜桃视频www网站在线观看| 欧美亚洲国产日本| 国产a级网站| 亚洲精品电影网| 影音先锋5566中文源资源 | 日韩美女主播视频| 午夜丝袜av电影| 欧美成人一级视频| 中文字幕jux大岛优香| 亚洲国产毛片aaaaa无费看 | 久久久综合香蕉尹人综合网|