122012
 

最近一直在查 Mac OS X 上摄像头程序开发相关的东西,没料到 Mac OS  的平台几经变迁,多媒体架构也有好几个,幸亏 cocoachina 的 mactaris 给我做了解答,非常全面,原帖转载如下:


我刚好是专门在帮客户作这类的案子,有好几年了,可以帮你把来龙去脉说一下,但是历史因素太复杂了,我尽量说简单一点。

Video Capture 在 Mac 上最早是由 QuickTime 在 1991 年开始有 API (System 7 的时代,连 Mac OS 这名词都还没出现)
Driver 叫做 Video Digitizer Component (VDIG),App 则透过 Sequence Grabber API 来使用  VDIG。

之后历经 16bit 转 32bit (System 7, 8, 9),
68K 转 PowerPC (Mac OS 9),
Mac OS 9 转 Mac OS X (Mac OS 9 改称 classic , API 保留在 Mac OS X 的部分叫做 Carbon)
PowerPC 转 Intel (Mac OS X 10.4, 10.5)

这么坎坷的历程,这个架构都沿用下来了,直到 Mac OS X 10.6 的 32bit 环境都还在用。

QuickTime 是 32bit C API ,属于 Carbon 的一部分,在 Mac OS X 上 Apple 另外做了比较新的 Cocoa API 叫做 QTKit ,QTCapture 就是它的一部分,但是 Apple 无意把 Carbon 64bit 化, QuickTime 又太大了, 新的 QTKit 只提供 QuickTime 很小部分的功能,但 QTKit 可以支援 32bit 及 64bit 。

现在问题就卡在 64 化, 10.0 ~ 10.3 太旧不讨论,以下列出各版本 OS 的支援情况,

10.4
Driver: VDIG, Apple UVC Driver
App: QuickTime Carbon API

10.5
Driver: VDIG, Apple UVC Driver
App: QuickTime Carbon API, Cocoa QTKit API

10.6 32bit
Driver: VDIG, Apple UVC Driver
App: QuickTime Carbon API, Cocoa QTKit API

10.6 64bit
Driver: Apple UVC Driver only
App: Cocoa QTKit API only

10.7 32bit 模式跟 10.6 是一样的

10.7 64bit only
Driver: Apple UVC Driver, (new driver model for 3rd party, no document yet, no sample code yet)
App: Cocoa QTKit API, Cocoa AVFoundation API

10.7 之后 App 方面 Apple 把 AVFoundation API 由 iOS 搬回 Mac ,准备舍弃 QTKit,不过 AVFundation 本来就是由 QTKit 衍生出来的。
Driver 方面终于丢掉 VDIG ,可惜新的 driver model 一直没有文件。

结论:
App 除非客户接受 10.7 only (不太可能吧?),否则大概就是 QTKit 了
Driver 除非客户接受 10.7 only (问题 Apple 也还没放出文件), VDIG 可能还是得做,App 要切到 32bit 模式才能看到你的 VDIG。

VDIG 因为是石器时代的东西,文件、说明都很少 (以前 Apple 对 developer 很不友善的…),会有很多石器时代遗迹,如 resource,component 等等… 只能见招拆招了,一堆考古史,讲也讲不清啊。


另外我在苹果的文档中找到了VDIG的替代品,叫做:Core Media I/O framework 的 Device Abstraction Layer (DAL) plug-in API,似乎确实没有文档,而且只有10.7 才支持。

总结:

Mac OS X 10.4 – 10.6

  • 驱动:VDIG
  • 应用:QuickTime 或者 QTKit,QuickTime 函数众多,但是是 Carbon API,不支持64位。

Mac OS X 10.7

  • 驱动:除了VDIG外,还可以编写DAL 插件,供AV Foundation或者64位的QTKit程序调用
  • 应用:除了QuickTime,QTKit外,还有AV Foundation,代码和IOS有一定兼容性,但不识别VDIG

VDIG 编写的 QuickTime 组件只能由32位程序调用

十一 162011
 

以后有可能涉及苹果系统上的应用开发,在硬件没配套之前,先用虚拟机尝了一下鲜:

