資源簡(jiǎn)介
這是一個(gè)C#硬件編程的源碼,很好,大家可以收藏一下。供初學(xué)者.

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Runtime.InteropServices;
namespace?Ex13_11
{
????public?struct?TC_INI_TYPE
????{
????????public?short?wCardNo;?//卡的總數(shù)
????????public?short?wCardType;?//卡的類(lèi)型
????????public?short?wConnect;?//卡之間是否連通
????????public?short?wIRQ;?//中斷號(hào)
????????[MarshalAs(UnmanagedType.ByValArray?SizeConst?=?32)]
????????public?char[]?cbDir;?//安裝目錄
????????[MarshalAs(UnmanagedType.ByValArray?SizeConst?=?32)]
????????public?short[]?wAddress;//每塊卡的地址
????????public?short?wMajorVer;?//軟件主版本號(hào)?
????????public?short?wMinorVer;?//軟件輔版本號(hào)
????????[MarshalAs(UnmanagedType.ByValArray?SizeConst?=?32)]
????????public?short[]?wChType;?//每個(gè)通道的類(lèi)型
????}
????public?struct?TC_INI_TYPE_MORE
????{
????}
????[StructLayout(LayoutKind.Sequential)]
????unsafe?class?DJ160API
????{
????????private?DJ160API()?{?}
????????public?const?short?MAX_CHANNEL_NO?=?128;
????????public?const?short?LEN_FILEPATH?=?128;
????????public?const?short?MAX_CARD_NO?=?32;
????????#region??初始化函數(shù);
????????///??
????????///??初始化函數(shù),初始化設(shè)備驅(qū)動(dòng)程序
????????///??返回值:
????????///??0表示成功;
????????///??-1表示打開(kāi)設(shè)備驅(qū)動(dòng)程序錯(cuò)誤;
????????///??-2表示讀取TC08A-V.INI文件時(shí),發(fā)生錯(cuò)誤;
????????///??-3表示INI文件的設(shè)置與實(shí)際硬件不一致時(shí),發(fā)生錯(cuò)誤
????????///??
????????///??long
????????[DllImport(“Tc08a32.dll“?CharSet?=?CharSet.Auto)]
????????public?static?extern?long?LoadDRV();
????????///??
????????///??關(guān)閉驅(qū)動(dòng)程序
????????///??
????????[DllImport(“Tc08a32.dll“?CharSet?=?CharSet.Auto)]
????????public?static?extern?void?FreeDRV();
????????///??
????????///???初始化語(yǔ)音卡硬件,并為每個(gè)通道分配語(yǔ)音緩沖區(qū)。
????????///???wusedCh可以用函數(shù)CheckValidCh來(lái)獲得;
????????///???在調(diào)用本函數(shù)的時(shí)候,將為每路分配wFileBufLen大小的語(yǔ)音緩沖區(qū),共計(jì)wusedCh*wFileBufLen,若申請(qǐng)不到,則返回-2。
????????///???buffer必須為1024的整數(shù)倍。
????????///???返回值:
????????///???0表示成功;
????????///???-1表示LoadDRV沒(méi)有成功,造成本函數(shù)調(diào)用失敗;
????????///???-2表示分別分配緩沖區(qū)失敗;
????????///???列:EnableCard(81024*16)將會(huì)申請(qǐng)1024K的內(nèi)存
????????///??
????????///??工作的通道總數(shù)
????????///??驅(qū)動(dòng)種為每通道分配的語(yǔ)音內(nèi)存大小
????????///??
????????[DllImport(“Tc08a32.dll“?CharSet?=?CharSet.Auto)]
????????public?static?extern?long?EnableCard(short?wusedCh?short?wFileBufLen);
????????///??
????????///???關(guān)閉語(yǔ)音卡的硬件釋放緩沖區(qū),程序結(jié)束(包括正常和不正常退出)時(shí)需要調(diào)用此函數(shù)
????????///??
????????[DllImport(“Tc08a32.dll“?CharSet?=?CharSet.Auto)]
????????public?static?extern?void?DisableCard();
????????[DllImport(“Tc08a32.dll“?CharSet?=?CharSet.Auto)]
????????public?static?extern?void?GetSysInfo(ref??TC_INI_TYPE?TmpIni);
????????[DllImport(“Tc08a32.dll“?CharSet?=?CharSet.Auto)]
????????public?static?extern?void?GetSysInfoMore(ref??TC_INI_TYPE_MORE?TmpMore);
????????///??
????????///??檢測(cè)在當(dāng)前機(jī)器內(nèi)可用的通道總數(shù)。
????????///??返回值:
????????///??棕的可用通道數(shù)
????????///??
????????///??
????????[DllImport(“Tc08a
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件??????28672??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\bin\Debug\Ex13_11.exe
?????文件??????30208??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\bin\Debug\Ex13_11.pdb
?????文件???????5632??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\bin\Debug\Ex13_11.vshost.exe
?????文件??????69632??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\bin\Debug\newsig.dll
?????文件?????294912??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\bin\Debug\tc08a32.dll
?????文件??????26345??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\D161A.cs
?????文件???????3306??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Ex23_01.csproj
?????文件???????2560??2008-07-10?21:24??C#硬件編程\Ex23_01\Ex23_01\Ex23_01.suo
?????文件???????3312??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Form1.cs
?????文件???????7544??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Form1.Designer.cs
?????文件???????6744??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Form1.resx
?????文件????????842??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\obj\Debug\Ex13_11.csproj.GenerateResource.Cache
?????文件??????28672??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\obj\Debug\Ex13_11.exe
?????文件????????180??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\obj\Debug\Ex13_11.Form1.resources
?????文件??????30208??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\obj\Debug\Ex13_11.pdb
?????文件????????180??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\obj\Debug\Ex13_11.Properties.Resources.resources
?????文件????????842??2008-07-10?21:24??C#硬件編程\Ex23_01\Ex23_01\obj\Debug\Ex23_01.csproj.GenerateResource.Cache
?????文件????????268??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\obj\Ex13_11.csproj.FileList.txt
?????文件????????268??2008-07-10?21:24??C#硬件編程\Ex23_01\Ex23_01\obj\Ex23_01.csproj.FileList.txt
?????文件????????466??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Program.cs
?????文件???????1162??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Properties\AssemblyInfo.cs
?????文件???????2868??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Properties\Resources.Designer.cs
?????文件???????5612??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Properties\Resources.resx
?????文件???????1090??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Properties\Settings.Designer.cs
?????文件????????249??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01\Properties\Settings.settings
?????文件????????910??2007-08-21?15:08??C#硬件編程\Ex23_01\Ex23_01.sln
????..A..H.?????14848??2009-04-12?06:25??C#硬件編程\Ex23_01\Ex23_01.suo
?????文件??????28672??2007-08-21?15:08??C#硬件編程\Ex23_02\Ex13_12\bin\Debug\Ex13_12.exe
?????文件??????26112??2007-08-21?15:08??C#硬件編程\Ex23_02\Ex13_12\bin\Debug\Ex13_12.pdb
?????文件???????5632??2007-08-21?15:08??C#硬件編程\Ex23_02\Ex13_12\bin\Debug\Ex13_12.vshost.exe
............此處省略546個(gè)文件信息
評(píng)論
共有 條評(píng)論