Hirdetés
- Fotók, videók mobillal
- Google Pixel topik
- OnePlus 15 - van plusz energia
- Milyen okostelefont vegyek?
- Idő előtt felbukkant a Motorola Razr 70: képek, specifikációk és ár is van
- Soundcore Liberty 4 Pro - basszus!
- Yettel topik
- Samsung Galaxy A57 - kecses test, lusta lélek
- Mobil flották
- Hivatalos a OnePlus Watch 4
Új hozzászólás Aktív témák
-
zka67
őstag
Szia, jobban megnézve a kódodat, én úgy látom, hogy csak 8 bitet olvasol ki a 12-ből.
-
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);
} -
don_peter
senior tag
Igazából nem azért linkeltem, hogy úgy ahogy van másold és használd

A lényeg benne van csak észre kell vedd..Ha a gyártó által megadott időzítéseket használod, akkor mennie kell, max az lehet a gond, hogy a késleltető függvényed nem jó mert a PIC nincs jól beállítva, de ez már egy másik topik..
-
don_peter
senior tag
Ezek olyan függvények amelyek nincsenek benne a fórosban.
Gondolom egy külső fájlban írta meg és azt nem publikálta.
Használd ezt a forrást: [link]
Egyébként a DS1820-nak van adatlapja ott részletesen leírja miképpen kell vele kommunikálni.
Honnan szereztél ilyen szenzort?
Pont most akarok én is egy olyan projektet elkezdeni amihez ilyen szenzor fog kelleni.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- TCL LCD és LED TV-k
- Autós topik
- Crimson Desert
- Luck Dragon: Asszociációs játék. :)
- Fotók, videók mobillal
- Debrecen és környéke adok-veszek-beszélgetek
- Google Pixel topik
- A jövőben nem csak a gazdagok kiváltsága lehet az Intel CPU-k tuningja
- Forza sorozat (Horizon/Motorsport)
- Tesla topik
- További aktív témák...
- Cayin ha 3a csöves fejhallgató erősítő
- Apple iPad Pro 12.9 6th. gen. 2022 M2 Wifi, 85% akku, patika, 12 hó gar
- Apple iPad Pro 11 3rd gen. 2021, M1 128GB, Wifi + Cell, 99% akku, patika, 12 hónap gar.
- Gamer PC i5-14400F RTX 2080 Ti 32GB DDR5!!!
- Diamond Viper II Z200 /S3/ 32MB /win95-98-vga/ perverzeknek !!!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 14 Pro Max 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4457
- LG UltraGear 32GS94UX-B OLED Monitor! 3840x2160 / 480Hz / 0.03ms / G-Sync / FreeSync! BeszámítOK
- GYÖNYÖRŰ iPhone 13 Mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4426, 100% AKKSI
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