刚开始我没多想就选择了 VirtualBox 作为虚拟机软件,参考了这篇文章《Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解》,安装时遇到黑屏的问题,搜索后发现是引导文件的问题,调整后,最后我安装 Mac OS X 需要的文件为:

  • OSX86_ModCD-031111-171757.iso (下载)
  • [苹果雪豹操作系统正式版].snowleopard10a432userdvd.dmg

按照教程安装成功后,为测试能否使用外置的UVC免驱摄像头,安装了VirtualBox 4.1.6 Oracle VM VirtualBox Extension Pack,摄像头在system profile中能识别,但是打开Photo Booth软件,操作系统立刻死机,反复尝试都是一样,包括iChat软件。打开Console工具再测试,发现只输出两行错误:

invalid pixel format
invalid context

Google无果。

只好改用安装包大小将近600MB的VMware Workstation 7,参照这篇文章《教你在VMWare下安装MAC OS X Snow Leopard 10.6》,驾轻就熟地安装完毕。

系统启动后发现一切接近完美,UVC摄像头在VMWare中可以在host和guest os之间切换,在 Mac OS X 下打开摄像头也很正常了。

问题:

  • 运行一段时间之后,找不到鼠标了
    解决:在Mac OS X 的“系统偏好设置” -> “节能器”中的“电脑进入睡眠”和“显示器进入睡眠”设置成“永不”
十一 102011
 
Silverlight Silverlight for Windows Embedded
Supports code-behind that is written in Visual C# .NET Framework classes, Visual Basic, IronPython, and JavaScript. Supports code-behind that is written in C++ only.
Hosts the object tree in a plug-in for an Internet browser window. Hosts the object tree in a visual host that has an underlying Win32 window.
Used for developing interactive applications for the Web. Used for developing user interfaces for shells and applications that run on a Windows Embedded CE powered device.
Supports the ControlTemplate XAML element. Supports parsing and displaying a ControlTemplate, but you cannot access or modify its predefined elements by using C++ code. You can add new elements to a user control in C++ by calling IXRUserControl::SetContent.
Supports data binding. Not supported.
Supports event binding directly in XAML through attribute values. Supports event-binding in C++ by attaching event handlers to UI objects.
Event data is stored in classes that inherit from System.EventArgs. Event data is stored in structures that inherit from XREventArgs, which are used to specify the type of data that is contained in IXRDelegate<ArgType> objects used for handling specific types of events.
Supports new events in Silverlight 3. Not supported.
Supports double type values. Supports float type values instead of double type values. The equivalent object of each XAML element that represents a double value actually represents a float and includes “double” in its name only in order to maintain parity with the name of its equivalent XAML element. For example, see IXRDoubleCollection.
Supports color codes. Parses color codes from the source XAML markup. You can also define new colors in C++.Supports thetype, which can be generated by using theormacros. These macros accept byte values instead of hexadecimal values.For more information about identifying the correct BYTE values to use in the RGB or RGBA macro for red, green, and blue, see this Web site.
Supports the ContentPresenter class, which is derived from FrameworkElement. Supports the equivalent C++ class IXRContentPresenter, which is derived from the intermediate base class IXRControl instead of from IXRFrameworkElement.
Supports the System.Windows namespace. Supports XAML elements in the System.Windowsnamespace and provides many equivalent C++ classes. The following XAML elements are not supported:
AssemblyPart
AssemblyPartCollection
DataTemplate
Deployment
Expression
Supports the System.Windows.Control namespace. Supports XAML elements in the System.Windows.Control namespace and provides many equivalent C++ classes. Supports only the built-in controls in this namespace, and not the extended controls.To add sound to a UI element, you can include SYSGEN_AUDIO in the OS design, include the mmsystem.h file, and call the PlaySound function inside an event handler. For more information, see.
Supports the System.Windows.Controls.Primitives namespace. Supports XAML elements in the System.Windows.Controls.Primitives namespace and provides many equivalent C++ classes. Supports only the built-in controls in this namespace, and not the extended controls.
Supports the System.Windows.Documents namespace. Supports all XAML elements in the System.Windows.Documents namespace and provides many equivalent C++ classes.
Supports the System.Windows.Ink namespace. Supports all XAML elements in the System.Windows.Ink namespace and provides many equivalent C++ classes.
Supports the System.Windows.Media namespace Supports XAML elements in the System.Windows.Medianamespace and provides many equivalent C++ classes. The following XAML elements are not supported:
DeepZoomImageTileSource
VideoBrush
Supports the System.Windows.Media.Animation namespace Supports all XAML elements in the System.Windows.Media.Animation namespace and provides many equivalent C++ classes.
Supports the System.Windows.Media.Imaging namespace Supports all XAML elements in the System.Windows.Media.Imaging namespace and provides many equivalent C++ classes.
Supports the System.Windows.Shapes namespace Supports all XAML elements in the System.Windows.Shapes namespace and provides many equivalent C++ classes.
十一 092011
 

