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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4250|回復: 2
收起左側

自己寫的max6675驅動庫 Arduino源程序

[復制鏈接]
ID:276685 發表于 2021-3-14 00:51 | 顯示全部樓層 |閱讀模式
我這個庫,兼容了3種spi模式
軟件spi
    硬件spi(arduino 2560默認端口)
      和一個自定義片選的硬件spi

相比網上其他的庫有更高的速率。

下面是對比圖

2021_03_14_00_42_IMG_3844.JPG

2021_03_14_00_43_IMG_3846.JPG

2021_03_14_00_40_IMG_3842.JPG

  1. #include "max6675.h"

  2. /**************************************************************************/
  3. /*!
  4.     @brief  Initialize a MAX6675 ,  software spi
  5.     @param   SCLK custom  SCLK pin
  6.     @param   MISO custom  MISO pin
  7.     @param   CS   custom  CS   pin
  8. */
  9. /**************************************************************************/
  10. MAX6675::MAX6675(uint8_t SCLK, uint8_t MISO,uint8_t CS) {  
  11. hardware_spi=0;  
  12. MAX6675_SCLK =SCLK;
  13. MAX6675_CS   =CS;
  14. MAX6675_MISO =MISO;

  15. pinMode(SCLK,OUTPUT);
  16. pinMode(CS,OUTPUT);
  17. pinMode(MISO,INPUT);

  18. digitalWrite(CS,HIGH);


  19. }



  20. /**************************************************************************/
  21. /*!
  22.     @brief  Initialize a MAX6675  hardware spi ,use default cs pin (D53 PB0)
  23. */
  24. /**************************************************************************/
  25. MAX6675::MAX6675(){
  26. MAX6675_CS =255;
  27. hardware_spi=1;
  28. SPI.begin();
  29. SPI.setClockDivider(SPI_CLOCK_DIV128);

  30. DDRB= (1<<PB0)|(1<<PB1); //io53 cs
  31. PORTB =(1<<PB0);//set high to cs pin

  32. }



  33. /**************************************************************************/
  34. /*!
  35.     @brief  Initialize a MAX6675 hardware spi,use custom  cs  pin
  36.     @param   CS      custom  CS   pin
  37. */
  38. /**************************************************************************/
  39. MAX6675::MAX6675(uint8_t CS){
  40. MAX6675_CS =CS;
  41. hardware_spi=1;
  42. SPI.begin();
  43. SPI.setClockDivider(SPI_CLOCK_DIV128);

  44. pinMode(CS,OUTPUT);//set high to cs pin
  45. digitalWrite(CS,HIGH);

  46. }


  47. float MAX6675::readCelsius(void){


  48. uint16_t max6675_16bit_read=0;

  49. if(hardware_spi==1){


  50. if(MAX6675_CS==255) PORTB=(0<<PB0) ;
  51. else digitalWrite(MAX6675_CS,LOW) ;
  52.   
  53.   max6675_16bit_read=SPI.transfer16(1);
  54.   if(MAX6675_CS==255)PORTB=(1<<PB0);
  55.   else digitalWrite(MAX6675_CS,HIGH);

  56. if (max6675_16bit_read & 0x4) return NAN;
  57. else   max6675_16bit_read>>= 3;
  58. return max6675_16bit_read * 0.25;


  59. }else{


  60.   digitalWrite (MAX6675_CS,LOW);
  61.   for (int i = 15; i>=0; i--) {
  62.     digitalWrite(MAX6675_SCLK, LOW);

  63.    if (digitalRead(MAX6675_MISO)==1)  max6675_16bit_read |= (1 << i);
  64.      
  65.     digitalWrite(MAX6675_SCLK, HIGH);
  66.   }

  67.   digitalWrite (MAX6675_CS,HIGH);
  68.   max6675_16bit_read>>= 3;

  69. return max6675_16bit_read * 0.25;

  70.   }
  71. }


  72. float MAX6675::readFahrenheit(void) {
  73.   return readCelsius() * 9.0 / 5.0 + 32;
  74.   }



  75. void MAX6675::delay_1ms(void)        //1ms延時函數 主頻為8MHz
  76. {   
  77. for(volatile int i=850;i>0;i--); // 2000*4/FREQ

  78. }
  79.                              
  80.                                        

  81. void MAX6675::delay_nms(unsigned int n)       //N ms延時函數
  82.    {
  83.       unsigned int i=0;
  84.       for (i=0;i<n;i++)
  85.       delay_1ms();
  86.      }
復制代碼

大家直接解壓放到IDE,libraries文件夾即可。或者直接拿cpp,h文件使用

代碼下載: MAX6675.zip (2.25 KB, 下載次數: 25)


評分

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

查看全部評分

回復

使用道具 舉報

ID:53978 發表于 2021-3-14 09:51 | 顯示全部樓層
大佬辛苦了 感謝分享
回復

使用道具 舉報

ID:276685 發表于 2021-4-11 14:14 | 顯示全部樓層
新來的別下載這個版本了,點我主頁熱電偶溫控那里下載一個包,比這個版本完善,少bug。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久久91 | 91伦理片 | 日韩久久久久久 | 自拍偷拍3p | 色爱区综合 | 中文字幕高清免费日韩视频在线 | 国产精品一区二区av | 91精品久久久久久久久久 | 日韩欧美在线不卡 | 九色视频网站 | 亚洲毛片在线观看 | 精品啪啪 | 欧美一区二 | 欧美日韩综合精品 | 日本免费一区二区三区四区 | www.青娱乐| 欧美高清视频 | 欧美成年网站 | 中文字幕日韩一区 | 国产精品激情小视频 | 欧美精品一区二区三区四区五区 | 成人特级毛片 | 国产三区精品 | 久久精品成人热国产成 | 毛片在线看片 | 国产高清自拍视频在线观看 | 日本三级电影在线看 | 91av在线免费观看 | 国产一区二区精品 | 国产精品日产欧美久久久久 | 欧美高清dvd | 午夜性色a√在线视频观看9 | 欧美精品一二三 | caoporn国产精品免费公开 | 日韩av成人在线 | 99视频免费看 | 精品视频在线观看 | 99精品欧美一区二区三区综合在线 | 一区二区三区四区国产 | 日韩快播电影 | 日韩欧美在线观看一区 |