Steffus Skrevet 9. mai 2007 Del Skrevet 9. mai 2007 Er det noen som har lagd et prog for å lese dallas temp sensor (DS18B20) el? Hadde vært veldig takknemlig hvis noen hadde en enkel kode og vise det med. Trenger dette fordi jeg synes det er lettere å lære hvis jeg har noen eksempler som jeg synes er interesant å kikke på. Hilsen Nybegynner. Prøver meg forresten på vb2005 exp. Lenke til kommentar
Manfred Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 Dette må nok løses i unmanaged kode. Det er nok lettere å lage en C/C++ dll eller noe... Lenke til kommentar
Steffus Skrevet 10. mai 2007 Forfatter Del Skrevet 10. mai 2007 Trodde det skulle være mulig ref: http://www.maxim-ic.com/products/ibutton/s...re/sdk/sdks.cfm Er det mye vanskligere å lære c enn vb? Hilsen Nybegynneren Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 Trodde det skulle være muligref: http://www.maxim-ic.com/products/ibutton/s...re/sdk/sdks.cfm Er det mye vanskligere å lære c enn vb? Hilsen Nybegynneren 8582819[/snapback] Trykk på .Net linken på siden du har. Der kan du jo tilogmed laste ned eksempler i .Net.... Lenke til kommentar
Steffus Skrevet 10. mai 2007 Forfatter Del Skrevet 10. mai 2007 Har prøvd, men dette eksemplet får jeg ikke til å virke. vb er ikke helt fornøyd med linja Dim adapter Kan ikke dette eksemplet brukes i vb2005exp, eller er det en feil? Nybegynneren '------------------------------------------------------------------------- 'Copyright © 2004 Dallas Semiconductor MAXIM Corporation, All Rights Reserved. ' 'Permission is hereby granted, free of charge, to any person obtaining a 'copy of this software and associated documentation files (the "Software"), 'to deal in the Software without restriction, including without limitation 'the rights to use, copy, modify, merge, publish, distribute, sublicense, 'and/or sell copies of the Software, and to permit persons to whom the 'Software is furnished to do so, subject to the following conditions: ' 'The above copyright notice and this permission notice shall be included 'in all copies or substantial portions of the Software. ' 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 'OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 'MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 'IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES 'OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 'ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 'OTHER DEALINGS IN THE SOFTWARE. ' 'Except as contained in this notice, the name of Dallas Semiconductor MAXIM 'shall not be used except as stated in the Dallas Semiconductor MAXIM 'Branding Policy. ' Public Class Form1 Inherits System.Windows.Forms.Form Public CRLF = New String(Chr(13) & Chr(10), 0, 2) ' makes a carriage-return-linefeed string to begin a new line in a text box Dim adapter #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents ResultsTextBox As System.Windows.Forms.TextBox Friend WithEvents SearchButton As System.Windows.Forms.Button <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.SearchButton = New System.Windows.Forms.Button Me.ResultsTextBox = New System.Windows.Forms.TextBox Me.SuspendLayout() ' 'SearchButton ' Me.SearchButton.BackColor = System.Drawing.SystemColors.Control Me.SearchButton.Location = New System.Drawing.Point(336, 112) Me.SearchButton.Name = "SearchButton" Me.SearchButton.TabIndex = 0 Me.SearchButton.Text = "&Search" ' 'ResultsTextBox ' Me.ResultsTextBox.Location = New System.Drawing.Point(24, 24) Me.ResultsTextBox.Multiline = True Me.ResultsTextBox.Name = "ResultsTextBox" Me.ResultsTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical Me.ResultsTextBox.Size = New System.Drawing.Size(296, 200) Me.ResultsTextBox.TabIndex = 1 Me.ResultsTextBox.Text = "" ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(424, 266) Me.Controls.Add(Me.ResultsTextBox) Me.Controls.Add(Me.SearchButton) Me.Name = "Form1" Me.Text = "Get 1-Wire Addresses VB.NET" Me.ResumeLayout(False) End Sub #End Region Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchButton.Click Dim owd_enum As java.util.Enumeration Dim owd As com.dalsemi.onewire.container.OneWireContainer Try ' get exclusive use of 1-Wire network adapter.beginExclusive(True) ' clear any previous search restrictions adapter.setSearchAllDevices() adapter.targetAllFamilies() adapter.setSpeed(adapter.SPEED_REGULAR) ' enumerate through all the 1-Wire devices found (with Java-style enumeration) owd_enum = adapter.getAllDeviceContainers ResultsTextBox.AppendText(CRLF & "1-Wire List:" & CRLF) ResultsTextBox.AppendText("==========================" & CRLF) ' enumerate through all the 1-Wire devices found (with Java-style enumeration) ' While owd_enum.hasMoreElements() ' retrieve OneWireContainer owd = owd_enum.nextElement() ' retrieve OneWireAddress ResultsTextBox.AppendText(CRLF) ResultsTextBox.AppendText("Address = " & owd.getAddressAsString & CRLF) ResultsTextBox.AppendText("Description = " & owd.getDescription & CRLF) End While ' end exclusive use of 1-Wire net adapter adapter.endExclusive() Catch ex As Exception ResultsTextBox.AppendText(CRLF & CRLF & "Error: " & ex.ToString) End Try End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try ' get the default adapter adapter = com.dalsemi.onewire.OneWireAccessProvider.getDefaultAdapter ' initialize adapter to proper settings ' print that we got an adapter ResultsTextBox.AppendText(CRLF & "Adapter: " & adapter.getAdapterName & " Port: " & adapter.getPortName & CRLF & CRLF) Catch ex As Exception ResultsTextBox.AppendText(CRLF & CRLF & "Error: " & ex.ToString) End Try End Sub End Class Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 vb er ikke helt fornøyd med linjaDim adapter 8583127[/snapback] Og sier VB.Net hvorfor den ikke er fornøyd med linja? Lenke til kommentar
Steffus Skrevet 10. mai 2007 Forfatter Del Skrevet 10. mai 2007 Jaja det gjør den. Warning 1 Variable declaration without an 'As' clause; type of Object assumed. Samme feil på linja over forresten. (publi crlf ..... ) Så starter programmet med denne feil mld i vinduet der jeg regner med den skal liste opp enhetene den finner Error: System.TypeInitializationException: Typeinitialiseringen for com.dalsemi.onewire.OneWireAccessProvider forårsaket et unntak. ---> System.IO.FileNotFoundException: Kan ikke laste inn filen eller samlingen vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a eller en av avhengighetene. Systemet finner ikke angitt fil. Filnavn: vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ---> System.IO.FileNotFoundException: Kan ikke laste inn filen eller samlingen vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a eller en av avhengighetene. Systemet finner ikke angitt fil. Filnavn: vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a === Tilstandsinformasjon før binding=== LOG: Bruker = STEFFENPB\Steff LOG: DisplayName = vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (Fully-specified) LOG: Progbase = file:///C:/Documents and Settings/Steff/Skrivebord/dallas/dotnet_get1wire_addresses/Get1WireAddresses/bin/ LOG: Opprinnelig PrivatePath = NULL Kallende samling : OneWireAPI.NET, Version=1.0.1418.40207, Culture=neutral, PublicKeyToken=9d3abe1382c69a37. === LOG: Denne bindingen begynner i innlastingskonteksten default. LOG: Fant ingen programkonfigurasjonsfil. LOG: Bruker maskinkonfigurasjonsfil fra C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Fant omadressert versjon i "framework"-konfigurasjonen: 1.0.5000.0 omadressert til 2.0.0.0. LOG: Etter-policy-referanse: vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a LOG: Samme binding ble sett tidligere og mislyktes med hr = 0x80070002. ved com.dalsemi.onewire.OneWireAccessProvider..cctor() --- Slutten på sporingen av intern unntaksstakk --- ved com.dalsemi.onewire.OneWireAccessProvider.getDefaultAdapter() ved WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs e) i C:\Documents and Settings\Steff\Skrivebord\dallas\dotnet_get1wire_addresses\Get1WireAddresses\GetAddresses.vb:linje 144 Nybegynneren Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 Høyreklikk på funksjonen i bold på linjen, og velg go to definition (du skal også få opp en litet popup om du holder musen over): adapter = com.dalsemi.onewire.OneWireAccessProvider.getDefaultAdapter Og se hvilken type den returnerer. Så legger du til dette i linjen som feilet: Dim adapter AS typen_som_ble_returnert Lenke til kommentar
Steffus Skrevet 10. mai 2007 Forfatter Del Skrevet 10. mai 2007 Hvis jeg høyreklikker og go to definition ender jeg på adapter i Dim adapter linja. Ved å holde musa over står det Variable declaration without an 'As' clause; type of Object assumed. Nybegynneren Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 (endret) Høyreklikk på funksjonen i bold på linjen, og velg go to definition: adapter = com.dalsemi.onewire.OneWireAccessProvider.getDefaultAdapter Tror ikke jeg klarer å få ordet du skal trykke på klarer frem.... Endret 10. mai 2007 av jorn79 Lenke til kommentar
Steffus Skrevet 10. mai 2007 Forfatter Del Skrevet 10. mai 2007 Ja det var klart det Dim adapter As com.dalsemi.onewire.adapter.DSPortAdapter og ett problem mindre Tusen takk. Så neste feil? linje 117 adapter.setSpeed(adapter.SPEED_REGULAR) Warning 1 Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated. Prog starter og viser Error: System.TypeInitializationException: Typeinitialiseringen for com.dalsemi.onewire.OneWireAccessProvider forårsaket et unntak. ---> System.IO.FileNotFoundException: Kan ikke laste inn filen eller samlingen vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a eller en av avhengighetene. Systemet finner ikke angitt fil. Filnavn: vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ---> System.IO.FileNotFoundException: Kan ikke laste inn filen eller samlingen vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a eller en av avhengighetene. Systemet finner ikke angitt fil. Filnavn: vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a === Tilstandsinformasjon før binding=== LOG: Bruker = STEFFENPB\Steff LOG: DisplayName = vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (Fully-specified) LOG: Progbase = file:///C:/Documents and Settings/Steff/Skrivebord/dallas/dotnet_get1wire_addresses/Get1WireAddresses/bin/ LOG: Opprinnelig PrivatePath = NULL Kallende samling : OneWireAPI.NET, Version=1.0.1418.40207, Culture=neutral, PublicKeyToken=9d3abe1382c69a37. === LOG: Denne bindingen begynner i innlastingskonteksten default. LOG: Fant ingen programkonfigurasjonsfil. LOG: Bruker maskinkonfigurasjonsfil fra C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Fant omadressert versjon i "framework"-konfigurasjonen: 1.0.5000.0 omadressert til 2.0.0.0. LOG: Etter-policy-referanse: vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a LOG: Samme binding ble sett tidligere og mislyktes med hr = 0x80070002. ved com.dalsemi.onewire.OneWireAccessProvider..cctor() --- Slutten på sporingen av intern unntaksstakk --- ved com.dalsemi.onewire.OneWireAccessProvider.getDefaultAdapter() ved WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs e) i C:\Documents and Settings\Steff\Skrivebord\dallas\dotnet_get1wire_addresses\Get1WireAddresses\GetAddresses.vb:linje 145 Nybegynneren. Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 Prøv å bytte ut denne linjen: adapter.setSpeed(adapter.SPEED_REGULAR) med dette: adapter.setSpeed(com.dalsemi.onewire.adapter.DSPortAdapter.SPEED_REGULAR) Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 Btw; Hvis du skal programmere mye så er det veldig anbefalt å bruke ENGELSK operativsystem. Feilmeldingene er veldig ofte dårlig oversatt. Dessuten er det håpløst å søke på google etter de norske feilmeldingene. Lenke til kommentar
Steffus Skrevet 10. mai 2007 Forfatter Del Skrevet 10. mai 2007 Genialt igjen Ingen feilmld under debugg nå. Kun i vindu til prog Noen gode råd igjen? Error: System.TypeInitializationException: Typeinitialiseringen for com.dalsemi.onewire.OneWireAccessProvider forårsaket et unntak. ---> System.IO.FileNotFoundException: Kan ikke laste inn filen eller samlingen vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a eller en av avhengighetene. Systemet finner ikke angitt fil. Filnavn: vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ---> System.IO.FileNotFoundException: Kan ikke laste inn filen eller samlingen vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a eller en av avhengighetene. Systemet finner ikke angitt fil. Filnavn: vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a === Tilstandsinformasjon før binding=== LOG: Bruker = STEFFENPB\Steff LOG: DisplayName = vjslib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (Fully-specified) LOG: Progbase = file:///C:/Documents and Settings/Steff/Skrivebord/dallas/dotnet_get1wire_addresses/Get1WireAddresses/bin/ LOG: Opprinnelig PrivatePath = NULL Kallende samling : OneWireAPI.NET, Version=1.0.1418.40207, Culture=neutral, PublicKeyToken=9d3abe1382c69a37. === LOG: Denne bindingen begynner i innlastingskonteksten default. LOG: Fant ingen programkonfigurasjonsfil. LOG: Bruker maskinkonfigurasjonsfil fra C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Fant omadressert versjon i "framework"-konfigurasjonen: 1.0.5000.0 omadressert til 2.0.0.0. LOG: Etter-policy-referanse: vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a LOG: Samme binding ble sett tidligere og mislyktes med hr = 0x80070002. ved com.dalsemi.onewire.OneWireAccessProvider..cctor() --- Slutten på sporingen av intern unntaksstakk --- ved com.dalsemi.onewire.OneWireAccessProvider.getDefaultAdapter() ved WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs e) i C:\Documents and Settings\Steff\Skrivebord\dallas\dotnet_get1wire_addresses\Get1WireAddresses\GetAddresses.vb:linje 147 Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 Installer denne: http://www.microsoft.com/downloads/details...&displaylang=en Lenke til kommentar
Steffus Skrevet 10. mai 2007 Forfatter Del Skrevet 10. mai 2007 Ja litt sløvt av meg å ikke se det. Må jeg den fordi DLLen er bygd på j# ? Men hadde den før jeg leste svaret ditt. (Og litt stolt av det) Tusen takk igjen for god hjelp. Nå virker det. Så er det bare å begynne å kikke litt mer på koden og prøve å endre litt på ting for å lære mer. Nybegynneren Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 Ikke se på den koden for å lære mer. Søppelkode... Lenke til kommentar
Steffus Skrevet 10. mai 2007 Forfatter Del Skrevet 10. mai 2007 Ok Noen gode forslag? Har lyst til å lære mer om å styre/lese Dallas 1wire devices, som temp sensor og switcher ++ Nybegynneren Lenke til kommentar
j000rn Skrevet 10. mai 2007 Del Skrevet 10. mai 2007 Ok Noen gode forslag? Har lyst til å lære mer om å styre/lese Dallas 1wire devices, som temp sensor og switcher ++ Nybegynneren 8584174[/snapback] Hvordan du bruker den kan du jo lære derfra. Bare husk at koden ikke er noe bra skrevet. Når du lærer deg VB.Net godt, vil du se det Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå