Skip to content

Latest commit

 

History

History
278 lines (180 loc) · 6.78 KB

README_de.md

File metadata and controls

278 lines (180 loc) · 6.78 KB

English | 简体中文 | 繁體中文 | 日本語 | Deutsch | 한국어

LibDriver DS18B20

MISRA API License

Das digitale Thermometer DS18B20 bietet 9-Bit- bis 12-Bit-Celsius-Temperaturmessungen und verfügt über eine Alarmfunktion mit nichtflüchtigen, vom Benutzer programmierbaren oberen und unteren Triggerpunkten. Der DS18B20 kommuniziert über einen 1-Wire-Bus, der per Definition nur eine Datenleitung (und Masse) für die Kommunikation mit einem zentralen Mikroprozessor benötigt. Darüber hinaus kann der DS18B20 Strom direkt von der Datenleitung ableiten („parasitäre Stromversorgung“), wodurch die Notwendigkeit einer externen Stromversorgung. Jeder DS18B20 verfügt über einen eindeutigen 64-Bit-Seriencode, der es mehreren DS18B20 ermöglicht, auf demselben 1-Wire-Bus zu funktionieren. Somit ist es einfach, einen Mikroprozessor zu verwenden, um viele über einen großen Bereich verteilte DS18B20 zu steuern. Zu den Anwendungen, die von dieser Funktion profitieren können, gehören HVAC-Umgebungssteuerungen, Temperaturüberwachungssysteme in Gebäuden, Geräten oder Maschinen sowie Prozessüberwachungs- und -steuerungssysteme.

Libdriver DS18B20 ist ein voll funktionsfähiger DS18B20-Treiber, der von LibDriver gestartet wurde. Es bietet die Funktionen Temperaturablesung, ROM-Abgleichtemperaturablesung, Alarmablesung und ROM-Suchfunktion. LibDriver ist MISRA-konform.

Inhaltsverzeichnis

Anweisung

/src enthält LibDriver DS18B20-Quelldateien.

/interface enthält die plattformunabhängige Vorlage LibDriver DS18B20 onewire。

/test enthält den Testcode des LibDriver DS18B20-Treibers und dieser Code kann die erforderliche Funktion des Chips einfach testen。

/example enthält LibDriver DS18B20-Beispielcode.

/doc enthält das LibDriver DS18B20-Offlinedokument.

/Datenblatt enthält DS18B20-Datenblatt。

/project enthält den allgemeinen Beispielcode für Linux- und MCU-Entwicklungsboards. Alle Projekte verwenden das Shell-Skript, um den Treiber zu debuggen, und die detaillierten Anweisungen finden Sie in der README.md jedes Projekts.

Installieren

Verweisen Sie auf eine plattformunabhängige onewire-Schnittstellenvorlage und stellen Sie Ihren Plattform-onewire-Treiber fertig.

Fügen Sie /src, /interface und /example zu Ihrem Projekt hinzu.

Nutzung

example basic

uint8_t res;
uint8_t i;
float temperature;

res = ds18b20_basic_init();
if (res)
{
    return 1;
}

...

for (i = 0; i < 3; i++)
{
    delay_ms(2000);
    res = ds18b20_basic_read((float *)&temperature);
    if (res)
    {
        ds18b20_basic_deinit();

        return 1;
    }
    ds18b20_interface_debug_print("ds18b20: temperature is %0.2fC.\n", temperature);
    
    ...
    
}

...

ds18b20_basic_deinit();

return 0;

example match

uint8_t res;
uint8_t i;
float temperature;
uint8_t rom[8];

res = ds18b20_match_init();
if (res)
{
    return 1;
}

...

for (i = 0; i < 3; i++)
{
    delay_ms(2000);
    res = ds18b20_match_read((uint8_t *)rom, (float *)&temperature);
    if (res)
    {
        ds18b20_match_deinit();

        return 1;
    }
    ds18b20_interface_debug_print("ds18b20: temperature is %0.2fC.\n", temperature);
    
    ...
    
}

...

ds18b20_match_deinit();

return 0;

example alarm

uint8_t res;
uint8_t rom[8][8];
uint8_t num;
uint8_t i, j;

res = ds18b20_alarm_init();
if (res)
{
    return 1;
}

...

num = 8;
res = ds18b20_alarm_search((uint8_t (*)[8])rom, (uint8_t *)&num);
if (res)
{
    ds18b20_alarm_deinit();

    return 1;
}
ds18b20_interface_debug_print("ds18b20: find %d alarm rom(s).\n", num);

...

for (i = 0; i < num; i++)
{
    for (j = 0; j < 8; j++)
    {
        ds18b20_interface_debug_print("%02X ", rom[i][j]);
    }
    ds18b20_interface_debug_print(".\n");
    
    ...
    
}

...

ds18b20_alarm_deinit();

return 0;

example search

uint8_t res, i, j;
uint8_t rom[8][8];
uint8_t num;

res = ds18b20_search_init();
if (res)
{
    return 1;
}

...

num = 8;
res = ds18b20_search((uint8_t (*)[8])rom, (uint8_t *)&num);
if (res)
{
    ds18b20_search_deinit();

    return 1;
}
ds18b20_interface_debug_print("ds18b20: find %d rom(s).\n", num);

...

for (i = 0; i < num; i++)
{
    uart1_print("ds18b20: %d/%d is ", (uint32_t)(i+1), (uint32_t)num);
    for (j = 0; j < 8; j++)
    {
        ds18b20_interface_debug_print("%02X ", rom[i][j]);
    }
    ds18b20_interface_debug_print(".\n");
    
    ...
    
}

...
    
ds18b20_search_deinit();

return 0;

Dokument

Online-Dokumente: https://www.libdriver.com/docs/ds18b20/index.html

Offline-Dokumente: /doc/html/index.html

Beitrag

Bitte senden Sie eine E-Mail an [email protected]

Lizenz

Urheberrechte © (c) 2015 - Gegenwart LibDriver Alle Rechte vorbehalten

Die MIT-Lizenz (MIT)

Hiermit wird jeder Person kostenlos die Erlaubnis erteilt, eine Kopie zu erhalten

dieser Software und zugehörigen Dokumentationsdateien (die „Software“) zu behandeln

in der Software ohne Einschränkung, einschließlich, aber nicht beschränkt auf die Rechte

zu verwenden, zu kopieren, zu modifizieren, zusammenzuführen, zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen

Kopien der Software und Personen, denen die Software gehört, zu gestatten

dazu eingerichtet werden, unter folgenden Bedingungen:

Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen enthalten sein

Kopien oder wesentliche Teile der Software.

DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE JEGLICHE GEWÄHRLEISTUNG, AUSDRÜCKLICH ODER

STILLSCHWEIGEND, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT,

EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG VON RECHTEN DRITTER. IN KEINEM FALL DARF DAS

AUTOREN ODER URHEBERRECHTSINHABER HAFTEN FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE

HAFTUNG, OB AUS VERTRAG, DELIKT ODER ANDERWEITIG, ENTSTEHEND AUS,

AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDEREN HANDLUNGEN MIT DER

SOFTWARE.

Kontaktieren Sie uns

Bitte senden Sie eine E-Mail an [email protected]