Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
- Luck Dragon: Asszociációs játék. :)
- Tomasz72: Újabb Jimi home ajánló
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
Új hozzászólás Aktív témák
-
zka67
őstag
Szia, itt az általam használt modul. A gpio.h-t cseréld le a PIC io moduljára, és a gpio funkciókat is írd át a megfelelőkre, értelemszerűen (Ez a program a 2.5-ös portot használja, természetesen ez szabadon választható). A temp_delay értékeket át kell számolnod, hogy a megfelelő időzítéseket megkapd.
Először olvasd ki az értket a chip-ből a temp_get()-tel, utána indítsd el a következő konverziót a temp_start_conv()-val, és a következő kiolvasásig várj 1mp-et. A program az alapértelmezett felbontást használja (12 bit), a konverzió ideje 750ms. Ezalatt csinálhatsz mást, sűrűbben kiolvasni nincs értelme és egyébként is hibás adatot kapnál.
Remélem így már boldogulni fogsz

#include "core/gpio/gpio.h"
void temp_delay(int delay) {
do { ; } while(--delay);
}
void DQ_LOW(void) {
gpioSetDir(2, 5, gpioDirection_Output);
gpioSetValue(2, 5, 0);
}
void DQ_HIGH(void) {
gpioSetValue(2, 5, 1);
gpioSetDir(2, 5, gpioDirection_Input);
}
uint32_t DQ(void) {
return gpioGetValue(2, 5);
}
void temp_reset(void) {
char presence = 1;
while (presence) {
DQ_LOW() ;
temp_delay(9055); // 503us
DQ_HIGH();
temp_delay(1260); // 70us
presence = DQ();
temp_delay(7740); // 430us
}
}
void temp_write_byte(uint8_t val) {
uint32_t i;
uint8_t temp;
for (i=8; i>0; i--) {
temp = val & 0x01;
DQ_LOW();
temp_delay(90); // 5us
if (temp) DQ_HIGH();
temp_delay(1134); // 63us
DQ_HIGH();
temp_delay(36); // 2us
val = val >> 1;
}
}
uint8_t temp_read_byte(void) {
uint32_t i;
uint8_t value = 0;
for (i=8; i>0; i--) {
value >>= 1;
DQ_LOW();
temp_delay(108); // 6us
DQ_HIGH();
temp_delay(72); // 4us
if (DQ()) value |= 0x80;
temp_delay(1134); // 63us
}
return(value);
}
void temp_start_conv(void) {
DQ_HIGH();
temp_reset();
temp_write_byte(0XCC); // skip rom
temp_write_byte(0X44); // start conversion
}
uint32_t temp_get(void) {
uint32_t tlv, thv;
temp_reset();
temp_write_byte(0XCC); // skip rom
temp_write_byte(0XBE); // read scratchpad
tlv = temp_read_byte();
thv = temp_read_byte();
DQ_HIGH();
return tlv | (thv << 8);
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- exHWSW - Értünk mindenhez IS
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Kerékpárosok, bringások ide!
- Szeged és környéke adok-veszek-beszélgetek
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- BestBuy topik
- Hivatalos a Poco X8 Pro Max gigantikus akkukapacitása
- Samsung Galaxy Felhasználók OFF topicja
- Mini PC
- További aktív témák...
- Akció! Gamer PC-Számítógép! Csere-Beszámítás! I9 13900 / RTX 3090 24GB / 32GB RAM / 1TB SSD
- Macbook Air M1 8GB 256 GB 2026.júliusig garancia
- Playstation 5 digital PS5 825 GB 2026.12 hóig garancia
- Einhell akkumulátoros fűnyíró eladó!
- Bomba ár! Panasonic CF-20-2 Tab+Laptop: i5-7G I 8GB I 256SSD I 10,1" WUXGA Touch I Cam I W11 I Gar
- Felsőkategóriás Gamer PC-Számítógép! Csere-Beszámítás! R7 7800X3D / RX 6900XT / 32GB DDR5 / 2TB SSD
- Honor Magic V3 12/512GB - Kártyafüggetlen, Fekete, ÚJSZERŰ - 1 Év garanciával
- Új Honor X7d 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Apple iPhone 15 Pro 128GB,Újszerű,Dobozaval12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

