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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC15單片機讀取SHT3x傳感器數據并在串口打印 源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:759974 發表于 2023-9-10 16:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*
STC15單片機
實驗名稱:讀取STH3x溫濕度傳感器,并在UART串口打印數值
實驗內容:
        UART串口9600波特率
        printf函數打印信息(putchar)
        #define FOSC 22118400L  //晶振頻率 22.1184MHz

實驗器材:
        STC15W408AS_DIP16 x1
        SHT3x溫濕度傳感器模塊

SHT3x傳感器:
  1. void SHT3X_Init()

  2. {

  3.         IIC_Start(); //發送起始信號

  4.         SHT3X_WriteByte(0x44<<1|0); //寫設備地址

  5.         SHT3X_WriteCmd(0x2130); // meas. periodic 1 mps, high rep.

  6.         IIC_Stop(); //停止信號

  7. }
復制代碼


打印信息:

[15:35:16.358]接收←>New Messages...
                    >SHT3x_ReadData...
                    >R_Buf 75 be 6d 81 9e 70

                    # SHT3x_Data_Read #
                    >T_R 30142 H_R 33182

                    # SHT3x_Data_Calc #
                    >T_C 0354 H_C 0506

                    # SHT3x_Crc_Chk #
                    >T CRC_R 6d H CRC_R 70
                    >T CRC_C 6d H CRC_C 70

[15:35:21.812]接收←>New Messages...
                    >SHT3x_ReadData...
                    >R_Buf 75 be 6d 81 df 7c

                    # SHT3x_Data_Read #
                    >T_R 30142 H_R 33247

                    # SHT3x_Data_Calc #
                    >T_C 0354 H_C 0507

                    # SHT3x_Crc_Chk #
                    >T CRC_R 6d H CRC_R 7c
                    >T CRC_C 6d H CRC_C 7c
*/

main.c :

  1. #include "config.h"
  2. #include "delay.h"
  3. #include "uart.h"
  4. #include "sht3x_iic.h"

  5. #define LED_ON        P12 = 0
  6. #define LED_OFF        P12 = 1

  7. bit timer_flag_5s        = 0;        //5s定時觸發標志位
  8. uint8 delay_count        = 0;        //delay延遲計數器

  9. //主函數
  10. void main(void)
  11. {
  12.         //設置STC15W408AS單片機端口為標準模式
  13.         Config_Port();

  14.         //串口初始化,波特率9600
  15.         UART_Config(9600);

  16.         //初始化SHT30傳感器
  17.         SHT3X_Init();

  18.         LED_OFF; //LED指示燈熄滅
  19.                         
  20.         // 事件處理循環
  21.         while(1)
  22.         {        
  23.         if (timer_flag_5s)  //每隔5s執行以下分支
  24.         {
  25.                         LED_ON; //LED指示燈點亮

  26.                         if(DEBUG_MODE) printf(">New Messages...\r\n");
  27.                         SHT3x_ReadData();
  28.                
  29.                         if(DEBUG_MODE) printf(">SHT3x_ReadData...\r\n");
  30.                         if(DEBUG_MODE) printf(">R_Buf %02bx %02bx %02bx %02bx %02bx %02bx\r\n",
  31.                         SHT3X_Read_Buf[0], SHT3X_Read_Buf[1], SHT3X_Read_Buf[2],
  32.                         SHT3X_Read_Buf[3], SHT3X_Read_Buf[4], SHT3X_Read_Buf[5]);                        

  33.                         if(DEBUG_MODE) printf("\r\n# SHT3x_Data_Read #\r\n");
  34.                         if(DEBUG_MODE) printf(">T_R %u H_R %u\r\n", p_SHT3X_Data->Read_T_Val, p_SHT3X_Data->Read_H_Val);

  35.                         if(DEBUG_MODE) printf("\r\n# SHT3x_Data_Calc #\r\n");
  36.                         if(DEBUG_MODE) printf(">T_C %04d H_C %04d\r\n", SHT3X_T_Val, SHT3X_H_Val);

  37.                         if(DEBUG_MODE) printf("\r\n# SHT3x_Crc_Chk #\r\n");
  38.                         if(DEBUG_MODE) printf(">T CRC_R %02bx H CRC_R %02bx\r\n", p_SHT3X_Data->Read_T_Crc, p_SHT3X_Data->Read_H_Crc);
  39.                         if(DEBUG_MODE) printf(">T CRC_C %02bx H CRC_C %02bx\r\n", SHT3X_CalcCrc((uint8 *)&(p_SHT3X_Data->Read_T_Val), 2), SHT3X_CalcCrc((uint8 *)&(p_SHT3X_Data->Read_H_Val), 2));

  40.                         LED_OFF; //LED指示燈熄滅

  41.             timer_flag_5s = 0;
  42.                 }

  43.                 //延時周期200ms
  44.                 delay_x_ms(200);

  45.                 //5s定時觸發標志位
  46.                 if(25 == ++delay_count)
  47.                 {
  48.                         delay_count = 0;
  49.                         timer_flag_5s = 1;
  50.                 }
  51.         }
  52. }
復制代碼

原理圖: 無
仿真: 無
代碼: UART_PRINTF_DELAY_SHT3x_STC15W408AS.zip (9.2 KB, 下載次數: 22)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费在线 | 日本成人福利视频 | 久久精品亚洲成在人线av网址 | 二区在线观看 | 四虎影院美女 | 国产精品一区二区三区四区 | 99久久婷婷国产综合精品电影 | 亚洲成人毛片 | 国产成人精品免高潮在线观看 | 国内精品视频在线观看 | 久久久久国产精品 | 日本久草视频 | 久久精品美女 | 国产精品久久久久久久久久免费看 | 天天操综合网 | 久久精品99久久 | 久久国产精品久久久久久 | 国产成人精品一区二区三区 | 欧美一级片中文字幕 | 特黄视频 | 日韩在线一区二区三区 | 人人擦人人 | 97在线超碰 | 亚洲一区二区三区免费在线观看 | 日韩国产在线观看 | 国产精品视频yy9299一区 | 91精品国产综合久久久亚洲 | 成人一区在线观看 | 国产精品久久国产精品 | 欧洲一级毛片 | 亚洲欧美在线视频 | 中文字幕第十五页 | 天天综合国产 | 精品一区视频 | 精品久久久久一区 | 噜啊噜在线 | 天堂国产 | 亚洲视频免费观看 | av中文字幕网 | 蜜桃视频成人 | 手机av在线 |