Monthly Archives: 9月 2012

[AmazonMWS] Caught Exception: Unable to establish connection… エラーが出る時の対処

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

エラーメッセージ Caught Exception: Unable to establish connection to host mws.amazonservices.jp Unable to find the socket transport "ssl" – did you forget to enable it when you configured PHP?Caught Exception: Unable to establish connection to host mws.amazonservices.jp Unable to find the socket t…


続きを読む

[Crystal Reports]特定の条件の時に,ラベルを非表示にする方法

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

Crystal Reportsで帳票出力を行う際、印字データの前後に接頭語や接尾語として固定文字をつける場合があります(例えば名称の後に”様”をつける等)。 固定文字を常に印字する場合は、ラベルとしてテキストオブジェクトを貼り付ければよいのですが、データがない場合は固定文字を出したく無い場合も有ります。 対処療法として、プログラムから”印字データ+固定文字”を渡してあげるという逃げ道も有りますがプログラム的に美しくないので出来れば避けたいです。 このような場合、条件付印字を行う事で対応できます。 例えば以下の帳票で、PostalCodeに値がセッ…


続きを読む

[H8マイコン]アセンブラでシリアルポートにHello World

2012年9月8日 (カテゴリ: H8:)

H8マイコンで、シリアル(SCI)でHello Worldを出力するプログラムです。 HEWに付属のアセンブラでコンパイル可能です。 H8でシリアル通信を行うためには決められた手順(プロトコル)でレジスタを操作する必要があります。 プロトコルの詳細については,以下の記事を参考にしてください。 [読書メモ]12ステップで作る組込みOS自作入門: 2ndステップ シリアル通信 ;———————————————————————— ; FILE : HelloWorld.src ; PROGRAM : シリ…


続きを読む

[読書メモ]12ステップで作る組込みOS自作入門: 2ndステップ シリアル通信

2012年9月8日 (カテゴリ: H8:)

書籍”12ステップで作る組込みOS自作入門 “の読書メモです。 2ndステップのお話は、1stステップで作ったプログラムのうちserial.cの説明がメイン。 H8マイコンのシリアル通信仕様は、ルネサスのドキュメントが確かな資料となる。 シリアルについては、以下の「H8/3069R ハードウェアマニュアル」に記載されているので、これを見ながら確認すると分かりやすい(13-1章のSCIに書かれている)。 http://documentation.renesas.com/doc/products/mpumcu/rjj09b0165_h83069rf.pdf ここで使うシリア…


続きを読む

[H8]HEWでアセンブラ開発用のプロジェクトを作成し、シミュレータで実行してみる

2012年9月7日 (カテゴリ: H8:)

今回は、H8シリーズのマイコンの中でも、H8/3069Fをターゲットとしたプロジェクトを作成し、シミュレータ上でプログラムを実行してみます。 インストール方法は、前回の記事を参考にしてください。 プロジェクトの作成 まずはHEWを起動し、ワークスペースの作成を選択します。 ワークスペースの作成です。 今回はアセンブラの環境を作りたいので、左のプロジェクトタイプからAssembly Applicationを選択します。ワークスペース名は、アルファベットで適当な名前を付けてください。(今回はasm_testにしました) ターゲットとするCPUの選択です。 H8/3069Fのチップはマスクが変わって…


続きを読む

[H8]ルネサスH8シリーズ用IDEのHEWをインストールする

2012年9月7日 (カテゴリ: H8:)

H8マイコン向けのプログラムについて書かれているサイトを見ると,コンパイラにgccを使用していることが多いです。gccだとフリーで使用できるためお手軽ですが、学んだ事を仕事に生かそうと考えると、やはり業務で良く使用されているHEWを使用したくなります。 HEWというのはH8マイコンの製造元であるルネサス(Renesas)が販売している統合開発環境で、アセンブラ/C/C++の開発が可能です。 評価版だと、無制限での試用期間が60日、その後は生成されるコードが64kbyteに制限されてしまいますが、機能評価が目的なら問題有りませんし、勉強目的でミドルエンド・ローエンド向けのマイコンをする場合だと、…