这段时间在 s3c6410+WinCE6 上编写一个机械控制软件,开始使用了 Silverlight for Embedded 做界面,对于界面不复杂的软件,Silverlight 开发起来非常方便,xaml语言基本上也可以边用边学。

不过遗憾的是,我还是决定放弃了,最终还是采用SDK写界面,唯一的原因就是“太慢了”。因为我们的平台底层没有实现DDraw硬件加速,silverlight的界面渲染用的还是GDI,作为工业软件,操作起来不够快。

这里把这段时间收集的一些资源汇总一下,必备不时之需  ^^

开发工具:

教程:

文章:

另外值得一提的是,silverlight for windows embedded 基本上是基于Silverlight 2的,所以大部分特性可以参考Silverlight 2 的文档
欢迎交流~~

  发表于2011/11/09 21:15  标签:
022011
 

飞凌的OK6410开发板Wince BSP是直接在SMDK6410 BSP上修改的(事实上国内类似的公司都是这样做的,普遍不重视软件),但是实际开发过程中一般会对开发板做二次开发,有些硬件会做改动或裁减,这时就需要复制一份BSP,以免对同一平台的不同产品做系统定制时发生冲突。

但是用VS2005 clone时出现了以下错误提示:

StartIndex cannot be less than zero
         Parameter name: startindex

原因不太清楚,不过从微软的论坛上找到了解决办法:

  1.  修改smdk6410.pbcxml文件,删除BspItemId和Item这些条目,注意备份
    ,最后只剩下这些:

    <?xml version="1.0" encoding="utf-8"?>
    <CatalogFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" RequiredVersion="6.00" xsi:schemaLocation="urn:Microsoft.PlatformBuilder/Catalog PbcXml600.xsd" xmlns="urn:Microsoft.PlatformBuilder/Catalog">
      <FileInformation Id="BSPCatalog:Samsung:SMDK6410">
        <Title>SMDK6410 BSP Catalog File</Title>
        <Description>SMDK6410 BSP Catalog File</Description>
        <Comment>SMDK6410 Catalog file for s3c6410</Comment>
        <Vendor>Samsung</Vendor>
        <OSVersion>6.00</OSVersion>
        <FileVersion>1.0.0.0</FileVersion>
      </FileInformation>
      <Bsp Id="Bsp:Samsung:SMDK6410">
        <Title>Samsung:SMDK6410</Title>
        <PlatformDirectory>SMDK6410</PlatformDirectory>
        <CpuId>Cpu:ARMV4I</CpuId>
      </Bsp>
    </CatalogFile>
  2. 克隆BSP,比如把SMDK6410克隆为OK6410
  3. 修改ok6410.pbcxml
    把之前SMDK6410.pbcxml中删除的部分补回去,即BspItemId和Item这些条目
162011
 

虚拟机中的Windows XP 安装了WINCE5和VS2005之后就达到了17G,卸载了VS2005发现vdi文件大小没有变化,搜索之后才知道要手动给vdi文件来个瘦身运动。

VirtualBox 的VBoxManage命令包含了精简参数,但是事先还需要将虚拟机硬盘的空闲区域全设为0,瘦身才会达到较好的效果,所以:

第一步:下载SDelete工具,下载地址:http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx,启动虚拟机后,在虚拟机控制台中执行命令(如何执行控制台程序这里就不讲了):

SDelete -c c:

这里的c:表示C盘,如果还有其他磁盘分区要精简,照葫芦画瓢就是。

第二步:关闭虚拟机操作系统,在宿主操作系统中运行

VBoxManage modifydh xxx.vdi --compact

xxx.vdi 即需要瘦身的虚拟机文件了

