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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2414|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色婷婷综合成人av | 91人人爽| 97免费在线视频 | 国产va| 亚洲欧美日韩在线不卡 | 国产日韩精品在线 | 秋霞a级毛片在线看 | 国产精品一区二区三区在线 | 亚洲精彩视频在线观看 | 一级黄色网页 | 国产1区2区3区| 成人在线免费观看av | 欧美福利精品 | 丝袜美腿一区二区三区动态图 | 激情五月激情综合网 | 免费国产黄网站在线观看视频 | www.久久 | 狠狠婷婷综合久久久久久妖精 | 男插女下体视频 | 久久免费小视频 | 国产高清一区二区三区 | 99久久夜色精品国产亚洲96 | 中文字幕四虎 | 欧美在线观看一区二区 | 久久国产精品一区二区三区 | 亚洲+变态+欧美+另类+精品 | 欧美999| 97综合在线| 国产精品免费一区二区三区 | 亚洲毛片| 国产一伦一伦一伦 | 一区二区三区久久 | 亚洲视频区 | 欧洲精品久久久久毛片完整版 | 97精品超碰一区二区三区 | 黄色在线观看网址 | 一区二区三区视频在线 | 国产一区二区三区久久久久久久久 | 一级毛片网 | 999精品在线| 欧美三级在线 |