続きを読む

[PIC]HI-TECH Cで7セグ4桁のLEDをダイナミック点灯させる

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

7セグ4桁のLEDを、HI-TECH Cでダイナミック点灯させるプログラムを作成しました。 ダイナミック点灯の仕組みですが、簡単で短い周期で順番に1桁づつ点灯させていくだけです。 どの桁を点灯させるかは7セグのコモン側のピンを操作する事で決定します。BQ-N516RDはカソードコモンなので、点灯したい桁のコモンをLowにすればOKです。 表示の周期ですが、60Hzぐらい(毎秒60回)まで速くしてあげれば、人間の目だと残像で全桁がずっとつきっぱなしになっていると錯覚してしまうようです。低めの周波数だとチラツキを感じる事も有るので、可能なら気持ち速めほうが良いかもしれません。 ネットで見た情報だと…


続きを読む

4桁7セグLED点灯の回路を74HC4511/BQ-N516RD使用してブレッドボードで組む

2012年9月6日 (カテゴリ: 電子回路:)

前回作った回路図を参考にしつつ、一旦ブレッドボードで組んでみました。 前回描いた回路図はこんな感じでした。 回路で使用した74HC4511とBQ-N516RDの仕様と、配線の考え方はこちらで書いているので参考にしてください。 74HC4511とBQ-N516RDで,4桁の7セグLEDをコントロールする 以下が、回路図を参考に組んだブレッドボード上の回路です。結構大きくなってしまいました。 一部7セグLEDの下にも配線をしており分かり辛いので、7セグLEDをはずした状態での写真です。 薄い四角が7セグで覆われている領域です。 上下にワイヤーが出ていますが、これがマイコンへの出力ピン(計8本)にな…


続きを読む

[読書メモ]12ステップで作る組込みOS自作入門: 1stステップ 開発環境の作成(と序章)

2012年9月5日 (カテゴリ: 読書メモ:)

この本は、H8マイコンで動く独自OSを作成する。 ソースコードは2000行弱しかないので、シンプルだが全貌が分かりやすい。 作成するのは、ブートストラップ、ドライバ、スレッド、スケジューラ、メモリ管理、タスク間通信あたりで、逆にサポートしていないのは、ファイルシステム、タイマーサービス、LAN機能、リアルタイム性etcとなっている。 OSには汎用OSと組み込みOSがある。 汎用OSは、悪意のある人も含めいろんな人が書いたプログラムが動くので、基本的に性悪説になる。 組み込みは、たとえば家電製品だと追加でアプリの登録はNGなので、性善説で作られることが多い。 また組み込み向けはタイミングが大事だ…


続きを読む

「12ステップで作る組込みOS自作入門」を読んで、OSを作ってみたい

2012年9月5日 (カテゴリ: 読書メモ:)

パタヘネ本、CPUの作り方を呼んで、CPU周りの仕組みはイメージがつかめてきたので、次はOSのレイヤに挑戦することにします。 Linuxはソースがあるのが良いけど、コードサイズが大きいので出来れば避けたい。 どうしようかと思いつつ入門者向けのOS作成はないかなと調べてたら、以下の本あたりが良さげらしい。 MONA―2ちゃんねる発祥の手作りOS 30日でできる! OS自作入門 作りながら学ぶOSカーネル―保護モードプログラミングの基本と実践 12ステップで作る組込みOS自作入門 Intel CPU向けの書籍だとVMWareで実行ができるから楽チンなんだけど、x86はアセンブラの命令が酷いのと、ブ…


続きを読む

[PIC] 16F84A->16F88で,ピンに追加された機能を確認する

2012年9月2日 (カテゴリ: PIC, 未分類:, )

