Monthly Archives: 11月 2012

Windows7にVMware Converterをインストールする

2012年11月7日 (カテゴリ: VMware:)

VMwareから提供されているソフトであるVMware Convereterを使用すると、物理マシン上で動作しているPC環境をVMwareのイメージファイルに変換する事ができます。物理マシンの事は英語でPhysical Machine、仮想マシンはVirtual Machineなので、この変換の事をP2V(Physical to Virtual)と呼びます。 VMware Convereterでは、P2V以外にも以下の製品で作成されたHDDイメージファイルをVMwareのディスクイメージに変換できます。 こちらはV2V(Virtual to Virtual)と呼ばれています。 Microsof…


続きを読む

[PIC18]PWM機能を使用してLEDをふんわり点滅させる

2012年11月7日 (カテゴリ: PIC:, , )

PIC18シリーズのマイコンで、PWM出力を利用してLEDをふんわり点滅させてみます。 今回はCCP機能に含まれるPWM出力を使用して明るさの制御を行います。 この為、LEDはPWM出力ピンであるCPP1のピンに接続します。 #include "p18f4620.h" #include "timers.h" #include "delays.h" #include "pwm.h"   // Configuration bitの指定 #pragma config OSC = HS // HS oscilla…


続きを読む

PIC向けCコンパイラ(HI-TECH C,C18,C30,C32)のinline関数サポート状況まとめ

2012年11月6日 (カテゴリ: PIC:)

PICで使用できるMicrochip社提供のコンパイラには、HI-TECH C,C18,C30,C32等が有ります。 これらのコンパイラで、インライン関数が使用できるかを調べたのでまとめてみました。 HI-TECH C,C18コンパイラ HI-TECH Cと、C18コンパイラでは、インライン関数はサポートされていません。 使用したい場合は、関数マクロで代替する必要があります。 参考: HI-TECH Software Frequently Asked Questions C30,C32コンパイラ C30とC32のコンパイラではインライン関数はサポートされており、使い方は同じです。 但し、使用す…


続きを読む

MPLABのエディタを、タブエディタに変更する

2012年11月5日 (カテゴリ: 未分類:)

PICの統合開発環境であるMPLABですが、通常はMDI構成で複数のエディタウィンドウが表示さます。 ですがこの形式は、設定でVisualStudioやEclipseのようにタブエディタに変更することが出来ます。 その方法は… エディタの適当なところで右クリックして、Propertiesを選択します。 Generalタブの”Use Tabbed Window”にチェックを入れ、OKをクリックします。 これで、タブエディタに切り替わります。 バグなのか、タブのタイトル文字が大きくなってしまいますがこれでも十分使いやすいです。


続きを読む

[VMware]Windows8をゲストOSで使用時、放っておくと自動サスペンドするのを止める

2012年11月5日 (カテゴリ: VMware:)

VMware Player5.0でゲストOSにWindows8をインストールしてみました。 快調に動作しているのですが、しばらく使わずに放置しておくと自動でサスペンドしてしまいます。 通常だったら省エネ機能で便利なのですが、現在の実行環境はホストOSが24時間稼動しているので、サスペンドしてもらっても不便なだけです。 という訳で、自動サスペンド機能をOFFにしてみました。 カーソルをウィンドウ右端にあて、一番下のギアのアイコンをクリックします。 コントロールパネルを選択します。 電源オプションをクリックし、コンピュータをスリープ状態にするの時間を、”適用しない”を選択し…


続きを読む

[VMware]JISキーボードがASCII配列に誤認識されるのを修正する

2012年11月5日 (カテゴリ: VMware:)

VMwareでゲストOSがWindows XPのVMを作成しているのですが、先日VMware Converterを使用して仮想マシンのバージョンを変更したら、キーボードの配列がASCIIと誤認識されてしまいました。 その時に修正した方法をメモしておきます。 (今回はVMwareが原因で問題が起きましたが、解決方法はWin XPの一般的な作業方法です) コントロールパネルよりキーボードを選択し、ハードウェアタブのプロパティを選択します。 ドライバの更新をクリックし、ウィザードで”いいえ、今回は接続しません”を選択します。 “一覧または特定の場所からインストール…


続きを読む

[Spy++]謎の横長ウィンドウが表示されている原因を調査する

2012年11月5日 (カテゴリ: 未分類:)

