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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4141|回復: 11
收起左側

自學單片機,遇到難題,求大神幫忙

[復制鏈接]
ID:55957 發表于 2013-10-15 15:47 | 顯示全部樓層 |閱讀模式
編了一個單片機接收的小程序,但每次都要將串口調試助手的串口開關一次,才能發送新的數據,程序如下:
#include<reg52.h>
void main ()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
while(1)
{
   
}
}
void  wer()  interrupt  4
{
RI=0;
  P1=SBUF;
}
回復

使用道具 舉報

ID:230901 發表于 2017-9-8 17:11 | 顯示全部樓層
中斷應該是這樣:先接受數據接受完了再情接收標志   P1 = SBUF;RI = 0;而不是你現在這樣

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:230901 發表于 2017-9-8 17:13 | 顯示全部樓層
先接收完數據在清接收標志位    P1= SBUF;  RI=0;

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:232171 發表于 2017-9-9 23:54 | 顯示全部樓層
慢慢研究 以后自然會懂得 主要是 堅持
回復

使用道具 舉報

ID:232171 發表于 2017-9-9 23:55 | 顯示全部樓層
格式放好看點呀 慢慢來 不急那點時間
回復

使用道具 舉報

ID:213173 發表于 2017-9-10 06:51 | 顯示全部樓層
P1=SBUF;這里的中文分號要改為英文分號。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:219181 發表于 2017-9-11 01:05 | 顯示全部樓層
wulin 發表于 2017-9-10 06:51
P1=SBUF;這里的中文分號要改為英文分號。

其實這個影響不大吧,只要一編譯就能發現了。。。。
回復

使用道具 舉報

ID:219181 發表于 2017-9-11 01:11 | 顯示全部樓層
本帖最后由 sinho 于 2017-9-11 01:55 編輯

#include<reg52.h>
unsigned char A;
void main ()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
while(1)
{
    if (A == 1)
    {        A =0;
        P1 = SBUF;
    }
}
}
void  wer()  interrupt  4
{
  if (RI == 1)
  {
       RI = 0;
       A = 1;
   }
}

你試試這樣可不可以?我加了個變量A,我也是剛開始學單片機的,之前做了個類似的程序 :在串口助手給單片機發送數據,單片機原樣發回。

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:219181 發表于 2017-9-11 01:14 | 顯示全部樓層
想飛的豬1 發表于 2017-9-8 17:11
中斷應該是這樣:先接受數據接受完了再情接收標志   P1 = SBUF;RI = 0;而不是你現在這樣

這個應該沒影響的吧,我也是先清零再給數據,而且能實現效果

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:230901 發表于 2020-9-26 14:31 | 顯示全部樓層
sinho 發表于 2017-9-11 01:14
這個應該沒影響的吧,我也是先清零再給數據,而且能實現效果

你把主函數的while(1) {    }  寫成while(1);
回復

使用道具 舉報

ID:337139 發表于 2020-9-26 15:46 | 顯示全部樓層
先定義一個接收變量:
unsigned char Temp_data=0;
sbit  Flag_Rxdata=0;
void main ()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
while(1)
{
    if (Flag_Rxdata)
    {   Flag_Rxdata=0;
        P1 = Temp_data;
    }
}
}
將中斷改寫一下:
void  wer()  interrupt  4
{
  if (RI)
  {
       RI = 0;  
       Temp_data = SBUF;
       Flag_Rxdata=1;
   }
}
這樣子去調試一下。
回復

使用道具 舉報

ID:822755 發表于 2020-9-26 19:53 | 顯示全部樓層
可能只是你用的串口助手的問題,如果是用usb轉串口線,那更可能是轉換線的問題。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲深夜福利 | 夜久久 | 国产精品7777777 | 国产一区二区免费 | 福利视频二区 | 欧美性网 | 夜夜艹 | av在线免费不卡 | 精品一区二区在线视频 | 国产精品久久久久久久久久久久久 | 日本人爽p大片免费看 | 久久夜视频 | 99久久精品免费看国产小宝寻花 | 色噜噜亚洲男人的天堂 | 妞干网视频 | 国产综合视频 | 欧美aaaaaaaaaa | 亚洲国产欧美日韩 | 国产精品免费一区二区三区 | 伊人狠狠干| 国产探花在线观看视频 | 九九综合 | 午夜视频大全 | 国产剧情一区 | 成人网av | 精品自拍视频 | 伊人狠狠 | 97狠狠干 | 成人一区二区三区 | 伊人久久大香线 | 国产欧美一区二区三区国产幕精品 | 国产一区二区三区免费 | 久久一区二区三区四区 | 亚洲欧美一区二区三区1000 | 国产精品视频导航 | 91精品国产91久久久久久吃药 | 欧美性久久 | 日韩国产免费观看 | 午夜国产在线 | 精品久久不卡 | 国产色99|