So-net無料ブログ作成
検索選択
プログラムライター ブログトップ

ねこの首に鈴を! [プログラムライター]

最近は各種MPUのライターが沢山あって便利です。

ただ残念に思うのは同じ名前ばかり有って、どれがどれなのか区別が付かない。

今流のハッカー型「コマンドラインを打ち込み給え」と言うのから、「GUIが出てくるので直ぐ判るだろ」mAでありその実、動作説明が細かいところを表していないので、手を出すからには、失敗したらやり直さないと行けないものもあり、

場合によってはもう元に戻らないものもある。(トラ技に付いてきたH社の基板 ライターに変更したらそれっきり)

昔行った中国の研究所では国内各地のコンセントを板に貼り付けたものがあり、それを介して

試験をすることが出来た。

 

最近思うにプログラムライターのピンコネクションは雑種多様な配列やピン数があり、

それぞれの作者がこれが一番良いと言って、はばからない。

使用者側は中国のように板にコネクタ全種類を取りつけて 、それぞれ適合するMPUのボード名を張らないといけないのだろうか?

それにしても名前もハッキリ統一(分類)してくれると 直ぐに探し当てられるが、何分同じ名前で、

違うものがはびこりすぎているので 、無理かも知れない。

それと、別の作者の作品を少し改良して、私のだと言われる方もいる。

試作品を評価して感想を書いて欲しいなどと書いてあるが、書くとか成らず取られる。

あるいは何かの提案をすると、いったんは必ず貶される、その後あちらの作品に入っているのには驚かされる。

しかもけっこう社会的地位の有る方でもあるのだ。


コメント(0) 

FTDI_FT232RL の設定 [プログラムライター]

FTDI_FT232RLはMPROG.EXE 3.5で内容のブルグラムが出来ます。

WS000544.JPG

各ポートの極性や、補助ポートの設定、電源電流の設定が出来ます。

I/Oポートの電源は設定端子を外部接続することで3.3Vや5vトレランスにすることが出来ます。

実はFT232RLで飛んでもないことが起こりました。
このデバイスを差すと「Mなんとかボールポインティングデバイス」
と「USBシリアルポート」が同時にインストールされてしまいます。
その結果マウスカーソルがあちこち飛び回って画面や動作がめちゃくちゃになっていまい、FT232RLを抜くと止まります。
無茶苦茶な状態で「Mなんとかボールポインティングデバイス」を削除できると
後はシリアルポートとして動作しますが、シリアル信号を止めてしばらくすると
通信状態LEDが点灯したままになって、またぞろ「Mなんとかボールポインティングデバイス」が生き返ってしまい、飛んでもない動作をはじめるようです。
他のFT232RLデバイスですとその様には成らないので、デバイス内部のどこかが故障しているようです。
(Mprog3.5で内部をデフォルトに戻しても同じですから、
PROM上のプログラムの問題ではないようです)
まったく怪としか云いようがありません。

 sWS000549.JPG

なんとこれはシスコとMソフトでも報告されていて、

対処のしようがないようです。

なんとかつかまえて無効にするのがよいようで、

COM1 および COM3: IRQ4
COM2 および COM4: IRQ3 

の時に起こるようです。

ssP1010311.jpg

基板が悪いかと秋のモジュールに取り替えましたが、同じ症状に成りました。

(緑と黄色のLEDはバックアップ用スーパーキャパシタ1Fのブリーディング用で3.8vにクランプされています。)

(同じ、モデムと、システム上の別のデバイスが使用して場合、以下の問題 COM ポート、または別の COM ポートが、同じ割り込み (IRQ)、ダイヤルや接続しようとする場合に発生可能性があります。)

ttp://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/ipt/cu/tsg1/chapter02/TSG_0200.HTML

「Windows の起動中にシリアル トラフィックがあると・・」

なんかチョット違う感じもしますが・・

なんでも、USB関係のIRQを3,4 を外すと防げるらしいです、

時間を見つけてやってみますね。

 

 


コメント(0) 

もしもPICとAVRが一緒に書けたら便利? [プログラムライター]