如果虚拟机中安装的Linux系统,就要参考这篇文章了,我没有试过。

如此操作之后,硬盘占用从17G降到了11G,效果还不错,但以上两个步骤都比较费时间,喝杯茶,慢慢等吧~

212011
 

需要这样一个功能: 点击 PreferenceActivity 中的某个 Preference 后,弹出一个确认框,如果用户点击了确认,执行某项操作,点击取消,则不做任何操作。

找了一圈,似乎没有现成的方法,PreferenceActivity中只能响应onPreferenceChange和onPreferenceClick,并且DialogPreference直接使用的话会抛出异常,必须继承使用。

实现思路:

  1. 继承一个DialogPreference,并在这个类中增加一个 DialogInterface.OnClickListener 类型的成员,再在 DialogPreference 的OnClick方法中调用DialogInterface.OnClickListener类的onClick方法,听上去有点绕,这是为了能在外部响应OnClick方法,以使这个DialogPreference通用,一会儿看看代码就清楚了。
  2. 继承PreferenceActivity并实现DialogInterface.OnClickListener接口,并设置DialogPreference的DialogInterface.OnClickListener成员为这个PreferenceActivity,再实现onClick方法,大功告成!

代码如下:

布局文件

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:title="@string/preferences">
	<PreferenceCategory
		android:title="@string/other">
 		<com.nboee.android.AlertDialogPreference
			android:title="@string/clear"
			android:summary="@string/clear_all_preferences"
			android:dialogTitle="@string/clear"
			android:dialogMessage="@string/clear_all_preferences"
			android:negativeButtonText="@string/cancel"
			android:positiveButtonText="@string/ok"
			android:key="@string/KEY_CLEAR_PREFERENCES"
			>
		</com.nboee.android.AlertDialogPreference>
	</PreferenceCategory>
</PreferenceScreen>

继承的 AlertDialogPreference

public class AlertDialogPreference extends DialogPreference
{
	private DialogInterface.OnClickListener onClickListener = null;
	public AlertDialogPreference(Context context, AttributeSet attrs)
	{
		super(context, attrs);
	}

	public AlertDialogPreference(Context context, AttributeSet attrs,
			int defStyle)
	{
		super(context, attrs, defStyle);
	}

	public void setOnClickListener(DialogInterface.OnClickListener listener)
	{
		onClickListener = listener;
	}

	@Override
	public void onClick(DialogInterface dialog, int which)
	{
		super.onClick(dialog, which);
		if(onClickListener != null)
			onClickListener.onClick(dialog, which);
	}
}

继承的 PreferenceActivity

public class SettingActivity extends PreferenceActivity implements DialogInterface.OnClickListener
{
	String TAG = "SettingActivity";

	String clearPreferencesKey;
	AlertDialogPreference clearPreferencesPref;

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.layout.preferences);

		clearPreferencesKey = getResources().getString(R.string.KEY_CLEAR_PREFERENCES);
		clearPreferencesPref = (AlertDialogPreference)findPreference(clearPreferencesKey);
		clearPreferencesPref.setOnClickListener(this);
	}

	/**
	 * 用于响应对话框上哪个按钮按下的判断
	 */
	@Override
	public void onClick(DialogInterface dialog, int which)
	{
		if(dialog.equals(clearPreferencesPref.getDialog()))
		{
			if(which ==  DialogInterface.BUTTON_POSITIVE)
			{
				Log.i(TAG, "do something");
			}
		}
	}
}

 

 

 

  发表于2011/06/21 00:15  标签:
172011
 

一、在代码中设置:

package com.hhh.changeimage;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

public class ChangeImage extends Activity
{
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        //无title
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams. FLAG_FULLSCREEN);
        setContentView(R.layout.main);
    }

无title和全屏段代码必须在setContentView(R.layout.main) 之前,不然会报错。

二、在配置文件里修改(android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”)

<activity android:name=".ChangeImage"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

用一的情况在应用运行后,会看到短暂的状态栏,然后才全屏,而第二种方法是不会有这种情况的。

via

  发表于2011/06/17 15:47  标签:
072011
 

欢迎您使用天王表

我公司已生产近千款手表,为使您更好地使用本公司产品请您认真阅读以下说明:

一、 本公司产品的外观:

