Witam,
Mam podpięty ds18b20 pod atmęgę, korzystam z CodevisionAVR i mam parę pytań może te pytania pozwolą mi na znalezienie błędu w kodzie.
1. Czy taka definicja portu dla 1wire jest poprawna(w CodeVisionAVR):
Głównie mi chodzi czy później jak się odwołam do samej funkcji
Temp = ds18b20_temperature(0);
czy w zmiennej Temp będzie temperatura zmierzona przez Ds wpięty w ten pin
2. Czy długość kabla na którym jest DS ma znaczenie?(mam 100cm kabel w ekranie)
3.
Jaką częstotliwością powinienem taktować atmege 162 aby pomiar mógł się odbyć (czy nie ma jakiegoś maximum gdzie już ds nie wyrabia)
4.
Czy przed samym wywołaniem funkcji ds18b20_temperature(0); nie muszę wywołać jakiś opóźnień lub innych operacji?
Pozdrawiam
Edit(17:47):
w1_init zwraca mi wartość 0, i teraz nie wiem gdzie szukać problemu...
Mam podpięty ds18b20 pod atmęgę, korzystam z CodevisionAVR i mam parę pytań może te pytania pozwolą mi na znalezienie błędu w kodzie.
1. Czy taka definicja portu dla 1wire jest poprawna(w CodeVisionAVR):
// 1 Wire Bus functions
#asm
.equ __w1_port=0x07 ;PORTE
.equ __w1_bit=1
#endasmGłównie mi chodzi czy później jak się odwołam do samej funkcji
Temp = ds18b20_temperature(0);
czy w zmiennej Temp będzie temperatura zmierzona przez Ds wpięty w ten pin
2. Czy długość kabla na którym jest DS ma znaczenie?(mam 100cm kabel w ekranie)
3.
Jaką częstotliwością powinienem taktować atmege 162 aby pomiar mógł się odbyć (czy nie ma jakiegoś maximum gdzie już ds nie wyrabia)
4.
Czy przed samym wywołaniem funkcji ds18b20_temperature(0); nie muszę wywołać jakiś opóźnień lub innych operacji?
Pozdrawiam
Edit(17:47):
w1_init zwraca mi wartość 0, i teraz nie wiem gdzie szukać problemu...