まずは回路図を書き直しました。

sWS000537.JPG

下記を追加変更しました。

Errors :0       Warnings :0
Code   :4487/8192    Data:159/352  Hardware Stack : 6/8  Software Stack :96

スタックが深いのでAVR分に触るか心配・・PIC側を使わないならOKかも・・

--include 16f648a
include 16f886

var volatile bit clock_pin      is pin_a0  -- target RB6
var volatile bit reset_pin      is pin_a1  --
var volatile bit pump_feed_pin  is pin_a2  --
var volatile bit short_pin      is pin_a3  -- short target Vcc (Wisp648)
var volatile bit led_pin        is pin_a4  --
var volatile bit dummy_a5_pin   is pin_a5  --
--var volatile bit dummy_a6_pin   is pin_a6                                     -- XTAL_in
--var volatile bit dummy_a7_pin   is pin_a7                                     -- XTAL_out

--var volatile bit pump_1_pin     is pin_b0  --
var volatile bit dummy_b0_pin     is pin_b0                                     --
--var volatile bit async_in_pin   is pin_b1  --
var volatile bit pump_1_pin     is pin_b1                                       --
--var volatile bit async_out_pin  is pin_b2  --
var volatile bit pump_2_pin     is pin_b2                                       --
--var volatile bit pump_2_pin     is pin_b3  --
var volatile bit dummy_b3_pin      is pin_b3                                    --
--var volatile bit aux_2_pin      is pin_b4  --
var volatile bit pulldown_pin   is pin_b4  -- target PGM                        --

var volatile bit data_pin       is pin_b5  -- target RB7                        --
--var volatile bit aux_1_pin      is pin_b6  -- short target Vcc (dongle)
var volatile bit dummy_b6_pin      is pin_b6  -- short target Vcc (dongle)      --
--var volatile bit pulldown_pin   is pin_b7  -- target PGM
var volatile bit dummy_b7_pin      is pin_b7                                    --

var volatile bit aux_1_pin        is pin_c0                                     --
var volatile bit aux_2_pin      is pin_c1                                       --
var volatile bit dummy_c2_pin  is pin_c2                                        --
var volatile bit dummy_c3_pin     is pin_c3                                     --
var volatile bit dummy_c4_pin      is pin_c4                                    --
var volatile bit dummy_c5_pin       is pin_c5  -- target RB7                    --
var volatile bit async_out_pin  is pin_c6                                       --
var volatile bit async_in_pin   is pin_c7                                       --

--var volatile bit dummy_e3_pin   is pin_e3  -- target PGM                      --

var volatile bit clock_pin_direction      is pin_a0_direction
var volatile bit reset_pin_direction      is pin_a1_direction
var volatile bit pump_feed_pin_direction  is pin_a2_direction
var volatile bit short_pin_direction      is pin_a3_direction
var volatile bit led_pin_direction        is pin_a4_direction
var volatile bit dummy_a5_pin_direction   is pin_a5_direction

var volatile bit clock_pin_direction      is pin_a0_direction                   --
var volatile bit reset_pin_direction      is pin_a1_direction                   --
var volatile bit pump_feed_pin_direction  is pin_a2_direction                   --
var volatile bit short_pin_direction      is pin_a3_direction                   --
var volatile bit led_pin_direction        is pin_a4_direction                   -- rev
var volatile bit dummy_a5_pin_direction   is pin_a5_direction                   --
--var volatile bit dummy_a6_pin_direction   is pin_a6_direction                 -- XTAL_in
--var volatile bit dummy_a7_pin_direction   is pin_a7_direction                 -- XTAL_out


--var volatile bit pump_1_pin_direction     is pin_b0_direction
var volatile bit dummy_b0_pin_direction     is pin_b0_direction                 --
--var volatile bit async_in_pin_direction   is pin_b1_direction
var volatile bit pump_1_pin_direction     is pin_b1_direction                   --
--var volatile bit async_out_pin_direction  is pin_b2_direction
var volatile bit pump_2_pin_direction     is pin_b2_direction                   --
--var volatile bit pump_2_pin_direction     is pin_b3_direction
var volatile bit dummy_b3_pin_direction      is pin_b3_direction                --
--var volatile bit aux_2_pin_direction      is pin_b4_direction
var volatile bit pulldown_pin_direction   is pin_b4_direction                   --