最近PCを使っていると、下のようなウィンドウが表示されいることがあります。 気が付くと表示されていて何がきっかけになっているのか分かりません。タスクマネージャにも出てこないし気持ち悪いので、何者なのかちょっと調べてみました。 という訳でどうやって調べたか、方法を説明します。 ちなみに、使っているOSはWindows7 x64です。 まずは、このウィンドウのプロセスを調べます。 このPCにはVisual Studioが入っているので、Spy++というソフトで調査します。このソフトを使うと、画面に表示されているウィンドウを指定して、そのプログラムの情報を表示してくれます。 Spy++を起動したら、…


続きを読む

[PIC]C18コンパイラでstrcpy()使用時,文字列セットが出来ない

2012年11月5日 (カテゴリ: PIC:)

PICのプログラムをC18コンパイラを使用して開発している場合、以下のコードは正しく動作せず、Bufferに”hello”という文字列がセットされません。 (当然ですが、このコードはVisual C++の様な普通のCコンパイラだと正しく動きます) char Buffer[32]; strcpy( Buffer, "Hello" );char Buffer[32]; strcpy( Buffer, "Hello" ); これは、”Hello”の文字列定数がプログラムメモリに配置…


続きを読む

[PHP]goto文を使用すると「syntax error, unexpected T_STRING」エラーが発生

2012年11月4日 (カテゴリ: PHP:)

