函数版权符号怎么打

版权符号怎么打  时间:2021-04-04  阅读:()
0101关于本手册本手册为阿尔泰科技推出的USB2892同步采集卡驱动程序使用手册,其中包括版权信息与命名约定、使用纲要、各功能操作流程介绍、USB设备操作函数接口介绍、上层用户函数接口应用实例、共用函数介绍、修改历史等.
文档版本:V6.
00.
0202目录关于本手册.
11版权信息与命名约定.
31.
1版权信息.
31.
2命名约定.
32使用纲要.
42.
1使用上层用户函数,高效、简单42.
2如何实现AD采集的简便操作43各功能操作流程介绍.
53.
1AD模拟量输入操作流程54USB设备操作函数接口介绍.
64.
1设备驱动接口函数总列表.
74.
2设备对象管理函数原型说明.
84.
3AD数据读取函数原型说明114.
4AD硬件参数操作函数原型说明145上层用户函数接口应用实例.
155.
1简易程序演示说明.
155.
1.
1怎样进行AD数据采集操作155.
2高级程序演示说明.
156共用函数介绍.
166.
1公用接口函数总列表.
166.
2操作函数原型说明.
167修改历史.
18031版权信息与命名约定1.
1版权信息本软件产品及相关套件均属北京阿尔泰科技发展有限公司所有,其产权受国家法律绝对保护,除非本公司书面允许,其他公司、单位、我公司授权的代理商及个人不得非法使用和拷贝,否则将受到国家法律的严厉制裁.
您若需要我公司产品及相关信息请及时与当地代理商联系或直接与我们联系,我们将热情接待.
1.
2命名约定为简化文字内容,突出重点,本文中提到的函数名通常为基本功能名部分,其前缀设备名如USBxxxx_则被省略.
如USB2892_CreateDevice则写为CreateDevice.
表1-2-1:函数名及参数中各种关键字缩写缩写全称汉语意思缩写全称汉语意思DevDevice设备DIDigitalInput数字量输入ProProgram程序DODigitalOutput数字量输出IntInterrupt中断CNTCounter计数器DmaDirectMemoryAccess直接内存存取DADigitalconverttoAnalog数模转换ADAnalogconverttoDigital模数转换DIDifferential(双端或差分)注:在常量选项中NptNotEmpty非空SESingleend单端ParaParameter参数DIRDirection方向SRCSource源ATRAnalogTrigger模拟量触发TRIGTrigger触发DTRDigitalTrigger数字量触发CLKClock时钟CurCurrent当前的GNDGround地OPTOperate操作LgcLogical逻辑的IDIdentifier标识PhysPhysical物理的以上规则不局限于该产品.
042使用纲要2.
1使用上层用户函数,高效、简单如果您只关心通道及频率等基本参数,而不必了解复杂的硬件知识和控制细节,那么我们强烈建议您使用上层用户函数,它们就是几个简单的形如Win32API的函数,具有相当的灵活性、可靠性和高效性.
而底层用户则是需了解硬件知识和控制细节、且又需要特殊复杂控制的用户.
但不管怎样,我们强烈建议您使用上层函数(在这些函数中,您见不到任何设备地址、寄存器端口、中断号等物理信息,其复杂的控制细节完全封装在上层用户函数中.
)对于上层用户函数的使用,您基本上不必参考硬件说明书,除非您需要知道板上D型插座等管脚分配情况.
2.
2如何实现AD采集的简便操作由于我们的驱动程序采用面向对象编程,所以要使用设备的一切功能,则必须首先用CreateDevice函数创建一个设备对象句柄hDevice,有了这个句柄,您就拥有了对该设备的绝对控制权.
然后将此句柄作为参数传递给相应的驱动函数.
ADCalibration函数可以使用hDevice句柄实现AD自动校准,InitDeviceAD函数可以使用hDevice句柄初始化设备的AD部件,StartDeviceAD函数可以用hDevice句柄实现对AD设备的启动,SetDeviceTrigAD函数可以用hDevice句柄产生软件触发事件,GetDevStatusAD函数可以用hDevice句柄获取AD采集状态,GetSDRAMSize函数可以用hDevice句柄获取板载DDR2的大小,ReadDeviceAD函数可以用hDevice句柄实现对AD数据的采样读取,StopDeviceAD函数可以用hDevice句柄实现暂停设备,ReadDeviceAD函数可以用hDevice句柄读取设备上的AD数据,ReleaseDeviceAD函数可以用hDevice句柄实现停止AD采集.
最后可以通过ReleaseDevice将hDevice释放掉.
具体流程请参考《各功能操作流程介绍》章节.
053各功能操作流程介绍3.
1AD模拟量输入操作流程064USB设备操作函数接口介绍由于我公司的设备应用于各种不同的领域,有些用户可能根本不关心硬件设备的控制细节,只关心首末通道、采样频率等,然后就能通过一两个简易的采集函数便能轻松得到所需要的数据.
这方面的用户我们称之为上层用户.
那么还有一部分用户不仅对硬件控制熟悉,而且由于应用对象的特殊要求,则要直接控制设备的每一个端口,这是一种复杂的工作,但又是必须的工作,我们则把这一群用户称之为底层用户.
因此总的看来,上层用户要求简单、快捷,他们最希望在软件操作上所要面对的全是他们最关心的问题,而关于设备的物理地址、端口分配及功能定义等复杂的硬件信息则与上层用户无任何关系.
那么对于底层用户则不然.
他们不仅要关心设备的物理地址,还要关心虚拟地址、端口寄存器的功能分配,甚至每个端口的Bit位都要了如指掌,看起来这是一项相当复杂、繁琐的工作.
但是这些底层用户一旦使用我们提供的技术支持,则不仅可以让您不必熟悉USB总线复杂的控制协议,同是还可以省掉您许多繁琐的工作.
综上所述,用户使用我公司提供的驱动程序软件包将极大的方便和满足您的各种需求.
但为了您更省心,别忘了在您正式阅读下面的函数说明时,先明白自己是上层用户还是底层用户,因为在《设备驱动接口函数总列表》中的备注栏里明确注明了适用对象.
另外需要申明的是,在本章和下一章中列明的关于LabView的接口,均属于外挂式驱动接口,他是通过LabView的CallLabraryFunction功能模板实现的.
它的特点是除了自身的语法略有不同以外,每一个基于LabView的驱动图标与VisualC++等语言中每个驱动函数是一一对应的,其调用流程和功能是完全相同的.
那么相对于外挂式驱动接口的另一种方式是内嵌式驱动.
这种驱动是完全作为LabView编程环境中的紧密耦合的一部分,它可以直接从LabView的Functions模板中取得,如下图所示.
此种方式更适合上层用户的需要,它的最大特点是方便、快捷、简单,而且可以取得它的在线帮助.
关于LabView的外挂式驱动和内嵌式驱动更详细的叙述,请参考LabView的相关演示.
LabView内嵌式驱动接口的获取方法074.
1设备驱动接口函数总列表表4-1-1:驱动接口函数总列表(每个函数省略了前缀"USB2892_")函数名函数功能备注①设备对象管理函数CreateDevice创建设备对象上层及底层用户CreateDeviceEx创建设备对象上层及底层用户SetDevicePhysID设置当前设备的物理ID号上层及底层用户GetDeviceCurrentID取得当前设备的逻辑ID号和物理ID号上层及底层用户ResetDevice复位整个USB设备上层及底层用户ReleaseDevice设备句柄上层及底层用户②AD数据读取函数ADCalibrationAD自动校准函数上层用户InitDeviceAD初始化设备上层用户StartDeviceAD启动设备上层用户SetDeviceTrigAD产生软件触发事件上层用户GetDevStatusAD获取AD采集状态上层用户GetSDRAMSize返回板载DDR2大小上层用户StopDeviceAD暂停设备上层用户ReadDeviceAD读取设备上的AD数据上层用户ReleaseDeviceAD停止AD采集,释放AD对象所占资源上层用户③AD硬件参数操作函数SaveParaAD将当前的AD采样参数保存至系统中上层用户LoadParaAD将AD采样参数从系统中读出上层用户ResetParaAD将AD采样参数恢复至出厂默认值上层用户使用需知:VisualC++:①要使用如下函数关键的问题是必须在您的源程序中包含如下语句:#include"C:\Art\USB2892\INCLUDE\USB2892.
H"(采用默认路径和默认板号),用户需根据自己的板号和安装情况确定USB2892.
H文件的正确路径.
②用户也可以把此文件拷到您的源程序目录中,然后加入如下语句:#include"USB2892.
H"08LabVIEW/CVI:LabVIEW是美国国家仪器公司(NationalInstrument)推出的一种基于图形开发、调试和运行程序的集成化环境,是目前国际上唯一的编译型的图形化编程语言.
在以PC机为基础的测量和工控软件中,LabVIEW的市场普及率仅次于C++/C语言.
LabVIEW开发环境具有一系列优点,从其流程图式的编程、不需预先编译就存在的语法检查、调试过程使用的数据探针,到其丰富的函数功能、数值分析、信号处理和设备驱动等功能,都令人称道.
关于LabView/CVI的进一步介绍请见本文最后一部分关于LabView的专述.
其驱动程序接口单元模块的使用方法如下:(1)、在LabView中打开USB2892.
VI文件,用鼠标单击接口单元图标,比如CreateDevice图标然后按Ctrl+C或选择LabView菜单Edit中的Copy命令,接着进入用户的应用程序LabView中,按Ctrl+V或选择LabView菜单Edit中的Paste命令,即可将接口单元加入到用户工程中,然后按以下函数原型说明或演示程序的说明连接该接口模块即可顺利使用.
(2)、根据LabView语言本身的规定,接口单元图标以黑色的较粗的中间线为中心,以左边的方格为数据输入端,右边的方格为数据的输出端,设备对象句柄、用户分配的数据缓冲区、要求采集的数据长度等信息从接口单元左边输入端进入单元,待单元接口被执行后,需要返回给用户的数据从接口单元右边的输出端输出,其他接口完全同理.
(3)、在单元接口图标中,凡标有"I32"为有符号长整型32位数据类型,"U16"为无符号短整型16位数据类型,"[U16]"为无符号16位短整型数组或缓冲区或指针,"[U32]"与"[U16]"同理,只是位数不一样.
4.
2设备对象管理函数原型说明创建设备对象函数原型:VisualC++:HANDLECreateDevice(intDeviceLgcID=0);//创建设备对象(该函数使用系统内逻辑设备ID)LabVIEW:功能:该函数使用逻辑号创建设备对象,并返回其设备对象句柄hDevice.
只有成功获取hDevice,您才能实现对该设备所有功能的访问.
参数:DDeevviicceeLLggccIIDD设备ID(Identifier)标识号.
当向同一个Windows系统中加入若干相同类型的设备时,系统将以该设备的"基本名称"与DeviceLgcID标识值为名称后缀的标识符来确认和管理该设备.
默认值为0.
返回值:如果执行成功,则返回设备对象句柄;如果没有成功,则返回错误码.
相关函数:CreateDeviceReleaseDevice创建设备对象函数原型:VisualC++:HANDLECreateDeviceEx(LONGDevicePhysID);//创建设备对象(该函数使用物理ID最大255)09LabVIEW:功能:该函数使用物理ID号创建设备对象,并返回其设备对象句柄hDevice.
只有成功获取hDevice,您才能实现对该设备所有功能的访问.
参数:DDeevviicceePPhhyyssIIDD物理设备ID(PhysicDeviceIdentifier)标识号.
逻辑ID号是系统动态自动分配的,即某个已定功能的卡可能在设备链中的位置是不确定的,而在很多场合这可能带来诸多麻烦.
比如咱们使用多个卡,如A、B、C、D四个卡,构成128个通道(32*4),其通道序列为0-127,每个通道接入不同物理意义的模拟信号,我们要求A卡位于0-31通道上,B卡位于32-63通道上,C卡位于64-95通道上,而D卡则位于96-127通道上,而其逻辑设备ID号在同一台计算机上按不同顺序插入会发生变化,即便在不同计算机上按相同顺序插入也可能会因主板制造商的不同定义而发生变化,所以您可能由此无法确定0-127的通道分别接入了什么信号.
那么如何将各个设备在设备链中的物理位置固定下来呢物理设备ID的使用可以帮您解决这个问题.
它是在卡上提供了一个拔码器DID1,可以由用户为各个设备手动设置不同的物理ID号,当调用CreateDeviceEx函数时,只需要指定该参数的值与您在拔码器上设定的值一样即可,驱动程序会自动跟踪拔码器值与此相等的设备.
它的取值范围通常在[0,255]之间.
返回值:如果执行成功,则返回设备对象句柄;如果没有成功,则返回错误码.
相关函数:CreateDeviceExReleaseDevice设置当前设备的物理ID函数原型:VisualC++:BOOLSetDevicePhysID(HANDLEhDevice,LONGDevicePhysID);//设置当前设备的物理ID号LabVIEW:请参考相关演示程序.
功能:设置当前设备的物理ID号.
参数:hhDDeevviiccee设备对象句柄,它指向要取得逻辑和物理号的设备,它应由CreateDevice创建.
DDeevviicceePPhhyyssIIDD物理设备ID.
返回值:如果初始化设备对象成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDeviceSetDevicePhysIDGetDeviceCurrentIDReleaseDevice取得当前设备的逻辑ID和物理ID函数原型:VisualC++:BOOLGetDeviceCurrentID(HANDLEhDevice,//取得当前设备的逻辑ID号和物理ID号PLONGDeviceLgcID,PLONGDevicePhysID);LabVIEW:请参考相关演示程序.
10功能:取得指定设备当前逻辑ID和物理ID号.
参数:hhDDeevviiccee设备对象句柄,它指向要取得逻辑和物理号的设备,它应由CreateDevice创建.
DDeevviicceeLLggccIIDD返回设备的逻辑ID.
DDeevviicceePPhhyyssIIDD物理设备ID.
返回值:如果初始化设备对象成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDeviceGetDeviceCurrentIDReleaseDevice复位整个USB设备函数原型:VisualC++:BOOLResetDevice(HANDLEhDevice);//复位整个USB设备LabVIEW:请参考相关演示程序.
功能:复位整个USB设备.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDeviceReleaseDevice释放设备对象所占的系统资源及设备对象函数原型:VisualC++:BOOLReleaseDevice(HANDLEhDevice);//设备句柄LabVIEW:功能:释放设备对象所占用的系统资源及设备对象自身.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDeviceReleaseDeviceCreateDevice函数必须和ReleaseDevice函数一一对应.
即当您执行了一次CreateDevice后,再执行这些函数前,必须先执行一次ReleaseDevice函数,以释放由CreateDevice占用的系统软硬件资源,如系统内存等.
只有这样,当您再次调用CreateDevice函数时,那些软硬件资源才可被再次使用.
114.
3AD数据读取函数原型说明AD自动校准函数函数原型:VisualC++:BOOLADCalibration(//AD自动校准函数HANDLEhDevice);//设备对象句柄,它由CreateDevice函数创建LabVIEW:请参考相关演示程序.
功能:AD自动校准.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice初始化设备函数原型:VisualC++:BOOLInitDeviceAD(//初始化设备,返回TRUE,设备即刻开始传输.
HANDLEhDevice,//设备句柄,由CreateDevice函数创建PUSB2892_PARA_ADpADPara);//硬件参数,仅在此函数中决定硬件状态LabVIEW:请参考相关演示程序.
功能:初始化设备.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice启动设备函数原型:VisualC++:BOOLStartDeviceAD(//在初始化之后,启动设备HANDLEhDevice);//设备对象句柄LabVIEW:请参考相关演示程序.
功能:启动设备.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice12产生软件触发事件函数原型:VisualC++:BOOLSetDeviceTrigAD(//当设备使能允许后,产生软件触发事件(只有触发源为软件触发时有效)HANDLEhDevice);//设备对象句柄LabVIEW:请参考相关演示程序.
功能:产生软件触发事件.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice获取AD采集状态函数原型:VisualC++:BOOLGetDevStatusAD(//获取AD采集状态HANDLEhDevice,//设备句柄PUSB2892_STATUS_ADpADStatus);//AD状态LabVIEW:请参考相关演示程序.
功能:获取AD采集状态.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice返回板载DDR2大小函数原型:VisualC++:ULONGGetSDRAMSize(//返回板载DDR2大小,单位为MbHANDLEhDevice);//设备句柄LabVIEW:请参考相关演示程序.
功能:返回板载DDR2大小.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice13暂停设备函数原型:VisualC++:BOOLStopDeviceAD(//在启动设备之后,暂停设备HANDLEhDevice);//设备对象句柄LabVIEW:请参考相关演示程序.
功能:暂停设备.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice读取设备上的AD数据函数原型:VisualC++:BOOLReadDeviceAD(//初始化设备后,即可用此函数读取设备上的AD数据HANDLEhDevice,//设备句柄,它应由CreateDevice函数创建USHORTADBuffer[],//将用于接受数据的用户缓冲区LONGnReadSizeWords,//读取AD数据的长度(字)PLONGnRetSizeWords=NULL);//实际返回数据的长度(字)LabVIEW:请参考相关演示程序.
功能:读取设备上的AD数据.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice停止AD采集,释放AD对象所占资源函数原型:VisualC++:BOOLReleaseDeviceAD(HANDLEhDevice);//停止AD采集,释放AD对象所占资源LabVIEW:请参考相关演示程序.
功能:停止AD采集,释放AD对象所占资源.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice144.
4AD硬件参数操作函数原型说明将当前的AD采样参数保存至系统中函数原型:VisualC++:BOOLSaveParaAD(HANDLEhDevice,//将当前的AD采样参数保存至系统中PUSB2892_PARA_ADpADPara);LabVIEW:请参考相关演示程序.
功能:将当前的AD采样参数保存至系统中.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice将AD采样参数从系统中读出函数原型:VisualC++:BOOLLoadParaAD(HANDLEhDevice,//将AD采样参数从系统中读出PUSB2892_PARA_ADpADPara);LabVIEW:请参考相关演示程序.
功能:将AD采样参数从系统中读出.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice将AD采样参数恢复至出厂默认值VisualC++:BOOLResetParaAD(//将AD采样参数恢复至出厂默认值HANDLEhDevice,PUSB2892_PARA_ADpADPara);LabVIEW:请参考相关演示程序.
功能:将AD采样参数恢复至出厂默认值.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
返回值:若成功,则返回TRUE,否则返回FALSE.
相关函数:CreateDevice155上层用户函数接口应用实例如果您想快速的了解驱动程序的使用方法和调用流程,以最短的时间建立自己的应用程序,那么我们强烈建议您参考相应的简易程序.
此种程序属于工程级代码,可以直接打开不用作任何配置和代码修改即可编译通过,运行编译链接后的可执行程序,即可看到预期效果.
如果您想了解硬件的整体性能、精度、采样连续性等指标以及波形显示、数据存盘与分析、历史数据回放等功能,那么请参考高级演示程序.
特别是许多不愿意编写任何程序代码的用户,您可以使用高级程序进行采集、显示、存盘等功能来满足您的要求.
甚至可以用我们提供的专用转换程序将高级程序采集的存盘文件转换成相应格式,即可在Excel、MatLab第三方软件中分析数据(此类用户请最好选用通过VisualC++制作的高级演示系统).
5.
1简易程序演示说明5.
1.
1怎样进行AD数据采集操作其详细应用实例及正确代码请参考VisualC++简易演示系统及源程序,您先点击Windows系统的[开始]菜单,再按下列顺序点击,即可打开基于VC的Sys工程(主要参考USB2892.
h和Sys.
cpp).
[程序][阿尔泰测控演示系统][USB2892同步采集卡][MicrosoftVS2005C++][简易代码演示][AD简易源程序]其默认存放路径为:系统盘\ART\USB2892\SAMPLES\VC\SIMPLE\AD5.
2高级程序演示说明高级程序演示了本设备的所有功能,您先点击Windows系统的[开始]菜单,再按下列顺序点击,即可打开基于VC的Sys工程(主要参考USB2892.
h和Sys.
cpp).
[程序][阿尔泰测控演示系统][USB2892同步采集卡][MicrosoftVS2005C++][演示源程序]其默认存放路径为:系统盘\ART\USB2892\SAMPLES\VC\ADVANCED其他语言的演示可以用上面类似的方法找到.
166共用函数介绍这部分函数不参与本设备的实际操作,它只是为您编写数据采集与处理程序时的有力手段,使您编写应用程序更容易,使您的应用程序更高效.
6.
1公用接口函数总列表表6-1-1:公用接口函数总列表(每个函数省略了前缀"USB2892_")函数名函数功能备注GetDevVersion获取设备固件及程序版本底层用户CreateSystemEvent创建系统内核事件对象用于线程同步或中断ReleaseSystemEvent释放系统内核事件对象6.
2操作函数原型说明获取设备固件及程序版本函数原型:VisualC++:BOOLGetDevVersion(//获取设备固件及程序版本HANDLEhDevice,//设备对象句柄,它由CreateDevice函数创建PULONGpulFmwVersion,//固件版本PULONGpulDriverVersion);//驱动版本LabVIEW:请参考相关演示程序.
功能:获取设备固件及程序版本.
参数:hhDDeevviiccee设备对象句柄,它应由CreateDevice创建.
ppuullFFmmwwVVeerrssiioonn固件版本.
ppuullDDrriivveerrVVeerrssiioonn驱动版本.
返回值:若成功,返回TRUE,否则返回FALSE.
相关函数:CreateDeviceGetDevVersionReleaseDevice创建内核系统事件函数原型:VisualC++:HANDLECreateSystemEvent(void);//创建内核系统事件对象LabVIEW:功能:创建系统内核事件对象.
参数:无任何参数.
返回值:若成功,返回系统内核事件对象句柄,否则返回-1(或INVALID_HANDLE_VALUE).
17释放内核系统事件函数原型:VisualC++:BOOLReleaseSystemEvent(HANDLEhEvent);//释放内核事件对象LabVIEW:请参见相关演示程序.
功能:释放系统内核事件对象.
参数:hEvent被释放的内核事件对象.
它应由ReleaseSystemEvent成功创建的对象.
返回值:若成功,则返回TRUE.
187修改历史修改时间版本号修改内容2015.
9.
10V6.
01.
00第一版2015.
10.
19V6.
00.
01硬件版本升级为D4028920-002016.
4.
27V6.
00.
02增加CreateDeviceEx、SetDevicePhysID函数19

妮妮云(119元/季)日本CN2 2核2G 30M 119元/季

妮妮云的知名度应该也不用多介绍了,妮妮云旗下的云产品提供商,相比起他家其他的产品,云产品还是非常良心的,经常出了一些优惠活动,前段时间的八折活动推出了很多优质产品,近期商家秒杀活动又上线了,秒杀产品比较全面,除了ECS和轻量云,还有一些免费空间、增值代购、云数据库等,如果你是刚入行安稳做站的朋友,可以先入手一个119/元季付的ECS来起步,非常稳定。官网地址:www.niniyun.com活动专区...

SugarHosts糖果主机,(67元/年)云服务器/虚拟主机低至半价

SugarHosts 糖果主机商也算是比较老牌的主机商,从2009年开始推出虚拟主机以来,目前当然还是以虚拟主机为主,也有新增云服务器和独立服务器。早年很多网友也比较争议他们家是不是国人商家,其实这些不是特别重要,我们很多国人商家或者国外商家主要还是看重的是品质和服务。一晃十二年过去,有看到SugarHosts糖果主机商12周年的促销活动。如果我们有需要香港、美国、德国虚拟主机的可以选择,他们家的...

Contabo美国独立日促销,独立服7月€3.99/月

Contabo自4月份在新加坡增设数据中心以后,这才短短的过去不到3个月,现在同时新增了美国纽约和西雅图数据中心。可见Contabo加速了全球布局,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。为了庆祝美国独立日和新增数据中心,自7月4日开始,购买美国地区的VPS、VDS和独立服务器均免设置费。Contabo是德国的老牌服务商,...

版权符号怎么打为你推荐
网罗设计网页设计就业前景如何rawtools相机中的RAW是什么意思?同一ip网站同IP的网站互相链接会被K吗?抓站工具公司网站要备份,谁知道好用的网站抓取工具,能够抓取bbs论坛的。推荐一下,先谢过了!baqizi.cc孔融弑母是真的吗?woshiheida这个左下角水印woshiheida的gif出处在哪呢?急!!!!!雀嘴鳝专家教下怎么才能饲养好一条雀鳝鱼?东力奥互联网的创始人是谁?carlymilo衣服品牌 BABY MILO 中国有没有店` 产品有的买吗?carlymilo卡莱米路(Carlymilo)的品牌介绍
域名网 个人注册域名 域名备案号查询 idc评测 siteground 分销主机 安云加速器 免费名片模板 100m免费空间 中国电信测速112 dux 微信收钱 双拼域名 cdn联盟 佛山高防服务器 服务器干什么用的 能外链的相册 怎么建立邮箱 in域名 美国独立日 更多