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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機接受的數據沒有加一是波特率代碼配置錯誤了嗎?

[復制鏈接]
搶樓 搶樓 本帖為搶樓帖,歡迎搶樓! 
跳轉到指定樓層
樓主
ID:418482 發表于 2018-11-7 21:07 | 只看該作者 |只看大圖 回帖獎勵 |閱讀模式
6黑幣
麻煩大家告我一下如何改正
  1. #include<stc12c5a60s2.h>

  2. void configuart(unsigned int baud);

  3. void main()
  4. {
  5.    EA=1;
  6.    configuart(9600);
  7.    while(1);
  8. }
  9. void configuart(unsigned int baud)
  10. {
  11.            PCON|=0X80;
  12.         SCON=0X50;
  13.         TMOD&=0X0F;
  14.         TMOD|=0X20;
  15.         TH1=256-(22118400/12/32)/baud;
  16.         TL1=TH1;
  17.         ET0=0;
  18.         ES=1;
  19.         TR1=1;
  20. }

  21. void interruptuart() interrupt 4
  22. {
  23.       if(RI)
  24.           {
  25.              RI=0;
  26.                  SBUF=SBUF+1;
  27.           }
  28.           if(TI)
  29.           {
  30.              TI=0;
  31.           }
  32. }
復制代碼


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

使用道具 舉報

沙發
ID:164602 發表于 2018-11-8 08:21 | 只看該作者
看你用的是STC12的單片機,你確定它是12分頻的?
可能問題就出在這里。
看看STC-ISP下載軟件的波特率計算器,可以知道:如果你的單片機是12分頻的,你的計算就是正確的,如果不是12分頻的,就錯了。


這是12分頻的,初值和你計算的一樣。



這個是不分頻的,初值和你的計算結果就不同了。
回復

使用道具 舉報

板凳
ID:94031 發表于 2018-11-8 09:10 | 只看該作者
SBUF=SBUF+1;用法錯誤,應該rbuf=SBUF;,rbuf=rbuf+1;
回復

使用道具 舉報

地板
ID:149144 發表于 2018-11-8 09:12 | 只看該作者
怎么又是你,你在做什么東西,做東西不要急,先好好看看數據手冊
configuart(9600); baud = 9600 ?
里面的內容發過來
估計你的 AUXR  沒有配置
回復

使用道具 舉報

5#
ID:418482 發表于 2018-11-8 12:16 | 只看該作者
xuyaqi 發表于 2018-11-8 09:10
SBUF=SBUF+1;用法錯誤,應該rbuf=SBUF;,rbuf=rbuf+1;

這樣不行啊
回復

使用道具 舉報

6#
ID:418482 發表于 2018-11-8 12:17 | 只看該作者
cuihaodianzi 發表于 2018-11-8 09:12
怎么又是你,你在做什么東西,做東西不要急,先好好看看數據手冊
configuart(9600); baud = 9600 ?
里面 ...

配置了也沒有用
回復

使用道具 舉報

7#
ID:418482 發表于 2018-11-8 13:06 | 只看該作者
HC6800-ES-V2.0 發表于 2018-11-8 08:21
看你用的是STC12的單片機,你確定它是12分頻的?
可能問題就出在這里。
看看STC-ISP下載軟件的波特率計算 ...
  1. #include<stc12c5a60s2.h>

  2. //void configuart(unsigned int baud);

  3. void main()
  4. {
  5.    EA=1;
  6.    
  7.    while(1);
  8. }
  9. void configuart()
  10. {
  11.            PCON &= 0x7F;                //波特率不倍速
  12.         SCON = 0x50;                //8位數據,可變波特率
  13.         AUXR &= 0xBF;                //定時器1時鐘為Fosc/12,即12T
  14.         AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
  15.         TMOD &= 0x0F;                //清除定時器1模式位
  16.         TMOD |= 0x20;                //設定定時器1為8位自動重裝方式
  17.         TL1 = 0xFA;                //設定定時初值
  18.         TH1 = 0xFA;                //設定定時器重裝值
  19.         ET1 = 0;                //禁止定時器1中斷
  20.         TR1 = 1;
  21. }

  22. void interruptuart() interrupt 4
  23. {
  24.       if(RI)
  25.           {
  26.              RI=0;
  27.                  SBUF=SBUF+1;
  28.           }
  29.           if(TI)
  30.           {
  31.              TI=0;
  32.           }
  33. }
復制代碼


重新添加了代碼還是不加1 啊
回復

使用道具 舉報

8#
ID:123289 發表于 2018-11-8 13:10 | 只看該作者
你現發一個,試試。第一個中斷由誰引起呢?
回復

使用道具 舉報

9#
ID:418482 發表于 2018-11-8 13:10 | 只看該作者
xuyaqi 發表于 2018-11-8 09:10
SBUF=SBUF+1;用法錯誤,應該rbuf=SBUF;,rbuf=rbuf+1;

這個代碼也是不行
回復

使用道具 舉報

10#
ID:418482 發表于 2018-11-9 08:32 | 只看該作者
已解決
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本高清中文字幕 | 91国在线视频 | 欧美在线日韩 | 久久精品视频一区二区三区 | 日日爱视频| 欧美一区二区三区视频 | 国产中文字幕在线观看 | 99精品国产一区二区三区 | 日韩中文一区 | 久久一区二区视频 | a a毛片| 黄色在线免费观看 | 成人免费在线观看 | 亚洲最大av | 美女高潮网站 | 国产草草视频 | 色久影院| 免费在线毛片 | 日韩一区二区在线免费观看 | 国产精品久久久久一区二区三区 | av在线一区二区三区 | 色综合色综合色综合 | 一级欧美一级日韩片免费观看 | 亚洲狠狠爱| 成人国产精品久久 | 日韩视频免费在线 | heyzo在线| 国产玖玖 | 成人网在线 | 在线观看欧美日韩视频 | 国产黄色麻豆视频 | 毛片网站免费观看 | 欧美激情一区二区三区 | 久久另类 | 一区二区在线看 | 午夜在线视频 | 国产精品99久久久久久久vr | 伊人久操 | 成人一区二区视频 | 91成人免费 | 久久y|