PHPでgoto文を使用したプログラムを書いていたのですが、手元の開発環境だと動作するのに、サーバにアップロードすると以下のエラーが発生するという問題が発生しました。 Parse error: syntax error, unexpected T_STRING in …Parse error: syntax error, unexpected T_STRING in … 手元の環境だと動くという事は、環境の問題なので、まずはphpinfo()でバージョンを確認してみます。 開発環境 PHP Version 5.3.1 System Windows NT 5.1 build 2600 (…


続きを読む

[PHP]SimpleXMLでxmlツリーを作成し、綺麗に整形して出力する

2012年11月4日 (カテゴリ: PHP, 未分類:)

PHPでSimpleXMLを使用してxmlの作成を行います。 プログラム <?php $rootNode = new SimpleXMLElement( "<?xml version=’1.0′ encoding=’SHIFT_JIS’ standalone=’yes’?><items></items>" );   // ノードの追加 $itemNode = $rootNode->addChild(’item’); $itemNode->addChild( ‘itemCo…


続きを読む

[PHP]改行なしスペース(&nbsp;、0xA0)を、普通の空白(0x20)に置換する

2012年11月4日 (カテゴリ: PHP:)

PHPで改行無しのスペース(&nbsp;)は文字コード0xA0で表現されます。 この改行無しスペースを普通のスペースに置換するには、以下のコードを使用します。 $str = trim( $str, chr(0xC2).chr(0xA0) );$str = trim( $str, chr(0xC2).chr(0xA0) ); 正規表現を使用する場合は以下のパターンになります。 $str = preg_replace( "/^\xC2\xA0/", "", $str );$str = preg_…


続きを読む

[C言語]文字コードがACSIIで無い場合にコンパイルエラーを出す方法

2012年11月3日 (カテゴリ: C:)

上手い事プリプロセッサ命令を使ってるなと思ったのでメモ。 #ifで、アルファベット’a’の文字コードを調べることで判定しています。 gawk3.1.5のソース(eval.c)より。 #if ‘a’ == 97 /* it’s ascii */ // …文字コードがASCIIだったときの処理 #else #include "You lose. You will need a translation table for your character set." #endif#if ‘a’ == 97 /* it’s ascii */ // …文字…


続きを読む

電子回路用CADのEAGLEをインストールする

2012年11月3日 (カテゴリ: EAGLE:)

今回は、電子工作用の回路図作成やプリント基板(PCB)のレイアウトソフトとして有名な、eagleのインストールを行います。 EAGLEは商用のソフトなのですが、非営利目的なら一部制限がありつつもほぼ全ての機能がフリーで使用することが出来ます。仕事で使うのなら商用ライセンスが必要ですが、個人のホビーユースならフリー版でも十分に利用する事が出来ます。 フリー版の制限は以下の通りです。 ボードのサイズが100 x 80 mm (4 x 3.2 inches)までに制限される。 多層基板は作成で傷、2面(両面実装の基板)までしか作成できない。 プロジェクト内に回路図は1枚しか作成できない。ボードのサイ…


続きを読む

[HI-TECH C] “Warning [228] illegal character”警告が出る場合の対処法

2012年11月3日 (カテゴリ: PIC:, , )

HI-TECH Cでプログラムをコンパイルすると、以下のようにWarning [228]の警告が出ることがあります。 これは”警告”なのでコンパイルは完了し、大抵の場合プログラムは想定どおり動作することが多いです。 Make: The target "C:\home\project\pic\16F84A_LCD\main.p1" is out of date. Executing: "C:\Program Files\HI-TECH Software\PICC\9.83\bin\picc.exe" –pass1 C:\main.…


続きを読む

PIC16F84Aで,HI-TECH Cを使用してLCD出力を行う

2012年11月3日 (カテゴリ: PIC:, , , )

PIC16シリーズの定番、PIC16F84Aを使用してLCDへの出力を行うプログラムです。 16F84AでC言語を使用したLCD制御のサンプルは、意外と見つからないので公開しておきます。 LCDは16文字x2行表示が行えるSC1602を使用します。 また、Cコンパイラは、HI-TECH Cを使用します。HI-TECH Cは、PICC LITEとも呼ばれています。 HI-TECH CにはLCD制御用のライブラリがない為、プロトコルを確認してコマンド送信を自前で実装する必要があります。 動作確認はPIC16F84Aで行っていますが、特殊な事はしてないので16Fシリーズなら基本的にどのチップでもその…


続きを読む

[VMware]各製品で作ることが出来る仮想ハードウェアのバージョン

2012年11月2日 (カテゴリ: VMware:)

VMwareで作成する仮想マシンは、元となるハードウェアに幾つかのバージョンが有ります。 使用する製品によって、作成することが出来る仮想ハードウェアのバージョンが決まっているのですが、その一覧は以下の通りです。 Version 9 VMware ESXi 5.1 VMware Fusion 5.x VMware Workstation 9.x VMware Player 5.x   Version8 VMware ESXi 5.x VMware Fusion 4.x VMware Workstation 8.x VMware Player 4.x   Version7 VM…


続きを読む

[PIC]ICD2デバッグ時に「ICD0154エラー」が出た場合の対処法

2012年11月2日 (カテゴリ: PIC:, )

エラーの内容 MPLABでMicrochip ICDを使用してプログラム書き込み/デバッグを行っている時に,以下のエラーが発生する(メッセージ中の”TM = Running”の部分は、変わる場合があります)。 MPLAB ICD 2 ready for next operation ICD0154: Invalid target mode for requested operation (TM = Running)Running Target ICD0083: Debug: Unable to enter debug mode. Please double click …


続きを読む

エラー”vmware-update-agent.exe は動作を停止しました”が発生する場合にする事

2012年11月1日 (カテゴリ: VMware:)

VMwareを以下の環境で使用している場合、”vmware-update-agent.exe は動作を停止しました”というエラーが出ることがあります。 VMware Workstation 2011上で Windows VistaのVMを作る。 作ったVMを、VMWare Player 4.0で使用する。 インストール済みのVMware Tools をアップデートさせる。VMware Workstation 2011上で Windows VistaのVMを作る。 作ったVMを、VMWare Player 4.0で使用する。 インストール済みのVMware Tools を…


続きを読む

[VMware]ゲストOSでUSB3.0/USB2.0を使用する方法

2012年11月1日 (カテゴリ: VMware:)

VMwareでUSB2.0やUSB3.0を使用する方法です。 *.vmxに以下の2行を追加すればUSB2.0が使用可能になります。 usb.present = "TRUE" ehci.present = "TRUE"usb.present = "TRUE" ehci.present = "TRUE" 但し、ehci.presentが使えるのはVMware FusionやVMware Workstationの6.0以降で作ったVMな必要じゃないとサポートされていません。(設定を追加してもehci機能はOFFとなってし…


続きを読む

[PIC]MPLAB ICDで、「ICDWarn0015エラー」出た場合の対処法

2012年11月1日 (カテゴリ: PIC:, )

現象 MPLABでICDを使用してデバッグしようとすると、以下のエラーメッセージが表示される。 ICDWarn0015: Program memory has changed since last program operation? Continue with Debug operation?ICDWarn0015: Program memory has changed since last program operation? Continue with Debug operation? コンソール上では、以下の様なメッセージが出力されます。 ICD0083: Debug: Unable …


続きを読む