var volatile bit data_pin_direction       is pin_b5_direction                   --
--var volatile bit aux_1_pin_direction      is pin_b6_direction
var volatile bit dummy_b6_pin_direction      is pin_b6_direction                --
--var volatile bit pulldown_pin_direction   is pin_b7_direction
var volatile bit dummy_b7_pin_direction      is pin_b7_direction                --

var volatile bit aux_1_pin_direction     is pin_c0_direction                 --
var volatile bit aux_2_pin_direction   is pin_c1_direction                   --
var volatile bit dummy_c2_pin_direction  is pin_c2_direction                    --
var volatile bit dummy_c3_pin_direction     is pin_c3_direction                 --
var volatile bit dummy_c4_pin_direction      is pin_c4_direction                --
var volatile bit dummy_c5_direction       is pin_c5_direction                   --
var volatile bit async_out_pin_direction  is pin_c6_direction                   --
var volatile bit async_in_pin_direction   is pin_c7_direction                   --

--var volatile bit pulldown_pin_direction   is pin_e3_direction                 --

procedure LED_on is
   LED_state = on
--   led_pin = low
   led_pin = high
end procedure  

procedure LED_off is
   LED_state = off
--   led_pin = high
   led_pin = low
end procedure 

--   var bit msg_dummy_b0_pin   at d_5 : 0
--   var bit msg_dummy_b3_pin   at d_5 : 1
--   var bit msg_dummy_b6_pin   at d_5 : 2
--   var bit msg_dummy_b7_pin   at d_5 : 3
--   var bit msg_dummy_c2_pin   at d_6 : 0
--   var bit msg_dummy_c3_pin   at d_6 : 1
--   var bit msg_dummy_c4_pin   at d_6 : 2
--   var bit msg_dummy_c5_pin   at d_6 : 3

--   if msg_dummy_b0_pin   then
--       dummy_b0_pin_direction = dir
--       dummy_b0_pin           = val
--   end if
  
--   if msg_dummy_b3_pin   then
--       dummy_b3_pin_direction = dir
--       dummy_b3_pin           = val
--   end if
  
--   if msg_dummy_b6_pin   then
--       dummy_b6_pin_direction = dir
--       dummy_b6_pin           = val
--   end if
  
--   if msg_dummy_b7_pin   then
--       dummy_b7_pin_direction = dir
--       dummy_b7_pin           = val
--   end if
  
  
--   if msg_dummy_c2_pin   then
--       dummy_c2_pin_direction = dir
--       dummy_c2_pin           = val
--   end if
  
--   if msg_dummy_c3_pin   then
--       dummy_c3_pin_direction = dir
--       dummy_c3_pin           = val
--   end if
  
--   if msg_dummy_c4_pin   then
--       dummy_c4_pin_direction = dir
--       dummy_c4_pin           = val
--   end if
  
--   if msg_dummy_c5_pin   then
--       dummy_c5_pin_direction = dir
--       dummy_c5_pin           = val
--   end if
  
--   d_5 = 0
--   d_6 = 0
  
--   msg_dummy_b0_pin   = dummy_b0_pin 
--   msg_dummy_b3_pin   = dummy_b3_pin 
--   msg_dummy_b6_pin   = dummy_b6_pin 
--   msg_dummy_b7_pin   = dummy_b7_pin 
--   msg_dummy_c2_pin   = dummy_c2_pin 
--   msg_dummy_c3_pin   = dummy_c3_pin 
--   msg_dummy_c4_pin   = dummy_c4_pin 
--   msg_dummy_c5_pin   = dummy_c5_pin 

 sWS000540.JPG

AVRISP側のコンパイル練習?


コメント(3) 
プログラムライター ブログトップ
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。