STM32C8T6+MCP9808MCP9808温度传感器程序

[复制链接]
查看1 | 回复0 | 2020-6-7 16:08:02 | 显示全部楼层 |阅读模式
完整源码: MCP9808.7z (26.75 KB, 售价: 1 工控币)
1.png

部分源码:
  1. //#include "led.h"
  2. #include "delay.h"
  3. //#include "sys.h"
  4. #include "usart.h"
  5. #include "MCP9808.h"     
  6. #include "stm32f10x.h"
  7. #include "i2c.h"
  8. #include "stdio.h"
  9. /************************************************
  10. MCP9808温度传感器串口测试
  11. MCP9808的SCL口接PB8,SDA口接PB9,alert不接
  12. MCP9808自带上拉电阻,无须外加
  13. MCP9808的A2、A1、A0不接,从电路原理图中可以看到它们是下拉接地
  14. 默认地址是0X30,0011 A2A1A0X(X=0写,X=1读),可通过修改MCP9808.h中的ADDRESSBYTE改变
  15. ************************************************/

  16.                     
  17.    
  18. int main(void)
  19. {   
  20.     float TP = 0.0;
  21.     delay_Init();             //延时函数初始化   
  22.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  23.     usart_config();      //串口初始化为115200
  24. //    LED_Init();             //初始化与LED连接的硬件接口
  25.     MCP9808_init();
  26.          
  27.       
  28.     while(1)
  29.     {
  30. //        LED0 = !LED0;
  31.         usart_printf("\r\n温度实验测试\r\n");
  32.         TP = MCP9808_ReadTP();
  33.         usart_printf("%.2f℃\r\n",TP);
  34.        delay_ms(1000000000);
  35.     }   
  36. }

  37. int fputc(int ch,FILE *f)   //printf重定向函数
  38. {
  39.         USART_SendData(USART1,(uint8_t)ch);   //发送一字节数据
  40.         while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET);   //等待发送完成
  41.         return ch;
  42. }
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则