采用以下基体材料,请您识别所购手表后盖有如下标识(底盖大写字母G或L开头组成序号的第二个字母标识),并按不同方法予以保养。

B–铜基材料质地较软,外表是电镀层(即电镀),佩戴时间长久电镀层磨损后易产生电化腐蚀、褪色。所以在日常佩戴过程中应及时保持壳、带清洁,擦干汗液可延长使用寿命。

S–不锈钢材质:质地较硬,机械性能及耐腐性优于铜基材料,但请勿按触强腐蚀性物质。由于本公司部分不锈钢产品表面采用精抛光处理,在佩戴过程中应注意不要强力刮擦以防划痕出现影响美观。

C、T、SA–高硬度材料:本公司产品中标识有”CERAMIC(金属陶瓷), SAPPHIRE CRYSTAL (蓝宝石玻璃),TUNGSTEN(钨钛合金)”字样均为应用的高硬度材料,此类材质硬度高、耐磨性好。抗腐蚀能力强,长久佩戴仍可保持光洁如新。但在日常生活中磨石、金刚砂纸、混凝土墙面、陶瓷等都有可能性含有比上述材料硬度更高的钻石、刚玉、氧化金属、蓝宝石成分,强烈磨擦可损坏划伤,请佩戴时注意。另外高硬度物质由于其脆性大,抗冲击性能弱。因此应避免强力撞击或摔跌。

二、手表的防水

手表的防水主要是指在日常生活中具有防水性能。所有防水表均在底盖上标有”WATER RESISTANT”英文字样。无防水标记手表仅能防尘,应避免沾水。3ATM防水表可用于日常梳洗。5ATM防水表可适于游泳及水湿做业。所有的防水表都不能用于潜水(潜水表有其特别的制作要求)。

任何防水表都不宜在热水浴、桑拿浴和高温、高压的环境中使用、因为防水胶圈和其它配合零件因材料的膨胀系数不同而造成间隙增大,引起进水和进汽损坏机芯。

防水圈因属橡胶类,亦产生老化而影响防水性能,所以手表的防水圈和把的安定期更换一般建议两年更换一次。

在秋冬季节或黄霉季节手表突然遇冷,表玻内面有一层雾气层因为空气含有水分的缘故,属正常物理现象,气候干燥后自然消失,对机芯无大的影响。

三、常用机芯功能分类:

1. 石英机芯 :计时精确、使用方便、使用寿命较长、结构简单、体积小。

2. 机械机芯 :使用寿命长,具有收藏价值,防水性好。体积较大。

3. 多功能机芯:时尚、功能性强。

4. 环保动能 :环保、无需更换电池。

四、钟表分类

 

不同的分类方式:手表有不同的分类.按手表的结构,手表主要可分为机械手表与石英电子手表。

机械手表:普通机械手表、带历手表(日历、周历、月历、万年历、月相)、自动表(半自动、全自动)

石英电子手表:指针式石英手表、数字式液晶石英电子手表、数字式发光二极管石英电子手表、摆轮游丝式电子手表、金属音叉电子手表.

多功能运动表:与石英电子表结构相似,其功能增加了计秒、月相、万年历等功能。

五、表款的特点

1、自动机械表的特点:

使用寿命长,一般为几十年,长的可达百年,而石英表则为十年。具有收藏价值,由于机芯的制作水平能体现机械加工的数字、天文知识,具有收藏价值。在相同条件下,机械表的耐水性优于石英表,即在有水的情形下仍能运转,而石英表则不能。

缺点(与石英表比较):

  • 体积相对较大
  • 走时精度劣于石英表

2、石英电子表的特点:

  • 计时精确
  • 使用方便
  • 可以精确到秒
  • 使用寿命较长
  • 结构简单零件数少
  • 体积小
  • 可以做成超薄

3、多功能运动表

在一般功能的手表中,增添其它功能,如1/20秒1/60计时,月相、万年历等它是一个特定环境下的一个产物。

六、电池

本公司生产的指针式石英表均配以日本或瑞士产的高能量一次性电池(一次性放电,放电终止以后电池即不能再用)。一般一次电池的平均使用寿命大约为18个月(国标要求大于1年)。人动电能系列和光动能系列采用可充电电池(即二次环保电池)一般情况下勿需更换。

