PIC24FでUARTの送信が反転していた

PIC24FJ64GA004でUARTを使うことになり,適当に組んでみたところ挙動がおかしいので少し調査してみたところ,どうやら送信時の極性に関する設定が間違っているらしいことを突き止めた.オシロスコープでみると,アイドル時の極性が反転していました.

UARTの設定はライブラリを使用しているわけで,ヘッダファイルを探してみたところ

 #define UART_IrDA_POL_INV_ONE 0xEFFF /*IrDA encoded, UxTX Idle state is '1' */
 #define UART_IrDA_POL_INV_ZERO 0xAFFF/* IrDA encoded, UxTX Idle state is '0' */

というパラメータが見つかった.ここで注意するのが,このパラメータはIrDAのみだけではなくUARTのTxに関しても影響する点で,うっかりしていると「IrDAか・・・ まあUARTには関係ないだろ」と思い込んで要らぬ時間の浪費をするかもしれない.


詳細は下記のPDFを参照してもらえば良いかと思います.
http://ww1.microchip.com/downloads/en/DeviceDoc/DS39708A_JP%20PIC24F%20Ref.Manual%20Section%2021.pdf

よくデータシートを見れば大した問題では無いだろうけど,もし上手く動作しないときにはパラメータを見直してみると良いかもしれない.

MFCと.NETのAPIを書き換える

他の人が書いたロボットのコントロールプログラムがあるのだけど、そのプログラムはMFCで書かれていたのですよ。

手元にはMFCが使える環境が無かった(そもそも、MFC自体は使ったことが無いし
)ので、ネットの情報を片手に.NETで書き換えてたわけなんですよ。

最初はいくつかのメソッドをスクラッチしないとダメかなと思ったけど、よくMFCと.NETのAPIを見比べてみたところ特にスクラッチする必要が無いことが分かった。

あまり労力は掛からなかったけど、どこかにAPIの互換についてまとめが書いてあれば楽々と書き換えができたのだろうなぁ

OpenCV2.1 Windows版 cvExtractSURFでのランタイムエラー

研究室内でOpenCVのSURFを使っていたのだが、その際に「明らかに問題が無いのに、ランタイムエラーが発生する」という話を持ちかけられた。ちなみに、持ちかけてきた方のOpenCVは2.1であった。

そこで、そのプログラムを実行するためにOpenCVをPCに導入したのだが、その際にOpenCV2.3を入れて確認してみたところ、なにも問題なく動作した。確認のために話を持ちかけてきた方のPCでもOpenCV2.3をセットアップしたところ、問題なく動作した。

どうやらOpenCV2.1の時点ではバグがcvExtractSURFにはバグが存在するようなので、似たような症状が発生したら試しに新しいバージョンに入れ替えて試してみるとよいのではないだろうか。

walkman nw-s754(に限らないかもしれない)不具合の直し方

SONY製品は嫌いなのだが,学校の近くのヤマダ電機で安く売っていたので,SONYのnw-s754という16GBのmp3プレーヤーを購入してみた.

そしたら,20日目で故障した様子.
そこで,何とか修理に出さずに直そうと努力してみました.

不具合と,その直し方
 現象は,画面上では再生しているが音量の操作ができず,音が出ないという問題.
 解決方法は,Xアプリを用いて曲を転送し直す.

以下は,購入してからの経過とかのメモ

続きを読む

windowsでUSBデバイスを使うために

ここ最近はPICを使ったUSBデバイスを作ることが多い.

Microchipから提供されているライブラリを使うことで簡単にファームウェアが開発できるので,なかなか便利である.
USB Framework for PIC18, PIC24 & PIC32

ちょっとググれば,PIC18F14K50やPIC18F2550などで自作USBデバイスを開発している方々が多く居るので,ある程度の知識があれば比較的簡単に自作USBデバイスを開発できるようになってきた気がする.


Microchipから提供されているライブラリにはwindowsのサンプルプログラムも用意されているので,サンプルプログラムを変更していくことで自作USBデバイスを扱うプログラムを簡単に手に入れることが出来る.その際に使っている関数の仕様は以下のページで見ることが出来るので,なにか困ったときに参考にしている.

Windows previous versions documentation | Microsoft Docs
Public Device Installation Functions - Windows 10 hardware dev | Microsoft Docs


話はまったく飛ぶけど,今年度もROBOMECに参加します.
前回と同じようにロボットのデモを行うので,ポスターの前で何か走っていると思います.