PICの入門向け書籍でよく紹介されているPIC16F84Aですが、16F84Aとピン互換がありながらプログラムメモリが4倍に増えたPICに16F88が有ります。 16F88を単に84Aのプログラム容量が大きい版として使うのもよいのですが、機能も追加されています。 今回はデータシートのピンアサインを元に、16F88で増えた機能を確認します。 まず、こちらがPIC16F84Aのピンアサインです。 で、こちらが16F88です。 16F88を見ると分かるように、各ピンに対して様々な機能が追加されています。 慣れればピンの名称だけで機能が類推できますが、最初のうちは略称だけでは内容が分からないので、Pi…


続きを読む

XBeeのピン配列

2012年9月2日 (カテゴリ: XBee:)

XBee(Series2)は、基板から20本の足が出ています。 ピン番号はICと同じで、上から見て左上から反時計回りに1-20番pinになります。 ピンアサインは以下の通りとなっています。 Pin 名称        I/O I/Oデフォルト値 機能 — —————— ——- ——————- —————————— 1 VCC – 電源(3.3v) 2 DOUT 出力 UART出力(TX) 3 DIN/nCONFIG 入力 UART入力(RX) 4 DIO12 双方向 無効 デジタルIO12 5 …


続きを読む

XBeeを始めて買うとき最低限知っておきたい6つのこと

2012年9月2日 (カテゴリ: XBee:)

XBeeを使うと、PICやArduinoと連携して無線データ通信を簡単に行えます。 今回はXBeeを新しく買いたい人向けに、基礎的な情報をまとめておきます。 XBeeとZigBeeの関係 XBeeについて調べていると、”ZigBee”というキーワードが出てきます。 ZigBeeというのは、Bluetoothや、wifiのような無線通信の規格を意味しています。 ZigBee物理層はIEEE 802.15.4として規格化されています。 XBeeは、ZigBeeプロトコルを使ってデータの送受信を行います。 ですので、XBeeを無線LANのルータや、Bluetoothイヤホンと…


続きを読む

回路図作成にBSch3Vを使ってみた

2012年9月1日 (カテゴリ: 電子回路:)

ユニバーサル基板で回路を組むために回路図を描きたかったのですが、手書きだと面倒なのでフリーソフトのBSch3Vを使ってみました。 今回、使い勝手を調べるために作った回路図は、以前調べた74HC4511/BQ-N516RDの組合せです。 74HC4511とBQ-N516RDで,4桁の7セグLEDをコントロールする BSch3VにBQ-N516RDの部品は登録されていないので、部品から作る必要があります。 部品は、BSch3Vに同梱しているLCoV.exeというツールで作成します。 かなり使いやすいツールで、さくっと作れました。 ピン配置もこのような感じで、直感的に定義できます。 74HC4511…


続きを読む

“MSVBVM50.DLLがないため、プログラムを開始できません。”エラー発生時にすべき事

2012年9月1日 (カテゴリ: 未分類:)

プログラムを起動しようとすると、以下のエラーが発生して実行できない場合があります。 コンピューターに MSVBVM50.DLL がないため、プログラムを開始できません。 この問題を解決するには、プログラムを再インストールしてみてください。コンピューターに MSVBVM50.DLL がないため、プログラムを開始できません。 この問題を解決するには、プログラムを再インストールしてみてください。 これは、プログラムがVisual Basic5.0(VB5.0)という開発環境で作成されているのが原因です。 VB5.0用のプログラムを実行するためには、事前にMicrosoftのサイトから「ランタイムライ…


続きを読む

[PIC]HI-TECH Cで、タイマー割り込みを行う(PIC16F84A)

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

PIC16F84Aには、TMRというタイマーモジュールがあり、これを利用と一定周期でタイマ割り込みをかけることが出来ます。 今回は、HI-TECH Cでタイマ割り込み処理を作成してみます。 ※アセンブラ(MPASM)でタイマー割り込み処理を行いたい場合は、こちらの記事を参考にして下さい。 [PIC]TMRモジュールを使用する(タイマー割り込み) TMRを使用したサンプルコードです。 これは,8Mhzで動作しているPICに対して,約10ミリ秒周期でタイマー割り込みをかけています。 #include <stdio.h> #include <htc.h>   #de…


続きを読む