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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機藍牙+oled程序接受不到信息

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:220936 發(fā)表于 2021-1-13 12:47 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
各位師傅,麻煩看下我的程序哪有問題,怎么接收不到信息呢這也是參考本壇一位高手寫的程序修改的,在此一并謝過

單片機源程序如下:
#include "reg52.h"
#include "oled.h"
#include "bmp.h"
#include "ds18b20.h"
#include <stdio.h>
#include "ds1302.h"



sbit key_s2 = P2^4;//獨立按鍵S2

uchar rev=0; //藍牙接收緩存值
bit flag=0;        //接收標志
uint d=1;
#define MHz     1000000U        // 定義 MHz
#define gCLK    11059200   // 系統(tǒng)時鐘頻率

#define UART_BAUD   9600        // 定義所用的波特率

//串口初始化
void UARTInit()
{
        
        SCON  = 0x50;               // Mode 1: 8-bit UART, 允許接收
    TMOD |= 0x20;               // 定時器1 Mode 2: 8-Bit reload
    PCON  = 0x80;               // SMOD = 1
    TH1   =  0xfd;
          TL1   =  0xfd;
    TR1   = 1;                  // 定時器 1 啟動
    ES    = 1;                  // 串行中斷允許
        EA=1;
}

/********************************************************************
* 名稱 : Com_Int()
* 功能 : 串口中斷子函數(shù)
***********************************************************************/
void Com_Int(void) interrupt 4
{
       ES = 0;//關(guān)閉串口中斷
        if(RI == 1) //當(dāng)硬件接收到一個數(shù)據(jù)時,RI會置位
                {
                rev = SBUF;//數(shù)據(jù)傳輸緩存
                RI = 0;//清零
                flag=1; //置一
                }
        ES = 1;                //打開串口中斷
}

void gongneng()//功能
{
  switch(rev)//緩存數(shù)據(jù)
                {
                        case 'E':d ==0; break;

                        default:break;
                }
  flag=0;//標志清零
}

int main(void)
{        
         extern uint temp_ds;  //傳遞當(dāng)前溫度值
         
         
        OLED_Init();                        //初始化OLED  
        OLED_Clear();                         //OLED清屏
        UARTInit();                         //串口初始化


        DS1302Init();                          //DS1302初始化
        OLED_ShowCHinese(0,6,0);           //溫
        OLED_ShowCHinese(16,6,1);           //度
        OLED_ShowString(32,6,":",16);
        OLED_ShowCHinese(88,6,2);           //℃
                                         
        OLED_ShowCHinese(0,4,5);           //重
        OLED_ShowCHinese(16,4,6);           //量
        OLED_ShowString(32,4,":",16);



        while(1)
        {               
    gongneng();
    OLED_ShowNum(45,4,rev,2,16);
               
                OLED_ShowNum(60,4,d,2,16);
                if(d == 0)//判斷S2是否被按下
                {
                //        delay_ms(20);//按鍵消抖
        //                if(key_s2 == 0)
                        {
                                TI = 1;
                                printf("temp is  %d.%d C\n",temp_ds/10,temp_ds%10);                //檢測有誤按鍵按下 輸出當(dāng)前溫度值給手機APP
                                while(!RI);
                                RI = 0;
        //                        while(!key_s2);//松手檢測
                        }        
                }

                Test_Temp();         //溫度顯示
                Test_Time();          //時間顯示

        }         
        
}

重量后面是rev的值還有d的值,rev有時顯示35,48等,但和發(fā)送的字符對不上啊,d一直是1.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲精品91 | 日韩欧美不卡 | 亚洲色欧美另类 | 麻豆视频国产在线观看 | 久操av在线| 久久久久黄色 | 中文一区二区 | 麻豆av网| 欧美综合网 | 中文字幕一区二区三区四区 | 91久久久久久久久久久 | 在线视频99 | 欧美成人精品欧美一级 | 国产精品久久99 | 紧缚调教一区二区三区视频 | 一区二区三区在线电影 | 亚洲国产精品一区二区久久 | 久久三区 | 黄色片免费在线观看 | 日本网站免费在线观看 | 日韩精品二区 | 日本激情一区二区 | 求个av网址| 日韩欧美视频在线 | 成人国产免费观看 | 日韩亚洲欧美一区 | 免费看国产一级特黄aaaa大片 | 国内精品久久久久久 | 91色综合 | 欧美一二三四成人免费视频 | 自拍偷拍在线视频 | 日韩一区二区三区在线观看 | 精品毛片 | 日韩在线视频一区 | 91美女在线观看 | 一级毛片免费 | 久久亚洲国产 | 日本91av视频| 超碰在线97国产 | 欧美中文在线 | 国产一区二区三区久久久久久久久 |