手表的电池失效后要及时更换,不要将废电池长期留在不用的手表内,以免电池长时间处于过放电情况下产生气胀和渗漏现象影响机芯寿命。

处于行走状态的手表长期不用时可将把的拉出2档处于断电状态或将电池取出。

废电池不能充电,因为常用的手表电池均为一次电池,在结构上并不具备可逆反应的条件,强行充电可能取得的电能量极小,而充电时在电池内部形成的强大内压却往往会使电池产生严重的气胀变形甚至引起爆裂,造成得不偿失。

更换电池时,应避免使用劣质电池和不同规格的电池。

七、特殊材料与功能:

1.钨钢材料

钨钢,又称钨钛合金,是金属陶瓷硬质合金的一种,是将一些高硬难熔的金属碳化物粉末(碳化物、碳化钛)和粘结剂混合、加压成型,再经烧结而成的一种粉末冶金材料。钨钢材料的硬度大约是普通不锈钢材料的4-5倍,但脆性增强,在受冲击情况下容易碎裂。

目前国内生产钨钢材料与国际先进水平相比还有很大差距。具体表现在制作工艺——成型技术、烧结技术和抛磨技术等各个方面。

2. 夜光表:

是指表针或字钉上涂有荧光粉,在黑暗处可见表针或字钉发光的手表。通过吸收自然光能发光,发光时间受吸收光线的时间和强度限制,只能在光线较暗处可见。

3.镀金手表:

镀金表壳是在半钢壳上框镀了一层金或金合金,镀金层通常在2-20μm之间。镀金壳色彩美观,多数呈金黄色,但这种表壳不耐磨损,时间长久一些镀金层会逐渐磨损,露出底壳色,影响美观。

这是在一般正常情况下的保持年限,但如遇到酸、碱、盐或腐蚀性气体的影响,镀金层保持年限将大幅度降低。外观棱角易受摩擦部位也较容易褪色。

4. 环保动能:

即以不污染或较少污染环境为能源的石英手表。现在市场推出的有:光动能和人动电能

就是使用任何环境的光源,透过太阳能晶片和充电器,把光源转化为能源,即使在微光下依然运作正常,毋需更换电池。

这个理想今天已经实现于运用先进科技,利用自然和人工光源推动运作的手表–光动能手表(Green-power)。 光动能的关键在于其后备电池,它可以储存由表盘太阳能晶片发出的电力,转为能源,推动手表运作。而不同型号的手表,可以储存两个月至六个月不等的电力。

人动电能就是以人运动产生的机械能转换为电能,通过发电机原理将能量储存在充电电池上推动手表运行。它与光动能一样,电池可以储存两个月至六个月不等的电力。

八、走时误差

根据国家标准GB/T6044-2005、 QB/T1249-2004

自动手表在满弦状态下走时质量标准为

I型(男装)

实走日差M S/d

-10~+25

-20~+50

-40~+75

Ⅲ型(女装)

实走日差M S/d

-20~+40

-30~+70

-50~+110

石英表走时误差标准为

实时日差M S/d

-0.5~+0.5

-1.0~+1.0

-1.5~+1.5

手表应避免按触磁场及高温环境,否则可能引起走时不准。

九、调校方法

指针式石英表调校方法

1. 柄头在”0″位空档位。

2. 柄头拉至”1″位。

(1) 单机和慢拨位单历表: 此位秒针停走,用来调整时间可精确到秒,在拨针中自动换日历。

(2) 快拨单历、双历表。此位用来调整日、周历。顺时针方向为换周历(有的型号无快拨),反时针方向换日历。

警告 快速调拨日周历不可在晚9点至午夜3点期间进行以免破坏内部正在运行中的齿轮

3. 柄头拉至”2″位。秒针停走,用来调校时间,可精确到秒。并可慢调日历。

机械自动单双历表调校方法

多功能石英表调校方法

巴的零位时:

按2时位按的开始计时,再按2时位按的暂停计时,再按2时位按的,接着上一次的时间继续计时,按2时位按的暂停计时时,可按4时位按的,所以秒计针归零。

按2时位按的计时时,按4时位按的计时继续,但指针停止运动。再按4时按的,各计时针回复当前位置继续计时。想归零计时各针,必须先按计时结束按的(2时伴按的)再按4时位按的即可。

