Stap 3: PC-Software en Embedded Software
Adressen van de drie registers die gedigitaliseerde signalen bevatten zijn
An1 3C2h 962
An4 3C8h 968
AN5 3CAh 970
Hier is deel van Firmware code:
Beschrijving: Initialisatie van een AD-converter op AN1 adcon0 = 0x09; / * sw trigger, herhaalmodus, AN1 * / / / / dit IS toegevoegd door ABOHMEED FOR AN4
*****************************************************************************/
VOID InitAD (void)
{
adcon0 = 0x09; / * sw trigger, herhaalmodus, AN1 * / / / THIS IS originele voor cd's
adcon1 = 0x20; / * vref verbonden, 8-bit modus * /
adcon2 = 0x01; / * P10 groep, proef en houd * /
adcon1 = 0x20; / * vref verbonden, 8-bit modus * /
adcon2 = 0x01; / * P10 groep, proef en houd * /
ADST = 1; / * start conversie * /
}
Software:
De host-PC loopt een uitdrukkelijke VB-programma dat van de genoemde adressen van de selectie van de gebruiker van de gewenste invoerpoort leest en verwerkt deze invoergegevens naar een virtuele oscilloscoop klasse die het signaal in real-time trekt.
De gebruiker selecteert het invoerkanaal door een radio-vak. Het resultaat is het analoog-naar-digitaal control register 0 (adcon0 adres 982) met één van een drie ingangen volgens de gewenste invoerpoort laden:
An1 49h
An4 4 kanaals
AN5 4Dh
Van de PC-gebaseerde client, kan de gebruiker kiezen het invoerkanaal worden weergegeven op de virtuele oscilloscoop en het tarief waartegen deze wordt weergegeven.
Hier is deel van Visual Basic.net code (die op de PC)
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) verwerkt Button2.Click Als Button2.Text = "Run" Then Dim D1(2) As Double ScopeStarted = True D1(0) = 0 '''''''''''''''''''''''''''''''''''''''''''' HTS. GetMemory2 (lBegin, lenen, lDisplayWidth, vMemData) outValue = vMemData.GetValue(0) D1(0) = outValue * 0.01953125 TextBox1.Text = outValue '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Voor i = 0 tot 10000 stap 1 ' Bel ExternalNext (scopehandle, Db) Volgende ik Lus tot (niet ScopeStarted) Anders
Button2.Text = "Stop"
Button1.Enabled = False
Button4.Enabled = False
' Dim Db als Double
Dim i As Integer
Doen
TextBox2.Text = D1(0)
Oproep ShowNext (scopehandle, D1(0))
Button2.Text = "Looppas"
Button1.Enabled = True
Button4.Enabled = True
ScopeStarted = False
End If
End Sub