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

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

QQ登錄

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

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

大家?guī)蛶臀铱匆幌聠纹瑱C(jī)串口通訊亂碼問(wèn)題?有點(diǎn)搞不懂了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:999123 發(fā)表于 2022-1-8 21:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我的開(kāi)發(fā)板晶振是12MHZ的,第一個(gè)是別人寫(xiě)的,在2400波特率下可以正常通訊,第二個(gè)我的,在任何波特率下都是亂碼,大家?guī)臀铱聪履睦锊煌耍x謝大家了。                                                         
                                                                                                                /**************************************************************************************
實(shí)驗(yàn)名稱(chēng):串口通信實(shí)驗(yàn)
接線(xiàn)說(shuō)明:        
實(shí)驗(yàn)現(xiàn)象:下載程序后,當(dāng)串口助手發(fā)送數(shù)據(jù)給單片機(jī),單片機(jī)原封不動(dòng)轉(zhuǎn)發(fā)給串口助手顯示
注意事項(xiàng):使用黃色跳線(xiàn)帽將CH340旁的P5端子的UTX和P30短接,URX和P31短接,出廠(chǎng)默認(rèn)已短接好                                                                                                                                                                  
***************************************************************************************/
#include "reg52.h"

typedef unsigned int u16;        //對(duì)系統(tǒng)默認(rèn)數(shù)據(jù)類(lèi)型進(jìn)行重定義
typedef unsigned char u8;


/*******************************************************************************
* 函 數(shù) 名       : uart_init
* 函數(shù)功能                 : 串口通信中斷配置函數(shù),通過(guò)設(shè)置TH和TL即可確定定時(shí)時(shí)間
* 輸    入       : baud:波特率對(duì)應(yīng)的TH、TL裝載值
* 輸    出             : 無(wú)
*******************************************************************************/
void uart_init(u8 baud)
{
        TMOD|=0X20;        //設(shè)置計(jì)數(shù)器工作方式2
        SCON=0X50;        //設(shè)置為工作方式1
        PCON=0X80;        //波特率加倍
        TH1=0xe6;        //計(jì)數(shù)器初始值設(shè)置
        TL1=0xe6;
        ES=1;                //打開(kāi)接收中斷
        EA=1;                //打開(kāi)總中斷
        TR1=1;                //打開(kāi)計(jì)數(shù)器               
}

/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能                 : 主函數(shù)
* 輸    入       : 無(wú)
* 輸    出             : 無(wú)
*******************************************************************************/
void main()
{        
        uart_init(0XFA);//波特率為2400

        while(1)
        {                        
                                                        
        }               
}

void uart() interrupt 4 //串口通信中斷函數(shù)
{
        u8 rec_data;

        RI = 0;                        //清除接收中斷標(biāo)志位
        rec_data=SBUF;        //存儲(chǔ)接收到的數(shù)據(jù)
        SBUF=rec_data;        //將接收到的數(shù)據(jù)放入到發(fā)送寄存器
        while(!TI);                //等待發(fā)送數(shù)據(jù)完成
        TI=0;                        //清除發(fā)送完成標(biāo)志位                                

}   

這是我的

  #include<reg52.h>
        #define uchar unsigned char
        #define uint unsigned int
        unsigned char flag, a, i;
        uchar code table[]="i get";
        void init()
        {
          TMOD=0x20;
          SCON=0x50;
         PCON=0x80;
         
          TH1=0xe6;
          TL1=0xe6;
          TR1=1;
           EA=1;
           ES=1;
         }

         void main()
         {
                   init();
                   while(1)
          {
         if(flag==1)
           {
                  ES=0;
                  for(i=0;i<6;i++)
           {
                        SBUF=table[ i];
                        while(!TI);
                         TI=0;

          }
                  SBUF=a;
                  while(!TI);
                  TI=0;
                  ES=1;
                  flag=0;
          }
          }

          }
          void ser() interrupt 4

          {
                 RI=0;
                   a=SBUF;
                   flag=1;
          }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:624769 發(fā)表于 2022-1-8 23:10 | 只看該作者
串口中斷里面放while……
  你想不亂碼……
只能  在上位機(jī) 一個(gè)字符一個(gè)字符 的發(fā)……
回復(fù)

使用道具 舉報(bào)

板凳
ID:287575 發(fā)表于 2022-1-9 14:19 | 只看該作者
過(guò)程錯(cuò)誤,肯定是亂發(fā)的,中斷接到一個(gè)數(shù),你在中斷發(fā)了一個(gè)數(shù),也不管它發(fā)完了,程序到主程序又開(kāi)始發(fā)送,中斷里的數(shù)肯定沒(méi)發(fā)完,主程序發(fā)了一數(shù)后,又進(jìn)中斷了,中斷又發(fā),中斷不讓主程序過(guò)好日子,主程序也不讓中斷過(guò)好日子,你發(fā)不完,我就發(fā),總之大家都沒(méi)好日子過(guò)!
回復(fù)

使用道具 舉報(bào)

地板
ID:287575 發(fā)表于 2022-1-9 14:25 | 只看該作者
我看錯(cuò)了,中斷不是發(fā),主程序也禁止串口中斷了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩视频在线播放 | 黄色综合 | 日韩视频精品在线 | 91精品国产91久久久久游泳池 | 亚洲精品自拍视频 | 国产综合久久 | 亚洲精品日日夜夜 | www国产亚洲精品久久网站 | 精品久久久久久久久亚洲 | 日本高清视频在线播放 | 毛片一区二区 | 日本欧美黄色片 | 亚洲精品视频在线观看免费 | 午夜合集 | 日本一区二区三区免费观看 | 中文av在线播放 | 爱爱爱av| 综合另类 | 日本成人中文字幕在线观看 | 久久成人一区 | 国产亚洲一区二区三区 | 成年免费大片黄在线观看一级 | 久久新视频 | 精品1区 | 亚洲一级在线 | 亚洲成av人影片在线观看 | 国产一区二区免费在线 | 午夜免费观看网站 | 日本一区二区高清不卡 | www..com18午夜观看| 香蕉久久网 | 国产精品久久久久999 | 成人精品毛片国产亚洲av十九禁 | 性色在线 | 日韩综合在线 | 国产一区二区三区四区 | 国产精品美女久久久久久免费 | 国产高潮好爽受不了了夜夜做 | 国产精品视频不卡 | 久久精品国产久精国产 | 欧美一级欧美三级在线观看 |