Voici mon problème: lors de la compilation, je n'est pas d'erreur, mais quand je lance le débugueur, l'application se lance, puis se refermer, avec ce message d'erreur:
Une exception non gérée du type 'System.NullReferenceException' s'est produite dans testTemp.exe
Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.
Voici mon code:
#pragma
once
#include
"stdafx.h"
#include
"DS18B20.h"
using
namespace
com::dalsemi::onewire::adapter;
using
namespace
System;
int
main(
void
){
// ****** Déclaration des Variables *****
const
int
DS18B20_FAMILY = 0x28;
OneWireContainer28 ^container;
// ^container = ^tc
DSPortAdapter ^testCapteur;
// ^testCapteur = ^adapteur
cli::
array
<
signed
char
> ^state;
String ^id;
try
{
container = gcnew OneWireContainer28;
testCapteur = OneWireAccessProvider::getDefaultAdapter();
}
catch
(Exception ^e){
if
( !testCapteur )
Console::WriteLine(
"Capteur non détécté !"
);
}
testCapteur->targetFamily(DS18B20_FAMILY);
// recherche d'un capteur DS18B20
testCapteur->beginExclusive(
true
);
// accès exclusif
testCapteur->reset();
testCapteur->setSearchAllDevices();
try
{
testCapteur->findFirstDevice();
if
( !testCapteur )
throw
gcnew
Exception();
}
catch
(Exception ^e){
Console::WriteLine(
"Aucun peripherique DS18B20 1-Wire !"
);
testCapteur->endExclusive();
}
container = (OneWireContainer28 ^)testCapteur->getDeviceContainer(id);
testCapteur->endExclusive();
state = container->readDevice();
container->doTemperatureConvert(state);
// le capteur fait une acquisition
state = container->readDevice();
// lecture du resultat
container->getTemperature(state);
Console::Write(
"La température acquise est : "
);
Console::WriteLine(container);
}
Cette application consiste à relever la valeur d'une température acquise par un capteur, via un réseau 1-Wire. Merci