【送料高い】PIC専用のスレPart16【バーゲンなのに】
>>850 あっさり動きました(笑)
原因はトラ技付属のソースにバグがあったことです。
xlcd.h内の書き換えられた部分にひどい間違いがあります。
ちと外出しますので、詳細はのちほど。
そして原因判明ねw さすがIDがQTL...
最近はpic多すぎてどれを選んだらいいのかわからん。 そろそろ品種を整理してくれないかなー
856 :
774ワット発電中さん :2007/11/25(日) 20:51:10 ID:yIR+M7yp
PIC-C liteを使ってたけど対応PICが少ないので CCS-CのPCMを買おうと思うんですけど PCM買って失敗したとかPCW買っておけば良かったとか思ってる人っている? 使おうと思っているPICは 12F675 18ピンのPIC(いろいろ) 16F877A とかです 18シリーズに手を染める気はまったく無し
857 :
のうし :2007/11/25(日) 20:55:55 ID:EuGDZl+O
あのお‥ >原因はトラ技付属のソースにバグがあったこと 創刊頃かららすぃし次号のコテ持ったナースが責任持ってますが‥ この2ちゃ〇と同じであまりムキーにならない方がいいとおもわれ。
>>856 ICD-U40でのデバッグはPCWでしか出来ないんじゃなかったっけ。
PCWのプロジェクトウィザードで、初期設定の雛形が作れるのが楽でいい。
(結局手直しする事になるんだけど…)
最近はMPLABと統合させて使ってるのでPCWの出番なし。
特に不便と思ったことはないかな…。
>>853 帰宅しました。
修正箇所はxlcd.h内の
#define DATA_PIN_7 PORTBbits.RB7
#define DATA_PIN_6 PORTBbits.RB6
#define DATA_PIN_5 PORTBbits.RB5
#define DATA_PIN_4 PORTBbits.RB4
を
#define DATA_PIN_7 LATBbits.LATB7
#define DATA_PIN_6 LATBbits.LATB6
#define DATA_PIN_5 LATBbits.LATB5
#define DATA_PIN_4 LATBbits.LATB4
に。
#define E_PIN PORTFbits.RF4 // PORT for E
#define RS_PIN PORTFbits.RF5 // PORT for RS
を
#define E_PIN LATFbits.LATF4 // PORT for E
#define RS_PIN LATFbits.LATF5 // PORT for RS
に。
そして、トラ技9月号基板でR/WはGND固定なので、
//#define RW_PIN PORTDbits.RD8 // PORT for RW
とコメントアウトしてください。
これにともない、RW_PINに関連するCソース部分を修正する必要があります。
(同様にコメントアウトすればOKでしょう)
修正点は以上と思います。
>>857 筆者の方ですか?w
冗談はさておき、ヘッダファイルを開いて0.2秒で見つかるような
間違いを残しちゃあ、恥ずかしいよねってこと。
CD-ROM焼く前に、最低限の検証だけでもして欲しいものです。
それにおそらく、この筆者はバグがあることに気づいていたんだと
思うんですよ。その証拠にClock.cの中にある、この一行。
// while(BusyXLCD());
このコメントを外すと、タイミングによってはフリーズするんですわw
>>812 にも書いたように、今回はオリジナルがMicrochip製だからと
信頼してしまったことが最大の敗因でした。
今後はソースがトラ技筆者によって汚染されていることも念頭に
おかないといけませんね。
(筆者は9月号の記事中で「改良」と記述していることも腹立たしいw)
ともあれムダに費やした時間が、ただただ惜しいです orz
>>860 おれ無関係だけどこの書き方は許せない。
失敗の積み重ねがスキルアップに繋がっていると思っている。
確かに頭にくるときもあるが決して「無駄な時間」「ただただ惜しい」とは思わない。
少し考え方変えたほうが成長するよ。少し考えてみなよ。
>>859 ありがとうございます。
なんか全然ダメダメだったのが
手の施しようがあるぐらいまでになりました。
LCDは良くなったのですが、
割り込み関係がまだダメみたいです。
トラ技のローダー上では
LATじゃなくてPORTに書いててもOKだったし
割り込み処理もうまく行ってたので
丸っきり試験してないわけじゃないんでしょうけど
ローダのソースが欲しいところです。
まあ、先に進んじゃおうと思いますけど。
まだ使ってないから、よくわかってないんだけど LATxとPORTxの差は読み込みの時 PORTx 実際の外部ピンの電圧のH/L LATx 前に書き込んだ値(ラッチ? レジスタ?)
16Fシリーズの時 PORTxに直接BCFやBSF使ってはまった経験が あるからLATxの存在はうれしい。 AVRは後発だけあってよく考えてるよな
>>859 少なくとも出力ピンに関しては
#define DATA_PIN_7 PORTBbits.RB7
と
#define DATA_PIN_7 LATBbits.LATB7
とは全く同じ動作をする筈なんだが。
それを書き換えたら動くっていうのは、なんか変な感じが。
それよりは
//#define RW_PIN PORTDbits.RD8 // PORT for RW
がアレだと思うなぁ。ウェイトがRWピン待ちになっているって事?
>>865 RWピン待ちじゃないな。RWをRにしてEを待つんだっけか?
あと、割り込みに関しては付録のブートローダ入りのやつは、 なんだっけか、代替割り込みベクトルをつかっているから、本来の割り込みベクトルとは 違う位置に書いてあるから、うんちゃらかんちゃら、ってことじゃなかったかな。
>>860 本文読んでないけど、そこだけ見ると液晶のR/Wを使ってリード方向も
やってみようとして手を入れたってとこかね。ライト時にはポートに
出てるのは前回書いた値のはずだから、ビット演算もオッケーだろうと
思ったんだろうかね
>>865 出力ピンに関して、その2つの動作は異なる。
AN587:Interfacing PICmicro® MCUs to an LCD Module を開くと、 LCD_DATA EQU PORTB LCD_DATA_TRIS EQU TRISB ; else ; LCD_DATA EQU PORTD LCD_DATA_TRIS EQU TRISD ; endif ; LCD_CNTL EQU PORTA てな具合になってて MOVWF LCD_DATA BSF LCD_CNTL, E BCF LCD_CNTL, E なんてとこか
873 :
774ワット発電中さん :2007/11/26(月) 12:30:15 ID:i2ssu/ll
839ですが、REAL ICE注文してみました。 高速オプション無しで。 意見くれた方ありがとう。 ついでにPICKIT2も買っておいたので、手持ちのICD2とあわせて3兄弟そろうことになってしまった。
874 :
のうし :2007/11/26(月) 15:03:26 ID:1o35YBqA
筆者だとしたら他の電子工作系の掲示板にそれコピペしてあるのかな? 2ちゃんだけしか知らなかったりしそうだから、誰かいろんな掲示板を列挙してあげたら?
875 :
774ワット発電中さん :2007/11/26(月) 15:28:36 ID:KEFGoxLO
LATレジスタとPORTレジスタだとPORTレジスタに書く方が一瞬速く出力されますかね?
876 :
774ワット発電中さん :2007/11/26(月) 15:40:25 ID:nlVqr77F
そうなの?
昔のPICではたとえばPORTBに対してBCFやBSFすると、レジスタが保持してる値ではなく 端子レベルを読み込んで書き換えて出力してたと思う。 いまはどうだかは知らん。
>>878 今でもそう。
だから、LATレジスタが出来た。
880 :
846 :2007/11/26(月) 22:00:22 ID:POkIoVIV
----まとめ---- 12F,16Fの時代はPORTxに直接BCF,BSF使うと IOピンのH/L読み込んでから書き換えるため重い負荷とか 連続書き込みを行うと意図しない値が書き込まれた。 16bitPICになってLATxが追加されて出力値を保持(ラッチ) できるようになった。 動作として書き込み時は PORTxもLATxも同じ 読み込み時は PORTx 実際の外部ピンの電圧のH/L LATx 前に書き込んだ値(ラッチ,レジスタ) (BSET,BCLR,BTGを使うならLATxじゃないとダメ) ちゃんと使い分けましょう。
881 :
870 :2007/11/26(月) 22:23:11 ID:7YKZzOSX
詳細に書いてる時間ないから、データシートの該当する場所を書いとく。 dsPIC30F2011/2012/3012/3013 Data Sheetの場合、 「7.1 Parallel I/O (PIO) Ports」の記述 「FIGURE 7-1: BLOCK DIAGRAM OF A SHARED PORT STRUCTURE」の図 「7.2.1 I/O PORT WRITE/READ TIMING」の記述 あたり。
>>881 I/O PORT WRITE/READ TIMING
One instruction cycle is required between a port
direction change or port write operation and a read
operation of the same port. Typically this instruction
would be a NOP
すまんが、これのどこに、LATとPORTの違いが書いてあるのか述べてくれんか。
>>882 判らない人は無理にPIC使わなくてもいいんじゃないだろうか。
>>883 すまんが、オレの語学力では、そこに書いてあるのは
「ポートの入出力方向を変えたり、同じポートを書き読みはするときには、NOPをイッコ入れてね」
としか読めない。この行間に「書き込み動作はラッチとポートで違うよ」って書いてあるのなら、
オレは明日からAVRを使うw
>>869 リセット繰り返してたんで
LCDのEピンに何気にテスタをつないだら
なんと安定したと思ったら
まただめになっちゃいました。
電気的におかしそう。
RWのラインもしっかりつないでみるかなっと。
>>880 LATxの追加はPIC18(core 8bit)から。
887 :
846 :2007/11/27(火) 00:30:24 ID:dnBBzuY6
>886 おおーそうだったのか18Fは使ったことないから知らなかった。サンキュー >870 は何か別のことを言いたいのかも知れないが >出力ピンに関して、その2つの動作は異なる。 LATxとPORTxは出力ピンも読み込み時の動作が異なるから 間違ってはいないと思う。例えば PORTAの出力が0の時 BSET PORTA,#0 BSET PORTA,#1 と BSET LATA,#0 BSET LATA,#1 は違った結果になる。PORTxの方は最初のビットセットが有効に なる前に次のBSETでPORTが読まれてしまう(882の英文は このことを示したかったのかな)
>>887 あー、やっとわかった。
PIC特有の嫌らしいアレの事か。
考えてみればその嫌らしさを消すためのLATレジスタなんだよな。
さんきゅ。
結果として、出力はLAT, 入力はPORTでやれば、問題は起こらない ってことかな?
889 :
774ワット発電中さん :2007/11/27(火) 01:10:17 ID:5wzzOoGp
ルネサスのR8Cとかは BSETで問題なくてLATxとかの概念ないけど PICはLATxを作って解決するようになったの?
禁プログラミング2日目 「あのときの」って昔のファイルが気になり始めた 何日なら我慢できる?
>888 >結果として、出力はLAT, 入力はPORTでやれば、問題は起こらない ってことかな? それであっていると思う。 AVRがこの辺うまく作ってる。 DDRx(TRISと同じ),PORTxがラッチ有りの出力用,PINxが入力用で別 PINxに'1'を書き込むと対応するPORT出力を反転させたり、入力モード時の PORTxはビット毎のプルアップ抵抗有効/無効だったりと
892 :
774ワット発電中さん :2007/11/27(火) 02:58:40 ID:j8+C/PAm
いままでずっと出力はLAT、読み込みはPORTでやってきたが、 問題は16BIT品にも当てはまるのかね? 最近、TCP/IPスタック見てるんだけど、出力にLAT使ってるとことPORT使ってるとこと あって、統一されて無い感じ。 中の人でも認識に個人差があるのかな?嵌った経験の有無とかで。
http://homepage2.nifty.com/zetatech/product/product.html このページのじゃんけんゲームを参考にじゃんけんゲームを作ろうとしているんですが、
LEDマトリクスを2つ使いたいので、16F648Aの代わりに16F877を使い、
74HC138の代わりに16F84Aを使ってやろうとしているんですが、
74HC138から16F84Aに変わっても74HC138につながっていた抵抗値は一緒でいいんでしょうか?
あとLEDマトリクスを2つ使うんですが、TD62083は2つ使わなければならないんでしょうか?
TD62083に抵抗をつなげて、そこから枝分かれして、
2つのLEDマトリクスにつなげるといったことはできないんでしょうか?
>>893 LEDマトリクス2個でも 16F648A + TD62083 + 74HC138(x2) + Tr(x16) で出来るよ。
ダイナミック点灯Duty:1/16だと少し暗くなるかもしれないので
TD62083部の抵抗を100〜220Ω程度に小さくすると良い。
>>894 LCDもつなぐんで16F877にしました。
TD62083につないである抵抗を少し小さくすれば、1つでLEDマトリクス2つにつないで
点灯させることはできるってことですよね?
ありがとうございました。
896 :
774ワット発電中さん :2007/11/27(火) 14:43:26 ID:j8+C/PAm
>>895 74HC138(x2)
ここ重要。PICに置き換えるなら2個いるってこと。
>>896 74HC138を使うならTD62083は1つでもいいけど、
16F84Aを使うならTD62083は2つ使わなければいけないってことですか?
じゃあ2つ使わなきゃだめなのか・・・orz
16F84Aは何の為に使うの? 要らないよね
>>898 学校の課題で作ろうとしてるんで、
絶対に16F84Aを使わなきゃいけないんです。
なので、デコーダ代わりに使ってやろうかと思いまして。
前にも同じ話を聞いたな PICスレなんてここしかないんだから特定されるぞ
>>900 いや、アクチュエータは振動するモーターを使ってます。
一応回路を書いてみたんですが、入出力ポートをフルに使っていて、
見づらかったんで少しでも減らせないかなと思って、
減らせそうなTD62083の部分のことだけを書いて質問しました。
903 :
774ワット発電中さん :2007/11/27(火) 16:00:58 ID:j8+C/PAm
>> 902 まずはそれをうp
>>902 そっか。
他についてるものが無いなら877じゃなくて84Aで何とか
収める方向もありかと思ったけど、それじゃ無理だね。
>>903 今は普段からネットに繋げる環境になく、テストもあるのでUPするのは結構あとになりますが、できたらUPします。
>>905 16F84Aをデコーダがわりなんてつまんない。
どうしても16F84Aを使わなければならないなら、
16F84AにLEDの制御をやらせて、その他の処理を877に担当させるのは?
84Aと877は通信(or PORT)でやり取り。
じゃんけんゲームしかしないなら、表示する画像(絵)の種類は限られてるんだから、 最初からそのような結線(表示するパターンごとに1port使用で済むような配線)をしてしまえば、 じゃんけんゲームで言えば、デコーダの類を使わなくても3ポートだけでマトリクスを制御できちゃうと思うんだけど。 こっちの方が結果的に手間が増えるだけかな。貴重なPICのポート消費は劇的に抑えれると思うけど。
char c = 0xFF; PORTB = c; これって PORTBがすべて「同時に」1になる?少しずれる?
1行目の方が気になるが、同時になる、と言い切っておく。 内部配線長がどうとか言わなければ。
>>908 ちなみに、「ずれる」としたら、どっちにどうずれると思う?w
911 :
774ワット発電中さん :2007/11/27(火) 23:53:40 ID:k3JuK5Wx
>>910 わからないけど実際にずれてる。
ナノ秒レベルで簡易DA変換を切り替えているがお城で見ると波形が一回下がってからあがる
やってみ
>>911 ちょうどオシロつかってたんでやってみたが、ずれてるようには見えん。
外付けのCの影響じゃないの?
ナノ秒レベルって、1ナノ、2ナノのレベル?それならうちでは見えんし、ずれてるかも。
だが、それぐらいだったら許してやって欲しい気がするが、何か問題?
遅延時間のばらつきなんてあって当然じゃないかと思うんだけど・・・
また例の彼のような予感がする。
http://aikofan.dee.cc/aikoup1/src/f0395.gif LATG = 0;
TRISG = 0;
LATG = 0xFFFF;
LATG = 0;
LATG = 0xFFFF;
LATG = 0;
PORTG = 0xFFFF;
PORTG = 0;
PORTG = 0xFFFF;
PORTG = 0;
PORTG = 0xFFFF;
PIC24Fにて、32MHz動作時の波形。上からRG6、RG7、RG8
私的には十分に同時とみなせる。
32MHz / 4 = 8MHz 1 / 8 = 125 ns 2命令 * 125 = 250 ns dsPIC33の80Mhzでやってみてくれ
世の中に「同時」などというタイミングは存在しない。 ・・・と思ってプログラムなり回路なり設計したほうが安全だよw
>>908 そりゃあ、たとえばダイのパッド部分で同時でも、ボンディングワイヤの
長さによって、ピンに出てくるタイミングはずれるとか、ピンにつながった
負荷によって変わるとか、そもそもパッド部分でも完全に同時とは
言えないとか、だいたいデジタルつーても所詮はアナログ回路なんだから
立ち上がり波形にも微妙に差があるなんていうレベルの話をしたいなら、
当然違う
919 :
sage :2007/11/28(水) 16:24:11 ID:PWSIkQW9
このたび秋月でPIC24FJ64GA002を購入し16F648AからICSPでプログラムを書き込むソフトを作成しましたが 書き込み動作が低速なのでEnhanced ICSPにてPIC24Fに書き込みたいと思っています。 そこで質問ですがデータシートに記載があるProgramming Executiveのデータはどこに存在するのでしょうか?ご教授願います。
920 :
881 :2007/11/28(水) 19:21:13 ID:ADtwM5v5
やっと修羅場を抜け出した・・・
>>870 の件、既に
>>871-892 で決着しているようだが、いちおう書いておく。
出力に設定したポートへのデータ出力にLATを使う場合とPORTを使う場合の違いは
1. いずれの場合も、出力したデータはすぐに(次の命令で)LATから読むことが
できる。PORTから読む場合は、データ出力後、少なくとも1命令サイクル空ける
必要がある。
2. 外部回路の条件によっては、出力したデータがPORTから読めるまでにさらに
時間を要する場合や、データが読めない場合もあり得る。(注:ポートの入力
スレッショルド電圧特性の違いから、dsPICやPIC24では、PIC16やPIC18と比較して
この状況は起こりにくい。)
3. BSETやBCLRはポートからのデータ入力を伴う命令なので、上記1.と2.から、
LATに対する実行では問題は発生しないが、PORTに対して実行する場合は、
前回のLAT/PORTへの出力から少なくとも1命令サイクル(2.の条件によっては
さらに長く)間隔を開けて実行する必要がある。間隔が十分でない場合、
BSETやBCLRの実行によって、BSETやBCLRが対象としていないビットの出力データが
変わってしまう可能性がある。
4. 上記3.の制限はBSETやBCLRだけでなく、PORTを対象とした(PORTからの
データ入力を伴う)演算命令すべてに当てはまる。たとえばAND, OR, XOR等。
5. MOVによるPORTへのデータ出力の場合、PORTからのデータ入力を伴わないので
上記3.の制限Vには当てはまらない。
他にも違いがあるかもしれんが、とりあえず主要なものはカバーしてると思う。
>>919 お、なんか俺がいるww
MPLABを標準インストールしたとき、C:\Program Files\Microchip\MPLAB IDE\ICD2
の中にある
pe.hex
pe24f.hex
pe33f.hex
等がProgramming Executiveのデータだそうな。
これはMPLAB 6.xの場合。まだMPLAB 7.xはインストールしてないので、
7.xでも同じ場所かどうかは分からない。
ところで、この中に32PE.hexとか32DE.hexとかいうファイルがあるんよね。
中身を見ると明らかに16bit PICアーキテクチャじゃないデータなんでPIC32向けの
データかなと思うんだが、ファイルのタイムスタンプは2007年3月〜4月。
半年も前からデータだけは仕込んであったのか・・・
>>856 CCS-Cで16F877(A),16F88,12F683を主に使用していますが、私のレベルでは
バグに気がつかない。
ICD2(Clone)も使用できる(Cソース)し、ライブラリも有るので便利。
923 :
sage :2007/11/28(水) 22:06:25 ID:N7gqNCIG
>>921 ご回答ありがとうございます。私の環境はMPLAB IDE V7.6ですが同じ場所に
pe24f.hex が存在しました。こんな場所にあるなんて!!!
32*.hexについても同じタイムスタンプで存在していました。
大変助かりました。ありがとうございました。
情報を知りたくてカキコします。 電子工作で温度によってモーターをON/OFFする装置を 電池駆動で作ろうと考えています。 自分でいろいろと調べてみた結果、picの16F873(=pic1とします)を使えば実現できると わかって一から勉強中で、picライタはpickit2(microchipの80%キャンペーン使用)を 考えています。 一応最終的な目標としては、上記の基本からセンサーを 最終的には3〜4つに増やして、モーターON/OFFの設定値(=設定温度)は 他のpic(=pic2)に入れて通信させるか、パソコンから設定温度を送信して 設定できるようにと考えています。 それプラスできる限りtotalの部品代を安価で済ませたいと考えてます。 (これは努力目標なので、必ず達成しようとはしていませんが・・・) そこで質問なんですが、上記の目標を達成するためにもっとも良いマイコンは やはりpicの16F873なんでしょうか?もし他に何かあれば名前だけでも教えて いただけないでしょうか?とりあえず手がかりがpicしかないので、picに限らず いろいろと情報を知りたいです。 どうかよろしくお願いします。
>>924 その程度ならどんなマイコンでもそういうラインアップがあるので、
「ベスト」とかそういう話にはならないと思う。
ベストなチップを探す時間は、開発手法や設計・実装の勉強に使って
ベストな脳みそを作るのに振り向けるのが吉。
とりあえず選定条件としては
・シリアルかUSBがあって -> 他条件での選択幅の為にシリアルがよい?
・センサが内蔵か外付けか -> 将来増やす+配置自由度から外付け+I2Cバス?1-wire?
・モータの制御はどうする -> PWM?それとも単純なON/OFF?
な感じで、まとめるとUART+I2C+PWMxNがあればまあ足りるだろうとなる。
あとは各メーカのラインアップ比較表で上記3項目にチェックが入っている品を
拾って、その他の条件(クロック内蔵かとか、消費電力とか、大きさ、コスト、
開発環境、普及度、とかとか)で一番気に入ったものを選べばよい。
で、最初に書いたとおり、これくらいの機能で本当にいいなら満たせない
チップの方が珍しいので、PICなら製品シリーズとして今後も使っていけるだろうし
とりあえず買って後は頭を鍛えようよ、ということになる。
>>924 入手性、価格等だけで、これなら買えそうというPICを拾い出して、
入手性、価格等だけで順位を付けて一覧にしてくれ。
その中からその用途に使えそうなのを(みんなで)ピックアップしてあげるよ。
プログラムの組み方次第ではI/Opinさえ足りてればどれでも可能そうなんだがw
質問です ICD2を使っているのですが、ブレークポイントで止める度にダンプに数秒かかるのですがREALICEだとフルICE並にレスポンスは速いですか?? もうすぐセールも終わりそうなので購入するか悩み中です。
>>928 セミナーで聞いた話では、8ビットPICのデバッグ時には全く速度は変わらないそうだ。
16ビットPICでは速くなるそうだが、どのくらい速くなるかまでは不明。
(手元にあるんだが、まだ使ったことがないww)
>> 928 仲間発見! 遅さに耐え切れず数日前に注文しました。 まだ来てないのでレポートは出来ません。あまり変わらなかったら売り飛ばすかも。
931 :
774ワット発電中さん :2007/11/29(木) 23:03:21 ID:fYk+QoAE
個人でCCS-SのPCH、PCM持ってる人っている? 前からずっと欲しくて ボーナスが出たら買っちゃおうかなと思ってるんだけどPCHはC18があるし 買う意味無いかなぁとここしばらく悩んでる… PCMの方は本家の14bit用のCが無料では使えないみたいなので買うつもりなんだけど。 USBでPCと通信するためのプログラムってC18とPCHならどっちが作成しやすいでしょう? PCHの方が作りやすいなら思い切ってPCHも買っちゃおうかな
932 :
931 :2007/11/29(木) 23:04:08 ID:fYk+QoAE
あ、使用するのは100%趣味です。仕事じゃありません。
933 :
774ワット発電中さん :2007/11/29(木) 23:45:34 ID:ZxHHeu8t
これってお布施必須のヤシ?
>個人でCCS-SのPCH、PCM持ってる人っている? 持ってるけど買ってない。使ってない。ゎるぃことをιて手にぃれた。 通報しました。 通報されました。
俺もPCMをそのうち買うつもりだけどPCBはいらないよね?
PCDは糞だった。 ウィザードからコンフィグを選択できるんだけど そのPICに合ったものが無い。具体的にはFRC16PLLがない
938 :
774ワット発電中さん :2007/11/30(金) 12:25:26 ID:tzKqf8lp
>>936 PCMにはPCBが含まれてて、PCHにはPCBとPCMが含まれてるんじゃなかったっけ?
939 :
774ワット発電中さん :2007/11/30(金) 12:55:02 ID:YXNwRxmJ
>>938 PCWがPCB+PCM
PCWHがPCB+PCM+PCH(PCW+PCH)
940 :
774ワット発電中さん :2007/11/30(金) 13:02:16 ID:tzKqf8lp
PCBはMPLABに入ってるがな。
秋月 PICマイコン dsPIC30F3012−30I/P 600円
943 :
931 :2007/11/30(金) 21:57:34 ID:vVglOGoJ
やっぱり個人で持ってる人はあんまりいないのかなぁ。
だから無料で落ちてるって スレ読み直せ
要するに不正コピーで手に入れればただで手に入ると…
今日がサンプル最終日だな... 一回目のオーダーから30日たてばまたオーダーできるのか? 20日くらいにまとめてオーダーしたからもう手遅れorz
948 :
931 :2007/11/30(金) 22:43:58 ID:vVglOGoJ
SDCCかー。存在は知ってたんだけど、中身は全然知らないんですよね。 みなさんお勧めですか?
>>947 もちろんできる。そう書いてあるじゃん。
でも、残念だったねw
高々数百円の無料サンプルをつかって製作納品ですか? 浮いたお金でたばこでもかうきですか?
残念ながら未成年だからタバコは買えない。それに仕事でもないのす。 16bitPICはまだ通販だとなかなかないから、将来使う(だろうと思う) 分も含めていくらか調達。 あとアナログICとE2PROMをいくらか。 数百円ずつでもお金の節約に越したことはないですしね。 まあ、これ以上あっても使いきれなくなりそうだから、3回目が無くて良かったかもしれない。
952 :
sage :2007/12/01(土) 17:38:14 ID:uDh2iL7b
PIC24Fのライターを自作しているのですが、誤ってDiagnostic and Calibrationデータを消してしまいました。。 どなたか、8007F0H〜8ワードのサンプルデータをご教授いただけないで しょうか?デバイス依存なのは理解していますが、現状PIC24Fが一個しか 無く初期値(FFFFFFH)よりはましだと思うので。
953 :
774ワット発電中さん :2007/12/01(土) 19:15:35 ID:xIqvjM/Q
>>952 どれはどうやって見たらいいの?テーブルリードしないとダメ?
954 :
936 :2007/12/01(土) 20:42:54 ID:OJ/8sFEG
936だけどSDCCというのは知らなかった で、いままで作ったPICCLiteのソースをいじってコンパイルしてみて なんとか動かしてみた。 浮動小数点の計算させるとリンクでエラー出るのは単なるメモリー不足なんでしょうか? >message: using default linker script "C:\Program Files\gputils\lkr\12f675.lkr" >error: no target memory available for section "code_b" PICCLiteだと容量半分も使わずに済んでたソースなんだけど
>>952 オレの秋24F
:020000040100f9
:100fe000ffffff00ffffff00ffffff00ffffff000d
:100ff000ffffff00ffffff00ffffff007dfaff0084
バーゲンが終了し(実はまだこっそり続いてるのかもしれないが)、
それに連動するかのようにスレの寿命ももうすぐ尽きる。
>>31 のような異論もあったが、結果としてはタイミング良かったな。
次スレのサブタイは何にするかね・・・
翻訳版の場合、「書かれた時点」は「翻訳前の原稿が書かれた時点」まで遡る (場合が多い)から、なおさら情報の古い可能性が高まるね。 ってか、PICの日本語版データシート初めて見たw 読みづれーww
http://www.google.com/search?q=%22HS/2%22+%22PLL%22+%22dsPIC%22+-pdf&hl=ja&lr=&filter=0 I have one other question. I got some 14.7456 MHz from SFE, since I couldn't find any 7.3728 Mhz crystals
like you show for the 4011 in the dualPIC schematic. I checked the 30F family reference manual and
there is an HS/2 with PLL of 4x, 8x, or 16x oscillator mode. Could I use that mode with these 14.7456 MHz
crystals without having to change anything else? I'm ready to connect a 4011 up with a 4620 in my breadboard
now that I have I2C working. I think I can handle the rest once I get the oscillator configuration for the 4011 setup.
同じことを考えていた人がいました。
I set it to XT_PLL8. I have a heartbeat from the 4011 now. I2C is connected and I put the SCI stuff back
into the 4620 code. Now I just have to get a level shifter for the 4620's serial port so I can use printf()
to see what's happening inside when I try to talk to the 4011.
この後この人はXT PLL8をつかったようです。
私もXTでやってみたところ一応動きました。
しかしデータシートにはXTの入力クロックは4-10MHzと書かれているので
規格外の動作になるのでしょうか
>>962 データシートに記述された範囲を超えているのであれば規格外と考えるのが相当。
>>952 ,956
気になってみてみた。
---------0--------2--------4--------6--------8--------A--------C-------E-------
0x8007F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 FF FF
0xFFばっかりなんだが、これって変なの?今まで気にして見た事無かった。
物は、DIRECTで買った24F128GA006
内蔵クロックでも外部クロックでも同じ様に使えるように 7.3728 MHzのクロックをDigiKeyで50個ほど買いましたw どちらも*16PLLで動作することは確認済みです。
>>957 つ【無料サンプル】PIC専用スレPart17【続行キボンヌ】
つ【いつのまにか】PIC専用スレPart17【中身がMIPS】
つ【変態から】PIC専用スレPart17【真人間へ】
つ【ツール安いよ】PIC専用スレPart17【チップも安いよ】
>>952 80 0000h〜80 07fdhはExecutive Codeだから、誤Eraseで失われるのは
80 07feh〜80 07ffhのCalibration Wordのみ。
>>964 読み出しデータは4バイトごとに00hが入る(24ビットのデータに00hを足して
32ビットのデータに見せかけている)から、
>>964 のデータはどこかおかしい。
多分、違うアドレスを見ているか、そもそも使っているソフトがそのメモリ
アドレスの読み込みに対応していない。
968 :
sage :2007/12/02(日) 00:26:00 ID:FtoWtkK6
>>956 ,964
サンプルデータありがとうございます。0x807FEのデータは較正値なので
ここが違うと内部クロックを使用した場合の時間等に影響が出るのかなと
思っています。
とりあえず頂いた値を書き込んで使用したいと思います。
ありがとうございました。
>>967 3バイト単位で読んだんで0x00が入っていないのです。
以下の要領でぽちぽちと。
int main(void)
{
unsigned int add = 0x0000;
unsigned char byte1, byte2, byte3;
TBLPAG = 0xFF; // breakpoint
asm("tblrdh.b [%1], %0" : "=r"(byte1) : "r"(add));
asm("tblrdl.b [%1], %0" : "=r"(byte2) : "r"(add + 1));
asm("tblrdl.b [%1], %0" : "=r"(byte3) : "r"(add));
while(1); // ローカルウィンドウで値確認
}
やっぱいつの間にか消したのかな?
>>969 あーなるほど。そしたら、どうも値は消えたっぽいね・・・
質問です。 エラータのレビジョンは、メジャーレビジョンとマイナーレビジョンどっちで見るものなの?
多分、どっちで見るのかerrataの中に書いてある。
973 :
774ワット発電中さん :2007/12/02(日) 15:12:11 ID:BEPxFbui
>>972 とうぜんエラータ見たが、書いてあるようには見えません。
The following silicon errata apply only to PIC24FJ128GA010 devices with these Device/Revision IDs:
<表>
The Device IDs (DEVID and DEVREV) are located at the last two implemented addresses in program
memory. They are shown in hexadecimal in the format “DEVID DEVREV”.
>>966 【真人間から】PIC専用スレPart17【変態へ】
のほうがいいな
今まで自作のパラレルやシリアルのライタを使っていたのですが引越しの際に無くしてしまったようなので その場しのぎにツェナーダイオードや昇圧素子を使わずにシリアルの5Vのみで16F84Aに書き込みしたいのですがどのような回路にしたらいいでしょうか?
>>976 ダメもとで試してみたがやはりダメだった
まぁCMOSモデル向けの回路だから当たり前といえば当たり前…
CMOSでないPICなんてあるん?
てかPCとの相性は絶対に出るだろうな
>>928 です
レスくれた方ありがとうございました。
レスを見る限り劇的に速くなるわけではなさそうなので購入を諦めました。
>>930 届いたらレポよろしく!
>>982 パルス信号を交流と見立てて倍電圧整流とは気づかんかった…
でもこれだとWinのプログラミングできないときびしいな
俺が思うに一時的な利用なら
・006p*2でLM317(LM317すらないなら電池の持ちが悪くなるけど回路に対して直列と並列の抵抗入れる)
・乾電池の直列で13.5V、乃至は12Vを作る
この辺でいいように思う
mikroC dsPICからプログラムを書いています。
コンフィグレーションビットを変更するとき
FOSCはチェックボックスから選択性
OSCCONbits.NOSC =
というようにするのですが
コンフィグレーションビットの内容とアドレスが違っています。
最新のものではないように思います。
例えば OSCCON (アドレス0742)では
OSCCONbits.NOSC
これは最新のデータシートでは
http://ww1.microchip.com/downloads/en/DeviceDoc/70138E.pdf (154ページ)
3ビットですがmikroCでは2ビットになっています。
また、OSCCONの中に3ビットのTUNがありますが、
データシートではOSCTUNという4ビットのTUNを含むレジスタがアドレス0744に新しく作られています。
hexを作った後に任意のアドレスのビットを書き換えるにはどうしたらよいのでしょうか?
OSCTUNを変更したいです。
MPLAB+C30では対応しているのでしょうか?
よろしくお願いします。
なにこの流れ…
>>975 つ 通販
送料200円前後のところも結構あるから素直に必要な部品買え
送料200円前後のところ?
>>986 普通郵便(定型/定形外)とかメール便とかが使えるところでってことでない?
988 :
774ワット発電中さん :2007/12/05(水) 20:53:56 ID:tnXSoFz5
うめ
竹
990 :
774ワット発電中さん :2007/12/05(水) 21:44:27 ID:LvnJEx4L
松
た
産めにご協力をお願いあふん
993 :
ニシムラシュタイン :2007/12/05(水) 21:54:44 ID:rZtUV09x
朝にupしたのですが、画像ファイルがjpgでないと見れないとのご指摘
受けました。
ファイル名全て訂正しましたのでよろしく。
----------------------------------------------------------------
秋月のカラーグラフィックlcdをpicで試した。
他、秋月の sh7144のcpu単体のものから 実験回路ボードを作成した。
ライタも自作して、書き込みソフトもフリー 結構安くあがった。
他、picもxilink cpld の 書き込み機の自作と
書き込みソフトフリーソフトの組み合わせで まとめて買って さらに安くなった。
とりあえず、pic16f877a とcpld xc95108とsh7144 のi/o取り出しの
基本回路基板と それぞれのライタ の基板焼付け パターン図を
アップしておいた。いろいろ試したいが、それぞれで、書き込み機とか
買っていたら、財布が厳しくなるので作って実験してみた。
http://nisimuraxx.hp.infoseek.co.jp/sh7144.htm http://nisimuraxx.hp.infoseek.co.jp/pic.htm http://nisimuraxx.hp.infoseek.co.jp/xc95108.htm 他、picの場合 秋月のカラーグラフィックlcdも試してみた。
パターン図画像をftpでダウンロードできるように作成したのだが
無料hpのためか?? ftpのさせ方がよくわからない(サーバーのディレクトリ
構造の解説等が見当たらない)ので、とりあえず、httpでダウンロード
して、ブラウザから ファイル-名前を付けて保存 で 画像を保存できるようにしておきました。
とりあえずupした。
PIC16F88でUSARTを使用した送信について質問です MPLAB SIM を使用してテストしているのですが 1. 非同期8bitに設定にてデータ送信する 2. 送信データはメモリより順番に取ってくるようにプログラム 3. データ送信途中で割り込みを発生させる(設定伝送速度より算出した8bit長より短い時間) と、1データ目は送信できるのですが、2データ目以降の送信前チェックで TRMTビットが"1"になりません 割り込みを停止させれば2データ以降も送信可能です これよりプログラムは一応正常とした前提でですが これはシミュレータだからなのでしょうか 実物でもそうなのでしょうか なお、受信は途中で割り込みがあっても処理できます もしかして、受信側のほうが変なのでしょうか PICが手元に無いため実際のテストが出来ません ご教示いただければ助かります
というかもう埋めよう 埋め
うめー
>>995 シミュレータだからでも実物がそうなのでもなく単にプログラムのバグが原因、
という可能性がいちばん高い。
同意
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。