巴的拉开一格时:

顺时针转动3时巴的调整日期(按的无任何功能)

巴的拉开两格时 : 3时位巴的调整时间

按住2时位按的2秒,1/20秒针归零,再按4时位按的手工调整,1/20秒针位置(按住4时位按的时,针快速转动)

再按2时位按的2秒,计时秒针归零,再按4时位按的手工,调整计时秒针位置(按住4时位按的时,针快速转动)

再按2时位按的2秒,计时分针时针归零,再按4时位按的手工调整计时分针时针位置(按住4时位按的时,针快速转动)

九、时间调校的注意事项

1)手表日历的调校请不要在晚上9:00-凌晨3:00之间拨动日历,因为在这段时间里,有许多手表零件会随日历功能一起转动,快拨日历会损伤手表内部齿轮,减少手表的使用寿命。

2)星期日历跳格,由于制格不同分为快慢两种,第一种在+5分钟内日历跳格完成,第二种在3小时内日历跳格完成。

3)如遇带有螺旋把头之手表,请先逆时针方向旋开锁紧之把头,千万不要硬拔,调好时间后,必须按顺时针方向将把头旋紧,以免进水。

4)如遇带日历之手表需调校日期,请先将日历调校到您所需要日期的前一天,然后转动时针来调校日历,这样可以避免直接调校日历造成白天与黑夜的混淆。

十、手表的保养与维护

1.石英表的保养与维护

1)避免强烈冲击: 现在手表虽有防震功能,仍应避免突来之冲击;故做运动时,最好将手表取下。

2)勿近磁性物品: 手表零件为金属制品,虽有防磁装置,但遇磁性物体时,易使时间不准;故最好少放于收音机、电视机等电器品旁边。

3) 请勿使手表接近溶剂、水银、化妆用喷雾剂、清洁剂、粘剂或油漆、樟脑,否则表壳、表带等会脱色、变质或受损。远离樟脑物质: 樟脑有分解油脂之作用,易导致手表机件油脂被分解,使之故障。

4)勿常开启底盖: 以避免空气中浮游的水份与灰尘,进入机件,产生故障。

5)远离水与蒸气: 手表虽有防水装置,防水配件仍有可能随时间而松弛,导致机件潮湿生锈,失去作用;故洗手或洗澡时,需脱下手表。

6)手表收藏方式: 勿放在口袋与皮包里,以免细小的布屑、灰尘进入手表,或香水、化妆品所挥发之油,凝结水造成手表的零件腐蚀氧化。长期不佩带时应放在阴凉、干燥的包装盒中。

7)就寝时脱下手表: 被单的纤维与棉絮,与被内被外之温差变化,均易使手表受损。

8)避免温度急速变化: 由于手表的表壳由多种不同的材料构成,温度急速变化易影响各零件的配合影响手表的防水性能。

2.机械表的维护

要经常用比较柔软的布或丝绸轻轻擦去表壳上的污物和汗渍。

上发条要有固定时间,最好一次上足。

校对时间时,只要拉出拨轴,即可拨针,顺、倒拨皆可。但是,日历表和航空手表不应倒拨。

不要让手表骤冷骤热。温度剧变会增大手表走时误差。机械手表内部的发条,易因温度之急速变化而断裂。

应避免剧烈震动。

应避免浸水受潮,在洗漱时应将手表取下。

手表被磁化,会影响走时准确性。

不能把手表和香粉之类化妆品放在同一抽屉里或箱中,因为粉等可以从肉眼看不见的空隙潜入表机污染机油,影响机件运转。尤其应该注意,不能将手表放在有樟脑的衣柜里,因为樟脑气化后会扩散入表壳内,使机件里的表油凝固,失去防锈和润滑作用,使机件容易生锈和磨损,造成手表走时不准和降低使用寿命。

手表须按期检查并拆开清洗加油,一般三年左右应拆洗一次,密封性较差的手表,拆洗时间应隔得短一些。

10) 手表出现快慢时,应去专业门市打开后盖进行调整。如果手表一天比一天变慢,这时调整快慢针是不会有效的,遇这种情况,就是需要清洗加油。

要长期存放的手表,应在清洗加油后收藏起来。还应每月上条1-2次,使手表保持良好的运转性 。

via