PIC専用のスレ Part 57
■ このスレッドは過去ログ倉庫に格納されています
______
/Microchip ./|
/ ( ゚∀゚) / | アセンブラのアの字もわからない
|~ ̄ ̄ ̄ ̄ ̄| /. 超初心者からHEXが読めてしまう
|/Z./Z./Z./Z_|/ || 鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
||. ||. ||. ||
大人気のPICマイコンのスレ
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富
使いやすくて、しかも安い。やっぱりPICだよね
例の如く基本リンクだ
http://www.microchip.com/ マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
http://www.microchip.com/maps/microcontroller.aspx Microchip Advanced Part Selector (Maps)
またーりやっておくんなまし
種類が多くてワカランって奴は上記パーツセレクタで、機能から最適製品を絞り込め!
教えて君はとりあえずGoogle( http://www.google.co.jp/ ) くらい使おう
テンプレ内の秋月小売価格も在庫が捌ければ、次の仕入れからは昨今の為替相場変動にならって
適宜価格改定されてます。ここの表記価格とは違うかもしれないのでそのつもりで
回答者する人の注意
. 最初に回答したい気持ちは分かるけど、質問者の内容を、落ち着いてよく読もう。
質問者する人の注意
. あなたの周囲しか通じない変な省略語は使わずに、なるべく詳しく説明してね
前スレ:
PIC専用のスレ Part 56
https://rio2016.5ch.net/test/read.cgi/denki/1501476623/ PIC16F1454を愛用してたんだろか。
秋月で-E/Pに「D」マークが付いてるから心配だとか。 もしそんな理由なら値段差10円の16F1455-I/P使えばいいと思うけどね
もっとも、Dマークついてても在庫AAA(トリプルA)なんだししばらくは
無くならないだろうけど PIC16F1455の後継でも良いです
不満はROM/RAM
これが倍のが出てくれれば嬉しい ちゅうーかさあ
初めてACTが出てきたときに「これでUSB対応の8bitPICは全部水晶不要になるな!」とか
すごい期待したのに結局ACT搭載PICっていっちゃん最初に発表された品種のみでその後
全く採用がないとか一体なんなの?
まあ、USB対応 8bitPIC自体がここ数年新しいのが全く出てきてないけどさあ
18F14K50のACT版出して欲しいわ(18F14KK50?) 18F14K50も16F1454も買ってみたもののUSBを理解するのに気力を取られ未だ電源入れてすらいない 真面目にやったら、USBだけでも結構なボリュームあるからな
むしろ、それでも めげないヤツの方が少数
引き出しに しまったままの状態でも、別に珍しくない なんとかMLAでデバイス作ったけど、MLA部分は理解は出来てない ごめん16F1454は電源は入れてたわ
デバッグ出力用にEUSARTを使えるようにしたとこで力尽きてた PICにはarduinoとかmbed的な楽ちんライブラリってないの?
デバイスのハード層をラップしているような
Lチカ数行でできるような
シリアル出力数行でできるような
デバイス変わってもヘッダのデバイス名変えるだけのような PIC KIT Programmer3 が使えない、PICを使い始めたので、
ようやく、IPEを使い始めているんだけど、
毎回、power の設定で、「Power Target from tool」 を設定するとか、
面倒くさいんだけど、諸々の設定を保存できませんかね?
また指定した、hexファイルの履歴が残っていれば、すぐに書き込みできるとかできるんだけど... ターゲットの電源くらい入れてやったら良いと思うの。 設定出来ないとしたら糞だ
IDEも色々と糞なところがある
2重起動出来ないとか
エディタの基準線を消せないとか
起動時に前回プロジェクトを起動しない設定に出来ないとか 使いにくいと思う Windows アプリは uwsc 使えばあなたのお気に召すまま全部解決 >>750
スタンドアローンのPICkit 3 Programmerを使う コンパイラ・アセンブラ・プログラマ・デバッガを自作する >>756
基本それを使っているんだけど、それでは、Pickit2 とほぼ同じ品種までの対応で、
ここ数年リリースのPICの書き込みでは、使えないです。 デバイスによりけりだな
対応デバイスの "PK2DeviceFile.dat" を見つけられれば従来通りに使える
煩わしい、IPEともおさらばできる 18F46K22でI2Cを使うのでMCCでMSSP1を選んだが動作しない。
EUSART1、TMR0、ADCは動作しています。
SCL1とSDA1のピンはHighのままです。
I2C1.hのEMULATED_EEPROM_Write/Readをコピペしているが、
PICKit3のデバッグでPAUSEにすると
while(status == I2C1_MESSAGE_PENDING) ;から抜け出せないようです。
MSSP2にしても同じです。
EasyタブはI2C Master/Enable MSSP/Slew Standard/SDA Hold 300nS/7bitで
I2C Clockの0x03≦0xA0≦0xFFで99.379KHzと表示されてます。
RegistersタブはBCLIとSSPIのチェックとADD=0xA0/BUF=0x0/CON1=0x28/CON2=0x0/CON3=0x8/STAT=0x80
SSP1MSKが0xFFで赤くブリンクしているのが気になります。 こちらに書いていないけど、こちらに書きなさいということかな? また、お節介な荒らしがコピペしたんじゃないの?
マルチするなと荒れる原因 18F8520を使ってみたいのですが、これ用のソケットはあるのでしょうか?
そもそもテストや実装は個人で出来るのでしょうか? http://akizukidenshi.com/catalog/g/gP-07366/
これに半田付けすれば良い
電源系の配線をしてパスコンを付けて
80本ピンを立てておけば
あとはソルダレスボードでも
直接線でPICKITでも使える
ソケットもあるけど高いので考えない方が 0.5mmピッチの80pin QFPの半田付け
がんばれ >>764
ポートを入力設定にして無いとか、PowerDown設定してしまってるとか、
アナログ入力になってるとか、 0.5mmピッチは適切な道具が揃ってればあとは練習 BGAを裏返して植毛する事を思えば、全然余裕っすヨ >>767
ソケットとか変換基板買うよりもチャイナ基板屋で基板作ったほうが安いし早い。
初心者向きのフリーのCAD使えばわりと簡単。
パスコン程度は安く実装してくれるし、基板屋によってはPICなら実装もしてくれるかも知れないよ。 >>768
これはいいですね。でも半田付け殆どやったことないんですよね〜
>>770
ラインチェッカーをPICで作ってみようと思いまして80pinで一番安いこれがいいかなと
>>772
適切な道具を教えていただけるとありがたいです。
>>773
そうなんですか!?
>>774
自分でも調べて個人で頼むのは高いなと思っていたんですけど、安いところがありそうですね。
半田付け高校以来やっていないんで実装してくれるとありがたいのですが
初めは変換基板で試してからやってみます
ありがとうございました 今までXC8のFREE版を使っていたんですが、今回サブスク版を買ってみました。
んでPROレベルの最適化でコンパイルしてみたらそれまで55KBあったHEXファイルが
40KBまで縮んで「さすがPROのオプティマイズ化はすごいな」と思ったんですが、
いざこのHEXをPICに書き込んだら全く動きません
ためしに最適化レベルをFREEに設定してコンパイルしたHEXファイルを書き込んだら
やっぱり普通に動きました
PROレベルの最適化で逆に動かなくなるケースってのはどういうものがありますでしょうか? >>775
ハンダコテは何でもいい。液体フラックスと吸い取り線は必須。
ハンダはこだわりがなければ有鉛を使う。
あとはようつべで引きハンダのやり方を見てひたすら練習。
仕上がりを確認するのにルーペが必要かな。 >>776
ソースの一部分を削ってコンパイル&実行を繰り返し問題部分を特定するしか無い >>776
アセンブルリストファイルを吐き出してコンペアかけてみな。 >>776
最適化によって正しいコードが動かなくなることはある
(昔のVisual Studioではよくあった)
最適化における仮定が正しくない場合にも起こるし
単にコンパイラのバグということもある
シンプルなコードから順番にコードを足していって場所を特定してコードの記述を変えたり
ソースファイルや関数ごとに最適化を切り替えられるならそれを細かく変えることで
場所を特定して最適化設定を最適化する
また、コード側の問題としては以下が考えられる
不定値
タイミング依存
使用リソースの変化 (RAM, スタック)
処理順が変わる (volatileつけ忘れ) あとハンダは0.3φの奴を。ルーペはスタンドか頭にかけるのを。 ヤニなしで0.3mm径の半田より、
0.6mm径のものを使った方がヤニがたくさん得られて
上手に半田付けできるよね。 >ヤニなしで0.3mm径の半田より
0.3mmでヤニなしって売ってる? >>775
マイコン自体が安くても大して変わらんぞ
値段で決めない方が良い スルーホールだろうと0.5mmピッチだろうと0.6mmでやってる ハンダの径なんていろいろ選べるのだから、使い易いと思うものを使い分ければいいよね。
0.6が使い易いと思うならそれを使えばいいし。 糸ハンダの太さなんてアマチュアだから単に繰り出し易さで選んでるな。
あまり太いのも細いのもハンドリングし辛い。 細い半田だと、脂の量が少ないので、半田付けが難しいです。
0.6mmとかだと、脂が多いので使いやすいです。
あとで脂を洗浄するつもりなら、フラックスをハケ塗りすれば、0.3でも行ける 俺が0.3mmのハンダの芯のフラックスの量が少ないと感じるとき
・半田付け時の温度がうっかり高くなりすぎている。
・大きめのD、Cコテ先のまま使って、コテ先端へのハンダの広がりが大きすぎ。
ピンポイントでハンダを流し込むのに0.3mmを使っているのに、
芯のフラックスを、対象を活性化するのに使わずに、熱で飛ばしたり、
コテ先の余分なところを活性化するのに使っていては良いことないですね。 フラックスはハンダのヤニいりももちろんだが、別に筆で塗る奴用意して
基板に塗布+IC置いた後にピンごと塗布だろ。
太さは俺も0.3mm. そうなんだけど、ついつい面倒で半田盛ってしまう
で、ブリッジして慌てる
ここ一番の時にはフラックス出動するけど ブリッジしないで済むようなら極力させない。
しちゃったらなるべく一回で済むよう吸い取る。 いつかテレビで、
人工衛星搭載電子装置の基板のQFPの名人によるハンダ付け
を放送していた。
ハンダゴテを滑らせつつ連続的に糸ハンダを供給し、あっという間に終った。
出来上がり状態は全ピンがブリッジ無しの最適ハンダ量だった。
なるほど、これは名人だなと感心したけど、
私も君も数さえこなせば名人になれる、かもしれない。 0.5mmピッチなら昔だけどCx486とかIBM486BL2のTQFPを良く貼り替えたな。 PIC16で問題になるのはEUSARTくらいだからマシなほうだな ANBE PICKIT3-KIT05、 これ使ってる人がいたら確認したい
コイツに付属のZIFアダプター、PIC16F145x(USB内蔵) に対応出来てなくない?
種々試してみたんだけどダメだった
それ以外は調子良くて、コスパ自体は高いと思ってる
自分の使い方が悪いのか、そもそも対応してるのか?
説明書も回路図も無いから 判断できん ここは既に見てて知ってたけど
この回路図が合ってるなら、ダメそうだって事だな >>804
此れだけ知っていりゃ、安部ので十分だな。
一つ買っておくか。 この間からPICが必要になってラズパイで書いていたけど
安いから専用で持ってても良いよな! ZIF要るのか
凄く安いの買ったら
TEXTOOLじゃなくてTFXTDOLだった >>803
俺のメモには、PICKIT2で書き込む時にデバイスを手動設定してLVPで書き込むって書いてあるな 付属のZIF使わずに
BBに挿してジャンパー5本で直接PICKIT3に繋げば、問題なく書けるのは確認してる
該当端子を辺りを弄ればOkと言う事になるが、ZIFを外すのが大変
デバイスのDataSheet見ながらLVPならイケルかも? と考えてたんだが、 >>811 が正解か LVPなら、付属のZIFでも書ける事を確認 Verify もOK
LVP、今まで使った事が無かったから設定手順がアレだったが
知ってしまえばどうって事無い、 >>811 で正解だった
ただ、LPVだと実使用の面で何かと制約有りそう
確認も取れた事だし、
たとえ面倒でも一旦ZIF外して、基板に細工した上で付け直した方が良さそうだな。 >>810
読み書きソフトはSourceからコンパイルして作るんだけど、そんなに面倒じゃない。
オレンジパイでも書ける。 あ、
でもPICKITは遅いよね
ST-LINKとかLPC-LINKとかE1とかXDS100とか使った後だとイライラする pic18のdecf,incfでキャリーフラグ変わるってどういう事よ
pic14で実績あるコードだから何故バグるのか相当悩んだ
今さらアセンブラーでも無いんだろうけどね microchipが金払って調査会社に依頼してるんやから
当然現行大口ユーザー相手にアンケート取って1位にするやろ
日本でアンケートしたらルネ一強になるだろうし だな
"consider" なんてどうとでも操作できる incf/decfでキャリーが出てほしい場面が2バイトをdecするくらいしか思いつかない
別に出ても不思議ではないけどわざわざ変える理由が分からない
他の変更点ではアドレスがバイト単位になったのが不便だけど何かそうせざるをえない理由があったのかな
addwfとかでPCLを読むとPCLATH/Uが現在地になるやつは便利 ループの終了判定はdecfszだな
pic14はPIC12/PIC16と14bit命令が混ざったんじゃないか? >>824
PIC16は命令長が14bitだから、[バイト単位]にアクセス出来ても余り意味無い。 >>826
命令長14bitのをPIC14と呼んでる。 >>829 命令長14bitのをPIC14と呼んでる。
マイクロチップのネーミングが適当だからこんなことになる。 2バイトでアップカウントする場合、下のバイトを incfsz で skip したらi上のバイトを incf(sz) すれば良いが
ダウンカウントする場合は decfsz だけでは役不足なのが仕様としていびつと感じてはいたな。 >>828
14bitで必要無かったのは分かるがPIC18で変える必要はあったのかなと
下1bit無駄になってaddwf PCLが面倒になってまで必要だろうか
TBLRD/WTがあるけど2バイト単位でできなくもなさそうだしそこだけ1バイト単位でもいい
>>830
確かに。でも普通のN回ループはゼロだしキャリー使う場面が思いつかない
あればあったで何かしら見つかりそうな気もするけど ん?、 "addwf PCL" は従来どおりじゃないのか?
DataSheet 見てもこの部分が変わったようには見えないが >>835
命令長16bitのPICは16bitPICですか ■ このスレッドは過去ログ倉庫に格納されています