* 13/12/29: ATmegaの書き込みが2回目以降できなくなる [#kf91978f] 1回目は書き込みできるのに、2回目以降、FuseとLockBitは書けるのにプログラムだけ書けない、という現象に遭遇。いろいろ確認した結果、ISPでつかうSPIにぶらさがっているSlaveデバイス中にSSがアクティブHのやつがいたので、そいつが悪さをしていた(MISOに信号を出していた)のが原因の模様。Slaveデバイスを切り離したら書き込みOK。しかしプログラムだけ書き込めない、とか、1回目だけ書き込める、とか、実に紛らわしい。 * 13/12/28: Win8で、デフォルト保存先をSkyDriveでなくする [#be964ed2] 勝手にONになっているが、デフォルト保存先をSkyDriveでなくする設定のやりかた。 http://snow-white.cocolog-nifty.com/first/2013/11/windows-81-skyd.html http://ciao.aoten.jp/ciao/2013/07/office-2013skyd.html * 13/12/26: トースターでリフローの温度計測 [#s5637e17] ダミー基板に熱電対をカプトンテープで張り付ける、というのが現実的か。 http://www3.big.or.jp/~schaft/hardware/reflow/page004.html * 13/12/26: XBeeのS1とS2 [#i4b8033a] 今まで違いがよくわかってなかったので整理。 - S1 : IEEE802.15.4規格。1対1や1対nの通信ができる。ブロードキャストはDL=ffff - S2 : ZigBee規格。1個のコーディネータが必表。メッシュネットワークを組んでパケットの中継とかをしてくれる。 ※(13/12/27追記)S1でのブロードキャスト通信は、DH=0、DL=FFFF(0x0000FFFF)にする。PAN IDは同じに設定しておく。ちなみにX-CTU ver6.2だと、DH=0に設定できない(買い込んでも前の値が残っている)っぽい。X-CTU ver5.2なら大丈夫。 http://mag.switch-science.com/2012/07/20/startup_xbee_s1/ http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1481510089 * 13/12/21: Androidの急速充電 [#v07c6245] D-(2)とD+(3)を200Ω(またはショートでもOK?)でつなぐと急速充電になる。 * 13/12/20: Arduinoのブートローダをコマンドラインから書き込む [#rc5f8ca6] このあたりでできそう。stk500は,「13/10/16: AVRISPmkIIでコマンドラインから書き込み」あたりを参照。(ただしプログラムの書き込みがうまくいかない・・・AVRStudioからも書き込めなくなってしまった・・・) http://playground.arduino.cc/Learning/Burn168 * 13/12/19: VisualC# Express2010で,ファイル保存ダイアログの表示でハング(OSごと)する [#r8c6a01c] このあたりに解決策がある。 http://www.datazx.cn/Forums/ja-JP/bbb113e0-dc54-41fc-a1cc-c70efecea739/action?threadDisplayName=os this.openFileDialog1.ShowHelp = true; とするとよい,という謎の解決策もある模様。 * 13/12/19: ArduinoIDEからATmegaへのブートローダの書き込み方 [#bc4a2948] 大きく次の二つがある、ということらしい。 (ArduinoIDEでは、あたかもAVRISPmkIIで書き込めるみたいな選択肢があるが、標準ではできない模様) - ArduinoIDE+AVRISPmkII: libusb-win32など入れる。ただしAVRStudioでの書き込みができなくなる。 http://make.kosakalab.com/arduino/use/arduino_dev.html - ArduinoIDE+ArduinoUno(ISP用スケッチを書き込み済み)http://www3.big.or.jp/~schaft/hardware/bootloader_writer/page001.html * 13/12/18: 微弱無線機の送信出力の測り方 [#sac8d0be] http://members2.jcom.home.ne.jp/seisuke-y/WeakWave.html * 13/12/18: Eagleでメタルマスク用のガーバーデータをつくる [#b3d72f90] %% http://www.oyabunn.com/wordpress/eagle/%E3%83%A1%E3%82%BF%E3%83%AB%E3%83%9E%E3%82%B9%E3%82%AF%E7%94%A8%E3%82%AC%E3%83%BC%E3%83%90%E3%83%87%E3%83%BC%E3%82%BF%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95 %% http://yuki-sato.com/wordpress/2014/02/16/eagle%E3%81%A7%E3%83%A1%E3%82%BF%E3%83%AB%E3%83%9E%E3%82%B9%E3%82%AF%E7%94%A8%E3%82%AC%E3%83%BC%E3%83%90%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B/ * 13/12/16: Windowsインストーラの作成 [#k27e6282] VisualC# ExpressとかだとVisualStudioからインストーラをつくれないが、フリーウエアのWiX Editあたりが便利そう。 http://www.02.246.ne.jp/~torutk/windows/wixandwixedit.html (2013/12/17追試)このあたりの使い方が詳しい。→http://d.hatena.ne.jp/sakurai_youhei/20100818/1282153247 * 13/12/13: ArduinoのanalogWriteとタイマ [#a77f9a49] あたりまえといえば当たり前だけど、ArduinoのanalogWriteはTimerのPWMを使っているので、タイマを自分でいじる場合は、どのピンがどのTimerを使っているか、に注意。(これではまった) * 13/12/11: Arduinoのprintln()の改行コード [#u2468c5d] CR+LF、という仕様とのこと。 http://auxin01.wordpress.com/2012/07/11/arduino_crlf/ * 13/12/11: ArdunoIDEではまった2点(といってもC言語一般の話) [#h1ac70ff] 1つめはArduinoに限った話ではないけど、ビットシフト演算子の優先度の話。BCDの変換で (d / 10) << 4 + (d % 10); と書くと、<<は+より優先度が低いので、(4+d%10)ビットシフトされてしまう。 ((d / 10) << 4) + (d % 10); と書くのが吉。 あとこれもありがちだけど、グローバル変数とローカル変数で同じ名前の変数を宣言していてもエラーは出ない。が、別の変数領域のどっちをアクセスするか、どうもコンパイラ依存っぽいので、やっぱりさけるべき。 * 13/12/11: Arduino Pro 3.3V8MHzのFuse [#tb45f78a] Arduino Pro 3.3V8MHz(外付けオシレータなし)にブートローダを書き込むときのFuseの設定。なかなか見つからなかいので備忘録。 http://robo.mydns.jp/Lecture/index.php?Arduino%2FArduino%20%A4%CE%BC%AB%BA%EE%2FMINIMAL - ATmega328 Fuse: E=0xff H=0xda L=0xe2 - ATmega168 Fuse: E=0xf8 H=0xda L=0xe2 * 13/12/05: SkyDriveをネットワークドライブに割り当てる [#h59dece7] http://yseosoft.wordpress.com/2012/07/24/skydrive-%E3%82%92%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96%E3%81%AB%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%8B/ * 13/12/01: VisualC#でポインタを使う(Bitmapをいじるときなど)ときのunsafe [#jb9fb4dc] http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_021/csharp_abc01.html unsafeを使うには、プロジェクトのプロパティから「unsafeをチェックしない」をチェックする ちなみにBitmapを直接いじるのはこのあたりを参考に。 http://xptn.dtiblog.com/blog-entry-99.html * 13/11/26: ENGINEERの半田吸い取り機SS-02のメンテ [#xd5eac2e] ENGINEERの半田吸い取り機SS-02、便利なんだけどずっと使っていると、ロック部分の金具がすり減るのか、ロックしにくく(orロックしてもすぐ外れる)なってくる。ロックボタンのところのバネを強いもの(長いもの)に変えると、だいぶよくなった。 http://www.engineer.jp/products/solder/hd06/item_04/ss-02 * 13/11/25: Eagleで部品表を出力 [#me41bd42] 部品表(BOM; Bill of Material)を出すには、bom.ulpを使う。やっぱりEagleは、とりあえずULPってことか。 * 13/11/24: Eagleで出力したGerberデータのPCBEへ変換 [#n2e38b53] 穴の変換で、座標の桁数が小さいときにバグがあったので修正。 #ref(e2p_conv131124.zip) * 13/11/22: ArduinoのスケッチのHEXファイルをブランクAVRに書き込む [#d0b3d4cf] http://www.ina111.org/archives/212 ただしbuildフォルダをつくってもProgram Filesの中は書き込み制限が厳しいので、build.path=c:\tmpあたりにしておくのがよさそう。 * 13/11/4: ATmega644PのArduino [#z81a9d8b] Sanduinoが使えそう。 http://sanguino.cc/breadboardsanguino と思ったらArduinoIDE 1.0では対応してないっぽい。 このあたりを使うのが順当か。 https://code.google.com/p/arduino-atmega644/ * 13/11/1: AVRISPmkIIの3.3Vでの書き込み [#w6f66746] AVR StudioのTool→Programmingで、どうもうまく書き込みができないような気がするんだけど、気のせいだろうか。 電源電圧を5Vにすると普通に書き込めるが、3.3Vだと、Programボタンを押してOK、VerifyもOKそうだけど、動作しているプログラムが書き込む前のもの、のようだ。 データシートを読む限り、Serial Progamming時の電源電圧は1.8〜5.5Vの範囲、とあるので、3.3Vでもできるはずなんだけど、なんでだろう。 (2013/11/8追記)ATtiny10は書き込み時は5Vが必要とデータシート(の1ページ目)に書いてありました。ただ3.3Vで書き込めてなくてもVerifyが通る、というのはまぎらわしい。 * 13/11/1: 大判プリンタ(EPSON PX-F10000)でポスターを横に回転して印刷する [#p893ee8e] 例えばB1版ポスターをB0ロール紙に90度回転して印刷する場合、プリンタのプロパティから「ポスターレイアウトに配置」をチェックして印刷を開始すると、ロール紙上の好きな位置・向きに印刷を指定できる。 * 13/10/23: Arduinoの自作ライブラリでdigitalWrite等の標準ライブラリ関数を使う [#r07cbfb6] #include <Arduino.h> で、Arduino.hをインクルード。 * 13/10/23: Arduinoで自作ライブラリコンパイル時のエラー [#ncddd3ea] error: two or more data types in declaration of 'size_t' みたいなエラーがでて、なんだと思って調べてみたら、クラス定義の class hoge{ ... }; の最後のセミコロン(;)がない、というオチ。エラーメッセージからは類推しにくいです。 http://forum.arduino.cc/index.php?topic=36936.0 * 13/10/17: LEGOブロックのサイズ [#hbefcef7] ポッチの間隔=8mm、が基本寸法。高さは「ふつうのやつ」がその6/5倍=9.6mm。 http://www.nanolab.t.u-tokyo.ac.jp/~takamasu/mind-micro2.html * 13/10/17: いろんなコネクタのピン配置 [#ge57c305] いちいち調べるのが面倒なので、よく使うものをまとめてみた。 #ref(terminals.png) #ref(terminals.svg) * 13/10/16: AVRISPmkIIでコマンドラインから書き込み [#ud891063] できないことはないようだがけっこうめんどうそう。 http://blog-yama.a-quest.com/?eid=970131 http://www.shol.com/shadow_tech/nostudio.html * 13/10/15: Emacsで文字数を数える [#mdea8434] M-=で指定範囲の文字数(と行数)を表示。 http://d.hatena.ne.jp/takehikom/20101118/1290023600 * 13/10/15: 糸とかワイヤーとかのからまらない巻き方 [#if745b40] 棒に巻く方法。 http://www.youtube.com/watch?v=DNovkZdRl7M * 13/10/11: Autodesk 123D Designの操作 [#g09acb7e] 操作対象(スケッチの図形とか物体とか)を選んでから操作を選ぶ、という順の操作だと、対象をえらびにくい。が、操作を選んでからだと、その時点で選べる図形しか選べない(Extrudeならスケッチ内の図形のみ、など)ので、操作がやりやすい。 あと奥の方にあるスケッチを選びにくいときは、SolidをHide、SketchだけShow、にした状態にすると選びやすい。 * 13/10/10: EagleのmicroSDのライブラリ [#i6b2f89f] やはり作っている方がおられる。とりあえず「型番+Eagle」で検索してみるのが吉か。 http://memo.tank.jp/archives/1879 * 13/10/10: Autodesk 123Dでグリッド配置 [#mfdc285b] Primitiveでは置けないけど、Sketchだとグリッドに配置・描画のときはスナップできるので便利(だけど移動だとできないっぽい?) * 13/10/10: Autodesk 123Dで図形を並べて配置する [#z7319fc8] スケッチを配置するときと、物体(Solid)を配置するときで、少しやり方が違う。 例えば円形に配置する場合、スケッチでは、同一スケッチ内に円と図形を描く→円形配置を選ぶ→並べたいスケッチを選ぶ→配置の中心を、円の中心で指定する。 http://www.youtube.com/watch?v=8nEzlY4i3aQ 物体のときは、円形配置を選ぶ→物体を選ぶ→中心軸にする辺を選ぶ。 http://www.youtube.com/watch?v=9wv3FjkpRro&list=PL7epVYI5EUL6IBfOvzkVlO7wp4AUvfoXT * 13/10/10: Eagleでsch/brdで使われている部品をライブラリとして抜き出す [#c7c91bcd] 標準でついているexp-project-lbr.ulp、で抜き出して*.lbrとして保存できる。 そこから↓の方法で、自分のライブラリにコピーもできる。 * 13/10/09: Inkscapeのデフォルト設定を変更する [#f0476e45] template/deafult.svgを開き、いろいろ設定をいじって、上書き保存。 http://kattekrab.net/inkscape-change-default-document-properties * 13/10/09: Inkscapeの矢印の頭の色を線にあわせる [#h0a262d3] ワンステップ必要 http://wiki.inkscape.org/wiki/index.php/FAQ_%28Japanese%29#.E3.83.9E.E3.83.BC.E3.82.AB.E3.83.BC_.28.E7.B5.82.E7.82.B9.E3.81.AE.E7.9F.A2.E5.8D.B0.E3.81.AA.E3.81.A9.29_.E3.81.AE.E8.89.B2.E3.82.92.E5.A4.89.E6.9B.B4.E3.81.99.E3.82.8B.E3.81.AB.E3.81.AF.3F メニューの「エクステンション」→「パスの変形」→「マーカーの色をパスに合わせる」 * 13/10/08: 微弱無線機RF12BをArduinoで使う [#be04b7b1] Sparkfunで売ってる、超小型の微弱無線機RF12B https://www.sparkfun.com/products/9582 こいつをつかったBreakoutボードもある。 http://jeelabs.net/projects/hardware/wiki/RFM12B_Board JeeLabsというところでArduino用ライブラリを作っているみたい。 http://jeelabs.net/pub/docs/jeelib/md_intro_rf12.html それを使ったスケッチの例はこちら。RF12.*, RF12sio.*, Ports.*, JeeLib.hをArduino/Libraries/RF12に入れておけば、ライブラリRF12として使える。 https://www.inkling.com/read/arduino-cookbook-michael-margolis-2nd/chapter-14/recipe-14-6 ただしこれは結構上位のプロトコルまで実装していて、GroupとIDを指定できる。GroupはSYNC PATTERNとして指定しているようなので、無線機の物理層レベルで同一Groupしか通信しない、ということにできるようだ。もう1つのIDのほうは、1バイト単位での送受信の中にIDを埋めていて、受け側でIDが一致したら受信処理をする、みたいなことをしている。というわけで1バイト単位の送受信であれば、RF12B_code.pdfの例のように、FIFOを(マジックナンバーのpreambleを入れたりして)こべつにつつくのが順当そう。ただしかなり文字化けするようなので、CRCかチェックサムは必須(たぶん)。 * 13/10/07: ArduinoでSDカード読み書き [#r74bd5d6] http://arms22.blog91.fc2.com/blog-entry-502.html * 13/10/05: iPhone(等)で音声端子からリモコン信号を出す [#s19e9e0d] http://mag.switch-science.com/2012/12/26/remoconplug/ * 13/10/05: 小物撮影用照明の自作 [#u68df879] http://mag.switch-science.com/2012/08/03/diy-light/ * 13/10/03: microUSBホストケーブル自作 [#p43a2ddb] http://plaza.rakuten.co.jp/jashi/diary/201107140000/ * 13/10/02: 123D Designもろもろ [#lb79ef59] - グリッドの寸法は変えられないらしい。 http://forum.123dapp.com/123d/topics/grid_size-up0ft - 右上の、視点を指定する立方体のところの下三角で出てくるメニューで、PerspectiveかOrthographicかを選べる。機構図面まら後者の方が見やすいように思う。ちなみにPerspectiveだと遠近法描画なので、遠くのものが小さく見える。 - グリッドへのスナップは、Shiftを押してからドラッグ、でできるらしい。(が、Macだとできないけどなんでだろう?) http://forum.123dapp.com/123d/topics/snapping_to_gemoetry_broken_in_new_123d_design * 13/10/02: Windowsのタスクでバッチファイルを実行するときのデバッグ [#p4883b73] http://tobysoft.net/wiki/index.php?Windows%2FVista%2F%A5%BF%A5%B9%A5%AF%A5%B9%A5%B1%A5%B8%A5%E5%A1%BC%A5%E9%A1%BC%A4%C7%A5%D0%A5%C3%A5%C1%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%BC%C2%B9%D4%A4%B9%A4%EB%CA%FD%CB%A1 * 13/09/28: Paintで一部にモザイクを入れる [#fe325e90] こんな方法があるのか。簡単。 http://ameblo.jp/pixy77/entry-10047968356.html * 13/09/27: AVRISPmk2書き込み時のFuseの設定 [#b84b6b68] Arduinoブートローダの書き込みのように、設定するべきHIGH/LOW等のFuseビットの値がわかっている場合は、書き込み時に直接その値を入力すれば,それに応じて各bitの設定が変わるので、設定項目をON/OFFしてFuseビットの値をあわせる、ということをしなくてもよい。 * 13/09/26: Eagleで基板にネジ穴をあける [#j608f6d9] Hole、であける。 http://tomozon.sakura.ne.jp/eagle/use_eagle_1/ * 13/09/24: Eagleで使うドリルや配線幅のインチ-mm対応表 [#qb529224] つくってみた。(2013/9/25:黄色いところの計算ミスがあったので差し替え) #ref(Eagle_unit.xlsx) #ref(Eagle_unit.png) * 13/09/22: Webブラウザで動く描画アプリcocoo [#w96c79bd] Webブラウザでうごく描画アプリのcacooってのを試してみたんだけど、なかなか悪くない。 電子回路描くための部品とかもまあまあそろっている。SVGとかPDFとかpptとかに書き出しもできる。http://cacoo.com/ * 13/09/20: Eagle 6.30/6.40のキー定義 [#t417dd70] scr\Eagle.scrに書いたものが起動時に読み込まれる、という仕様になったみたい。 http://trac.switch-science.com/wiki/EagleShortCutSetting * 13/09/13: AVRでソフトウエアUART(アセンブラ) [#q8e1f7b4] http://izm.way-nifty.com/robo/2007/10/post_c97f.html * 13/09/13: ATtiny/ATmega等のISP時のクロック [#ta3be596] ISPのSPIクロックから与えられるものだとばかり思い込んでいたが、MPU自体のクロックは必要。新品なら工場出荷設定で内蔵8MHzになっているのでISP書き込みできるが、それ以外の場合は、外部クロックや水晶発振子などが必要。 http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/AVRTestB/AVRtestb.html * 13/09/12: FTDIチップでXilinx FPGAをコンフィグ [#z819d18a] http://www.hmwr-lsi.co.jp/fpga/fpga_1.htm * 13/09/12: Win7でEPSプリンタの追加 [#fbb9cbe7] http://app.m-cocolog.jp/t/typecast/260142/217579/71255967 ダイアログ内の上の「プリンタの追加」から行うのがポイント。 * 13/09/09: Arduinoのlong型変数とその演算 [#b79b1c49] long型は4バイト(32ビット)だが、演算は、少ないほうのビット数にあわせられるみたい。 unsigned long x, y; unsigned a, b; x = a * b; y = (unsinged long)a * (unsigned long)b; この例では、xはintの16ビットで求められるので、a*bが65536を超えると結果が正しくないが、yは正しく求められる。 * 13/09/08: ダクトを固定するわっか状の金具 [#ud264ccc] 名前がわからなかったけど「ダクト・固定」あたりで画像検索で発見。ホースバンドという名称。 http://www.amazon.co.jp/%E3%82%BF%E3%82%AB%E3%82%AE-takagi-%E3%83%9B%E3%83%BC%E3%82%B9%E3%83%90%E3%83%B3%E3%83%89-17-38-QG425/dp/B0055MANBE/ref=sr_1_3?ie=UTF8&qid=1378642719&sr=8-3&keywords=%E3%83%9B%E3%83%BC%E3%82%B9%E3%83%90%E3%83%B3%E3%83%89 * 13/09/06: Replicator2XでPVAをサポート材につかう [#j8ff17b6] http://www.fumi2kick.com/komekame/archives/1577 * 13/09/05: Replicator2Xもろもろ [#ze4f28ef] - Win7/64bitで起動しない→Win98/Me互換モードで起動、など http://www.syuheiuda.com/?p=2667 - フィラメント送りの改造とかMakerWareの代わりにReplicatorGを使う、など http://rdavinch.blogspot.jp/2013/02/replicator2.html * 13/09/05: ReplicatorでPVAをサポート材に使っている例 [#uba0d9ad] http://www.fumi2kick.com/komekame/archives/1529 * 13/09/02: Eagleで部品をグリッドにあわせる [#ie5031bb] Ctrl(Cmd)を押しながら部品を選ぶ。 http://allorsomething.blog75.fc2.com/blog-entry-54.html * 13/08/30: ATtiny13/45をArduino化する [#ke301785] http://hello-world.blog.so-net.ne.jp/2011-11-17 * 13/08/28: AVRでタッチセンサ [#a0b6b420] http://elm-chan.org/works/capsens/report_j.html * 13/08/28: AndroidのFoursqureからTwitter連携がはずれる [#kc7c61c9] 投稿時にON/OFFするスイッチがOFFになっている、ということもあるみたい。 http://atasinti.chu.jp/dad3/archives/11502 * 13/07/26: Eagleの回路図で表示されていない電源ピンに接続する [#ea92269b] 複数入りオペアンプなど、回路図に電源ピンが表示されていないものでは、 Invokeで1個選び、非表示になっている電源ピンを選んでOKすると、 それをどこに置くか選ぶようになるので、適当なところにおいて、 普通のノードと同じように電源配線をする。 http://www.technoveins.co.jp/develop/eagle/libedit.htm * 13/07/23: ArduinoでとったデータをProcessingでグラフ描画 [#v81d84f1] http://yoppa.org/tau_bmaw13/4790.html * 13/07/19: Windowsで削除できないプリントジョブを削除 [#x89597a7] http://www.lifehacker.jp/2010/03/100318printerhate.html ただしコマンドプロンプトからだと、管理者実行してもspoolへのアクセスが拒否される。Explorerでアクセスするといったん拒否されるが、OKを押せばアクセスできる。 * 13/07/12: PSoCのPWMでワンショットパルスを作る [#ue2d3f7f] ソフトウエア割り込みを併用する方法が紹介されていた。 http://www.pastelmagic.com/psocbbs/index.cgi?m=read&bnum=1213&num=1219 http://www.pastelmagic.com/wiki/psocwiki/index.php?%E7%99%BA%E8%A1%A8%E4%BC%9A%E4%BC%9A%E5%A0%B4 要は、トリガピンの割り込み→PWM_Start→PWMのTerminalCount割り込みで、PWM_Stop、ということ。 IrDARXでやっているような、外部ピンとPWMをLUTでWiredORする、みたいな方法はちょっとトリッキーで難しそうな雰囲気。 http://www.pastelmagic.com/psocbbs/?m=look&bnum=1910 * 13/07/12: PSoCのOneShotの入力パルス幅 [#u64eb56b] OneShotモジュールの性格(?)上、生成するパルス幅の1/8の周期のクロックにあわせてシフトレジスタが動作する、という構成のため、トリガパルスが短すぎるとNG。解決策はたぶんない。 * 13/07/08: FreeCADでネジをつくる [#c803f2f8] http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=8&t=1222&start=50#p11120 * 13/06/28: ThinkPad X1 Carbonのキーボードバックライト [#lde5ba5f] Fn+SPACEで点灯 http://nasunoblog.blogspot.jp/2012/11/lenovo-thinkpad-x1-carbonos.html * 13/06/28: sedで文字列置換 & awkでCSVを扱う [#f3210fa7] sedの基本中の基本だけど、すぐ忘れるので備忘録。 sed -e 's/hoge/HOGE/' で、行中の1つめのhogeをHOGEに置換。 sed -e 's/hoge/HOGE/g' で、行中のすべてのhogeをHOGEに置換。 http://wiki.livedoor.jp/engineernochiebukuro/d/sed%20%A4%CE%BB%C8%A4%A4%CA%FD あとawkでCSVを「ちゃんと」扱うのはめんどい(ただ「,」をFieldSeparatorにするだけだと、ダブルクオート中の「,」も区切りになってしまう)んだけど、全てのフィールドがダブルクオートで囲われている、という仮定があれば、「","」を「"\t"」に置換に、必要であればそのまえに「,,」を「\t""\t」に置換(更に必要であれば3つ以上の「,」のみの空フィールドが続くならばそれらも事前に)すれば、とりあえずは扱える。 * 13/06/15: Eagleで出力したGerberデータのPCBEへ変換 [#rb6761ea] 八角形アパーチャの取り扱いにバグがあったので修正。 #ref(e2p_conv130615.zip) * 13/06/10: MATLABで行列操作 [#t6f2a1fa] MATLAB的には常識レベルかもしれないけど備忘録。 ベクトルや行列を、[A B]とすると水平に結合。[A;B]とすると垂直に結合。A'はAの転置(行と列の入れ替え)。行/列ベクトルaだとa'は列/行ベクトルとなる。 save('filename','変数名','-ascii'); で行列の中身を保存できるが、変数名のところに羅列すると、ファイルの中ではつながる。たとえば'a','b'とすれば、'a'が保存された直後に'b'が保存される。したがって、aとbを並べて保存するには、data=[a b]で両者を並べた変数(行列)をつくってそれを保存する。 あと代入や演算のさいごにセミコロン(;)をつけると、演算結果は表示されないが、つけないと、演算結果の変数の内容などが表示されるので確認に便利。 * 13/06/07: SONY赤外線リモコン信号 [#bfdd70d5] http://elm-chan.org/docs/ir_format.html キャリア40kHz。あと45msごとにリピートで出さないと、最初の一発だけではうまく動かないことが多いようだ。信頼性はそれぐらい、というかんじなのだろうか。 * 13/06/07: ATtiny10の入力ピン割り込み [#p796be8b] なかなかデータシートを読んでもわかりにくいが、大きく分けるとINT0とPCINT0がある。 INT0は特定ピン(たしかPB0)の割り込みで、エッジ、レベルを指定できる。 PCINT0は、名前が紛らわしいが、PB0(PCINT0)〜PB3(PCINT3)のいずれかのピンの状態変化時の割り込みで、個別にマスクできる。つまりPB3(PCINT3)ピン変化の割り込みも、PCINT0という名前なので、そのISRは、ISR(PCINT0_vect){}に書く。(ISR処理が特になくても、割り込みフラグのためだけにこのISR()は用意しておかなければいけない)ちなみにAVR Studio6.0だと、このISR(PCINT0_vec)を書くと、"register not supported"というエラーが出るが、known-bugのようで(なぜかドイツ語ページがよくひっかかる)、AVR Studio6.1にあげると解消する模様。 * 13/06/06: NordicのBlankModule [#tcdb3735] IAMAS小林さんが言っていた話。 無線チップメーカーのNordicが、物理層で技適をとっているモジュール(アプリケーション層はユーザが作れる、というかつくらないといけない)として販売している、という例。「汎用デバイスとしての部品」の例、と考えることができる。 http://www.sankeibiz.jp/business/news/130228/prl1302281528052-n1.htm * 13/06/06: ATtiny10でPWM [#oe4c24f2] PB0からPWM波を出そうとして、FastPWM(mode=15)のChannelAをPB0につないで(TCCR0Aの上位2ビットで設定)、Timer0のTOPをOCR0Aにして周期を決めようと思ったのに、PWM波が出てこない。 で、調べてみたら、ビンゴ。 http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=114473&start=0 データシートのp.53(Timer0/Counter0の構成図)の通り、ChannelAのコンペアマッチはOCR0Aを使うので、Timer0のTOPをOCR0AにするFastPWM(mode=15)は使えない。TOPをICR0で指定するFastPWM(mode=14)などを使う。 * 13/06/05: ATtiny10のTPI書き込みと電源電圧 [#e02c6f9c] ATtiny10をTPIで書き込みしようと思ったら失敗して、なんでだろう?といろいろ試したら電源を3.3Vから5Vにしたらあっさり書き込みできた。そんな制限ってあったっけ? ざっとデータシートを見た範囲では、そのような仕様は書いてないんだけどなあ。 * 13/05/31: Eagleで複数基板を面付け [#v0181ca0] http://flexir.net/blog/item_244.html * 13/05/28: Eagleショートカット [#md369074] いろいろ変えていたので最新版。BoardではDeleteやWireは使わないけど、気分的にはRip-upが配線削除でRouteが配線なので、それぞれD/Wに割り当てている。 #ref(EagleKeymap130528.png) #ref(EagleKeymap130528.txt) * 13/05/22: 秋月I2C液晶をPSoC1からI2Cでつつく [#ocfe8944] 秋月I2C液晶に載っているPICがソフトウエア処理なのかI2Cクロックが100kHz以下という制約があるので、Standard速度で動かせば大丈夫。あとデータシートには明記されていないがaddr=0x50に0x00+コマンドか0x80+データの2バイトを送る。 キャラクタ液晶につきもののmsオーダーの長いウエイトも含めて、こんな感じ。(CPUCLK=SYSCLK/2) BYTE I2Cbuf[16]; #define I2C_LCD 0x50 void LCDwrite_command(BYTE d){ I2Cbuf[0] = 0x00; I2Cbuf[1] = d; I2CHW_bWriteBytes(I2C_LCD, I2Cbuf, 2, I2CHW_CompleteXfer); while(!(I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE)); I2CHW_ClrWrStatus(); } void LCDwrite_data(BYTE d){ I2Cbuf[0] = 0x80; I2Cbuf[1] = d; I2CHW_bWriteBytes(I2C_LCD, I2Cbuf, 2, I2CHW_CompleteXfer); while(!(I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE)); I2CHW_ClrWrStatus(); } void delay_ms(BYTE d){ WORD w; while(d-- > 0) for (w = 0; w < 300; w++); } void main(void) { BYTE d; I2CHW_Start(); I2CHW_EnableMstr(); M8C_EnableGInt; I2CHW_EnableInt(); LCDwrite_command(0x01); // clear display delay_ms(5); LCDwrite_command(0x38); // 4bit/2line delay_ms(5); LCDwrite_command(0x0f); // display&cursor&blink on delay_ms(5); LCDwrite_command(0x06); // cursor motion delay_ms(5); LCDwrite_command(0x80); // set address as 0 delay_ms(5); LCDwrite_data(d); // write character at current position } * 13/05/21: Eagleでビットマップ画像を読み込む [#wc5c22f0] そういうULPがある。 http://ameblo.jp/neophile/entry-10427032905.html * 13/05/07: レーザーカッターで銅箔カット [#b7eded4e] やっている人がいた。さすがにやはり無理とのこと。 http://kawaiirobo.web.fc2.com/lasercutter.html * 13/04/25: Eagleで部品を45度回転させて配置 [#e88a784d] Boardではできる。コマンド欄に rotate r45 '???' (???=部品番号。R1、など) でできる。 http://www.eaglecentral.ca/forums/index.php/mv/msg/32831/112877/ http://d.hatena.ne.jp/suikan+blackfin/20090207/1233982188 * 13/04/24: FreeCADで複数オブジェクトを統合 [#ge087852] 融合していてほしい複数オブジェクトを別々につくって、まとめてSTL形式でExportすると、 KISSlicer→pronterfaceで、うまく融合した物体にできないことがある(結構多い)。 そこでFreeCAD上で、PartsDesignにして、融合したいオブジェクトをFusionすると、 1個のオブジェクトに統合できるので、こいつをExportするとうまくいくっぽい。 * 13/04/19: MATLABでスペクトル [#pa7f0f19] http://www.mathworks.co.jp/products/matlab/examples.html?file=/products/demos/shipping_ja/matlab/fftdemo.html こちらを参考に。要点はこんなかんじ。 - データをベクトルとして読み込む。(この時点ではデータは配列に入るので、サンプリング周波数の情報はどこにも入らず、データの配列の通し番号だけ) - それをfftしてconjをとってパワーを求める。(この時点ではパワーも配列に入るので、周波数の情報はどこにも入らず、パワーの配列の通し番号だけ) - サンプリング周波数fsの情報を持つベクトルfを、f=fs/N*(0:N/2-1)として作成。これで「パワーの配列の通し番号の添え字」と「対応する周波数」との関連がつく。 - plot(f, p)みたいにして横軸=周波数f、縦軸=パワーp、というグラフをかけば、それがスペクトル。 ちなみに以前にも書いたけど忘れていたので備忘録 - CSVの読み込みは、A = csvread('hoge.csv')。これで行列Aの各列に、CSVの各列のデータが入る。 - 行列からの各列の抜き出しは、例えばAの1列目をベクトルtに入れるのであれば、t=A(:,1)(※「:」は(行の)すべて、という意味) - ベクトルや行列の「添え字」は1からはじまることに注意。(よくごちゃごちゃになる) * 13/04/14: Blade-1の送り機構の温度 [#q827dec4] 3DプリンタのBlade-1で続けて成形をしていると、送り機構がフィラメントを送れなくなる(送るときにステッピングモータがカコッカコッと脱調する)ことがあって、成形に失敗することが多い(ような気がする)。原因はだいたい送り機構(かその付近のフィラメント)が熱くなっていて、ここでフィラメントが少し溶けて、送り機構のギザギザに少しくっついているために送りに失敗しているのが原因。送り機構を冷やすと、冷風をあてるとヘッドの温度も下がってしまう。 対策として、ヘッド温度上昇中はいったんフィラメントを抜き、ヘッド温度が設定温度まで上昇してからフィラメントをさして射出テスト後に成形をはじめると、失敗が少ない感じ。 * 13/03/27: MATLABでスペクトルを求める [#b8bd2a6d] 基本的には、データに対してfftして、conjで共役をとって正規化。 http://www.mathworks.co.jp/products/matlab/examples.html?file=/products/demos/shipping_ja/matlab/fftdemo.html http://digital-lives.seesaa.net/article/180722066.html * 13/03/22: コマンドプロンプトの変数の扱い [#t337e989] 今まで知らなかったけど、けっこう凝ったことができる。 - 変数の代入はsetを使う set a=hogehoge - 変数の値の参照は、%で囲う。例えば変数"a"は%a%となる。 set b=%a% - 変数の参照では文字列置換もできる。以下の例では、変数a中の文字"b"を"c"に置換する set b=%a:b=c% - 日付は%date%で参照できる set c=%date% - これらをくみあわせて、日付の区切りのスラッシュをとるにはこんな感じ。 set c=%date:/=% * 13/03/12: InkscapeのDifference演算 [#ic071765] 並び順でどっちが上か、でどっちからどっちの差分か、が決まる。 http://inkscape.paix.jp/manual/editpath-boolean.html#boolean-4 * 13/03/11: Win8のファイル選択ダイアログの左側(プレースバー)の変更 [#x667130b] Win8でもこれでいけるっぽい。 http://www.forest.impress.co.jp/article/2008/07/22/placesbareditor.html * 13/03/09: Win8でファイル選択ダイアログが異様に遅くなる [#y1f0f3fa] ネットワーク接続の復元、が原因の1つの模様。とりあえずログオン時に再接続、をはずしてみる。 http://support.microsoft.com/kb/313937/ja * 13/03/05: LPC1102のLチカ [#q5f9b487] IOポートのトグル、の書き方のメモ。 LPC_GPIO0->DIR = 0x0100; // set P0.8 as output LPC_GPIO0->DATA = 0x100; // P0.8 = '1' のように書く。(という流儀もある、という感じ?まだよくわからない) http://www.eleki-jack.com/arm/2010/02/lpcxpressoled-6.html * 13/03/04: 秋月のLPCXpresso1115のサンプル実行 [#p7285716] 添付のQuickStartGuideによれば、1114用のサンプルをImportして、MCU Settingを1115に変えて使え、の一言で済まされているが、その設定は、ちょっと奥まったところにある。 ProjectのProperty→C/C++Build→MCU Setting内。 http://meimeiyajisan.blogspot.jp/2011/05/blog-post_29.html * 13/03/02: GoogleCalendarで追加した(サブ)カレンダーをiPhoneで同期する [#e098f713] 専用ページから設定しないといけない模様。あとiPhone側も、なぜかExchangeアカウントでは追加した(サブ)カレンダーがみえなかった。Gmailアカウントで同期したらみえた。 http://blog.caraldo.net/2012/04/google_iphone.php * 13/02/25: Meadowをサーバとして使う(=他のアプリから使う) [#bc7749f7] 標準でインストールされるemacsclientw.exeを使うのが簡単。emacsclientw.exeに"-n"オプションをつければ、ファイル受け渡し時のコマンドプロンプトを開かない。 http://d.hatena.ne.jp/tokorom/20080107/1199708103 * 13/02/23: ArduinoのRAM使用状況の調べ方 [#gfcf9f01] このあたりが参考になるか。 http://d.hatena.ne.jp/clayfish/20090301/1235839554 * 13/02/21: Blenderで作成したSTLデータの寸法 [#ba5b6bc2] Blenderというオープンソースの3Dモデリングがあって、STLデータのExportができるが、Blenderでの寸法の単位がBlenderUnit(BU)という独特なもので、ExportしたSTLデータの寸法がどうもいまいちよくわからない。(BlenderのScaleで単位をミリなどに設定できる、ようなのだけど、STLデータには反映されないっぽい)。 そこで付け焼刃ではあるが、KISSlicerで読み込んだあと、"Scale by X"で、全体を拡大縮小するのが現実的か。ちなみにKISSlicerでは読み込み時に自動的に回転する、というオプションもある模様。 * 13/02/21: ベニヤ板の反りをなおす [#me1cbc4c] レーザーカッターでベニヤ板を加工するとき、モノによっては反っているものがある。湿気の多い金沢ではしょうがないといえばしょうがないけど、反りがひどいとヘッド(特に材料表面に近いアシストエアのノズル)がぶつかってしまう。というわけで反ったベニヤ板の直し方。大きく分けると、(1)ふくらんだ側を加熱する、(2)内側をぬらして平らになるように力を加えた状態で数日待つ、といったところ。 http://okwave.jp/qa/q28272.html http://vicdiy.com/assy_knowhow/0010/0010.html * 13/02/20: #ifdefの罠 [#g16d49d8] #defineでDEBUGを定義しているときだけ確認メッセージを表示させたくて、以下のようなコードを書いた時の罠。 if (!init()) #ifdef DEBUG Serial.print("Failed to init"); #endif init2(); DEBUGをdefineしているときは問題なく動くのだけど、defineをしないと、動作しない(init2()が行われない)。 考えてみればあたりまえの話で、この書き方だと、DEBUGをdefineしていないときは、以下と等価になる。 if (!init()) init2(); つまり、init()の戻り値がfalseのときだけinit2()を実行する、という、本来と逆の動作となっていまう。 というわけでこう書くのが正しい。 if (!init()){ #ifdef DEBUG Serial.print("Failed to init"); #endif } init2(); やはり#ifdefは注意して使わないといけない。 * 13/02/16: Arduinoでサーボ制御 [#lafd9aa1] Servoというライブラリがあるのでそれを使うと便利。 http://kousaku-kousaku.blogspot.jp/2008/06/arduino.html * 13/02/16: Arduinoのアナログピンの「ピン番号」 [#df5566a6] A0-A5が、D14-D19となる。 http://www.musashinodenpa.com/arduino/ref/index.php?f=2&pos=116 * 13/02/16: ArduinoにSPIデバイス2個をつける [#v3ab435f] デバイス側のSlaveSelect(SS)をArduinoの別端子に割り当てれば、SCLK/MISO/MOSIは共用できる。ただしSPIの動作モード(LSB/MSBファースト、クロック極性など)が異なる場合は、その都度SPIの動作モードを切り替えるか、SCLK/MISO/MOSIを別ピンに割り当てるのが現実的。なおSPI通信を、ATmega内蔵のSPIモジュールを使わずにソフトウエアI/Oピン制御で実装している場合もあるので要注意。(SPIモジュールをEnableにしてしまうとソフトウエアI/Oピン制御はきかないため) * 13/02/08: FreeCAD関連 [#w29e66fe] - オブジェクトを移動や回転させるのは、オブジェクトを選択→Edit→Placement、で平行移動や回転を数値で指定できる。Transformでも移動できるが、数値の指定ができない。 - Partsデザインだと、直方体や円柱などの寸法や位置などのパラメータを指定してオブジェクトを作成できる。 - 面取り(Fillet)は、面取りする「辺」を選んでから実行する。 - Padの面を選んでSketchを作成すると、その面をふくむPadもいっしょになる? - 1つのSketch内で閉じた曲線はExtrudeすると中が埋まる、閉じていないと外側の面だけ。2つ以上の線分や円弧をつなぐときは、接続する制約(coincident)をつけたほうが確実。 - オブジェクトの投影図を保存したいときは、Draft Workbenchで、Shape2DView - ver0.13になって、ツールボタンなどが増えていて、とても便利になっている。 * 13/02/07: ThinkPad X1 CarbonのACアダプタの角形コネクタの設計図面と結線 [#yd242fd7] 外側と真ん中の芯線がつながっててー極。四角の内側の両側が+極。20V。 #ref(TP_X1_ACconn.zip) * 13/02/07: USBカメラの映像を表示するだけのソフト [#l73f5277] ありそうでなかったので備忘録。 http://rebelrider.web.fc2.com/webcamohcproject/index.html * 13/02/06: Inkscapeの細い線のBoundingBox [#i2cddbba] デフォルトだと、線の太さも含めた外枠がBoundingBoxとなるが、寸法が厳密な製図などでは扱いにくい。Preferenceから幾何学的BoundingBoxを設定するとよい。 http://inkscapedesign.web.fc2.com/basic/glossary-basic.html * 13/02/05: FreeCADのチュートリアルと、面からスケッチをつくる&Pocket [#l1014403] http://freecad-tutorial.blogspot.jp/ あと、つくった立体の1つの面に対して加工をしたい場合、新規に1つ空のスケッチをつくっておいて、その立体の面を選び、PartsDesign→"Map sketch to face"を選ぶと、その面のスケッチがつくれる。 あとPocketの使い方がいまいちよくわかっていなかったんだけど、↑のように面からつくったスケッチで、もう1つ図形を描いた状態でPocketすると、その書いた図形の部分がへこんだ形状になる。 * 13/02/03: STLデータを加工する [#ue902f60] 拾ってきた3次元モデルのSTLデータを加工したいときのやり方の一つ。FreeCADでSTLを開いて、Mesh Designでいじり(いらないところを消す、など)、またPartsDesignなどでほしい部分を追加する、など。 * 13/02/02: VyattaでStaticNAT(ポートフォワード) [#l6ceeceb] プライベート内に置いたUSBデバイスサーバをグローバル側からアクセスできるようにするために必要となる設定。 http://sa3g.blogspot.jp/2010/12/vyatta.html * 13/01/31: Win7/8のタスクバーを細くする(アイコンを小さくする) [#ac29823e] http://www.moonmile.net/blog/archives/402 * 13/01/31: ThinkPadの内蔵Bluetoothドーターカード [#becc1209] BDC (Bluetooth Daughter Card)で、いくつかバリエーションがある模様。 - L412: BDC-2 (こいつのパターンは解析・電圧計測してGNDとVDD(3.3V)の場所は確認した。残り2本が信号線で他は結線なしの模様なので、USBのD+とD-っぽい。 http://support.lenovo.com/en_EG/downloads/detail.page?DocID=PD000691 - R400: BDC-2.1 http://support.lenovo.com/en_US/product-and-parts/detail.page?&LegacyDocID=MIGR-71538 - E530: BDC-2.1の模様 - X1 Carbon: BDC-4 * 13/01/31: InkscapeでDXF出力時のエラー [#y5d9f421] InkscapeでDXF出力しようとするとエラーが出ることがあって、対処はだいたいスクリプト*.py関係なわけだけど、PythonをInkscapeが自前で持っているようで、そのPythonに対して設定・プラグインの追加をしないといけない。 例えばWin版Inkscapeだとこんなエラーが出ることがある。 UnicodeEncodeError: 'ascii' codec can't encode characters in position 1345-1348: ordinal not in range(128) http://nanitsuku.blogspot.jp/2011/12/macinkscapedxf.html ここによれば、Pythonのencodeの設定の問題なのだけど、その設定ファイルを置く場所は、Inkscapeのインストールディレクトリ内のPython/Lib/以下、におかないといけない。 * 13/01/31: Google Sketchupでインポート [#c0170af9] 3次元のデータをつくるとき、平面図を読み込んでから、ということは多いわけだけど、Google Sketchupは、Pluginでいろいろ読み込める。 たとえば、 - DXF : http://monge.tec.fukuoka-u.ac.jp/caddesign_SketchUp/plugins_dxf_in00.html - SVG : http://rhin.crai.archi.fr/rld/plugin_details.php?id=435 ちなみにPluginをインストールしたあと、Google Sketchupのメニューのどこに現れるかはいろいろの模様。たとえば上記DXFはFileの中で、上記SVGはPluginの中。 * 13/01/30: Windows8でVPN (Cisco AnyConnect) [#q7c3249a] レジストリいじるといける模様。 http://www.hidekik.com/adminpage/hbg/hbg.cgi?number=660 * 13/01/30: Inkscapeで数値入力ができなくなる [#y074a393] 最近なぜかちょくちょくあって、なんだろう?と思ったらこんな方法を発見。 http://kppn012.blog.so-net.ne.jp/2013-01-07-1 * 13/01/29: コマンドラインからのAVRの書き込み [#rc79d906] avrdudeでいけそうな雰囲気。 http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Favrdude39 * 13/01/23: 3D CADとデータ形式と相互変換 [#oc8edf0d] いろいろあるので、散発的だけど備忘録。 - CAD (フリーのもののみ) -- Autodesk 123D Design http://www.123dapp.com/ -- FreeCAD http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page ※機構 -- gCAD3D http://www.gcad3d.org/ -- GoogleSketchUp http://www.sketchup.com/intl/ja/product/gsu.html ※機構 -- 3DAce http://hp.vector.co.jp/authors/VA017881/ -- CreoElement http://ja.ptc.com/product/creo-elements-direct/modeling -- Metasequoia http://www.metaseq.net/metaseq/ ※ポリゴン - データ形式 http://www.niteco.co.jp/work/3d-format.html -- STL : メッシュ形式。一番メジャー? (Blade-1で成形するにはこの形式で) -- MQO : メタセコイア形式。キャラクターなどのデータに多い。 -- DXF : いわゆるDXF形式。 -- SKP : GoogleSketchUp -- IGES/igs : 汎用中間フォーマット -- DWG : AutoCAD - データ形式の変換 -- GoogleSkectchUpでSTL出力 http://tech.cenkhor.org/archives/10 -- Metasequoia→STL(GoogleSketchUpと3DAceを経由) http://class-exe.jpn.org/2010/12/mqo_to_stl/ - データひろば -- http://www.123dapp.com/design -- http://www.thingiverse.com/ -- いろいろ60 http://createlier.sitemix.jp/blog/free-3d-model-60sites/ * 13/01/22: Wordの「校閲者別の色」 [#r9fc2b95] Wordでは変更履歴を記録するときに校閲者ごとに色を分けられるが、その色は指定できない、ということらしい。 http://office-qa.com/Word/wd16.htm * 13/01/18: Win版Eagleの定義ファイルの場所 [#rcdd0fb5] C:\Users\{username}\AppData\Roaming\CadSoft\EAGLE\eaglerc.usr、ということのようだ。 http://www.element14.com/community/community/experts/blog/tags/eagle * 13/01/17: VisualC#でopenFileDialogで取得したファイル名からパスなどの抜出 [#b2a5f495] System.IO.Path.にいろんな便利関数がある。 http://dobon.net/vb/dotnet/file/pathclass.html * 12/12/21: AVRのクロック分周比の変更 [#l0d18c40] CLKPSRレジスタで行うが、データシートにある通り、CCPレジスタにマジックナンバ0xd8を書いてから。つまりCCP=0xd8;→CLKMSR=0x00;(x1の場合)のように行う。