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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

自己寫的max6675驅(qū)動庫 Arduino源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
我這個庫,兼容了3種spi模式
軟件spi
    硬件spi(arduino 2560默認(rèn)端口)
      和一個自定義片選的硬件spi

相比網(wǎng)上其他的庫有更高的速率。

下面是對比圖







  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延時函數(shù) 主頻為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延時函數(shù)
  82.    {
  83.       unsigned int i=0;
  84.       for (i=0;i<n;i++)
  85.       delay_1ms();
  86.      }
復(fù)制代碼

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

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


評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:53978 發(fā)表于 2021-3-14 09:51 | 只看該作者
大佬辛苦了 感謝分享
回復(fù)

使用道具 舉報

板凳
ID:276685 發(fā)表于 2021-4-11 14:14 | 只看該作者
新來的別下載這個版本了,點(diǎn)我主頁熱電偶溫控那里下載一個包,比這個版本完善,少bug。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品激情小视频 | 91精品久久久久久久久久入口 | 五月天国产视频 | 亚洲国产一区二区三区 | 高清人人天天夜夜曰狠狠狠狠 | 伊人在线 | 视频一区二区中文字幕日韩 | 国产无人区一区二区三区 | 日韩小视频在线 | 成人三级av| 99re在线视频 | 精久久 | 国产一区二区三区视频 | 国产精品视频免费观看 | 一区二区三区国产好的精 | 国产欧美日韩一区二区三区在线观看 | 在线一区视频 | 91视频在线看 | 在线观看av网站 | 日韩高清黄色 | 在线观看国产视频 | 国产精品成人一区二区三区夜夜夜 | 国产内谢| 亚洲视频一区在线观看 | www.99久久.com | 国产精品美女久久久久aⅴ国产馆 | 宅男噜噜噜66一区二区 | 亚洲精品日本 | 九九免费视频 | 乱码av午夜噜噜噜噜动漫 | 欧美精品一二区 | 久久33| 国产精品久久久久久久久免费相片 | 亚洲欧美视频 | 日韩色在线 | 性一交一乱一透一a级 | 国产精品成人久久久久 | 久久久久亚洲 | 免费人成在线观看网站 | 欧美日韩午夜精品 | 永久精品|