初めてのPIC 0x0e
レス数が950を超えています。1000を超えると書き込みができなくなります。
.
_ _ PICをさわるのは今日が初めて、という超初心者のためのスレです。
(O>――<O) PIC選び、PICを使った回路は、誰でも最初は不安なものです。
/ (・) (・) ヽ 恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
○ /▼\ ○ 質問のしかたは、初心者質問スレの発言1を見てくださいね。
|(ヽ二フ ) |
/  ̄ ̄ ̄ ヽ
f ヽ / | PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
ヽ \ / ノ ・PIC専用のスレ
| \_ )(_/ ! 本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
| | ここの話がわかるようになれば、あなたはもう一人前のPICerです。
| | ・マイコンソフト 悩み事相談室
| | ̄ ̄| | マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
(_ノ ヽ_)
質問する時のコツ
・性格の悪い回答者はスルーしよう(相手すると逆効果)
・素人玄人などと 上から目線の回答者は、無視してください。相手してはいけません。
・そこそこ良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
・回答者のアドバイスで後日解決したら、結果報告しよう(とても喜ばれる)
・回答者は、僕たち初心者に優しくしてください。あなたも通ってきた道のはずです。
必要なソフトなど(基本無料)
統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers (高機能版は有料)
コード生成プラグイン (MCC) ttp://www.microchip.com/mplab/mplab-code-configurator
マイクロチップ ライブラリ (MLA) ttp://www.microchip.com/mplab/microchip-libraries-for-applications
必要なハードなど
初心者はPIC16F1、PIC18F1以降の型番で始めると無理なく始められます。
プログラムの書き込みには書き込み器が必要です。持っていない場合はPICkit3(中華クローンでもまず大丈夫)を使いましょう。
PIC一覧、スペック検索 ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
さ、質問どうぞ〜っ
0x0d 2017/10/25〜 ttp://rio2016.5ch.net/test/read.cgi/denki/1508935254/
0X0C 2017/07/27〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1501157324/
0x0B 2017/05/08〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1494235320/
0x0A 2017/01/04〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1483498857/
0x09 2016/09/07〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1473238791/
0x08 2016/04/30〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1461994030/
0x07 2016/02/05〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1454648249/
0x06 2015/07/18〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1437151298/
0x05 2015/04/07〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1428391368
0x04 2015/01/02〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1420205108 俺のエラッタ回避方法は
1. 割り込み禁止が1文字送信時間を超えるようなコーディングをしない。
2. n文字送信関数で最初の1文字送信のときにリングバッファが空ならTRMTが1になるまで待つ。 >>861
232や485を10や20つなぐPCなんて工場とかではザラなわけだがWindowsあたりだとけっこうコケる
TCPでセッション100張るほうがうんと負荷軽くて楽
チップセットとプロトコルが頭いいと楽だね Microchipが重視していない姿勢を鑑みるに
ごく一部のユーザーが特殊な条件で使用する時のみ
影響する事象なので
EnhancedMidrange全型番のエラッタに載せてないんだろうね
ほとんどの初心者には影響ないからスルーして良いかと >>863
最大2文字分のビジーループが発生する
稀なタイミングしかオーバーヘッドが発生しないのと
ハードが不要なのが利点か
おれのUARTエラッタ回避法は
フリーランタイマーでヤバいタイミングを調べて
可能性があればnop 1個でタイミングをずらす
ビジーループは無いがタイマーを使う
(タイマーは共用可能)
割り込み禁止期間の制限は特に無い 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で赤くブリンクしているのが気になります。 PICエラッタの最良の対処方法はPICを使わないこと。
何故にマルチタスクも動かせないようなこんな低レベルCPUにこだわるのか? >>869
こだわってるのはあなた
他人が何を使おうが勝手でしょ 人の財布の中覗いてケチつける
他人の家の冷蔵庫開けて食材にケチつける
朝鮮人文化には馴染めません こだわっていないし、ケチもつけてませんよぉ。
ただただ疑問に思っただけ、理由を知りたかっただけです。
PICの何がそんなに魅力なのか?
もしかしたらPIC信者ってMなのか?
ハハハ、私のレスは無視して下さい、ちょっと退屈していただけなので。 春になるとわくものに釣られすぎ。別人だろうけど、他の板のスレにもこの時期になるとわいてくる。 PIC信者を NGワード化して久しいが
これがまだ続くなら エラッタ もNGワード
にしようかと。兎に角しつっこいからな。 ここまでPICをdisってるエラッタおじさんはどんなCPU使ってるの? もうウザイから、たった今、エラッタもエッタラも NGワードに登録したぜよ >>878
文句言いながらもここを覗きに来てるって事は、根っからのPIC信者なんだろ。 趣味でも仕事でも、ファンだから使う、は有りうる。
仕事でその理由は有りえない、と思う人は、そういう立場を知らないだけのこと。
なぜファンなのか、他のものの比べた上で判断したのか、なんてのは野暮。 バグを知らないで遭遇したらとんでもない時間を浪費することになるし
納期を間に合わせるために原因不明のまま対処療法の対策で納品する
なんてことにもなりかねない。
感情的にならないで有益な情報として受け入れた方がいいと思うけどな。 ライタを持ってるから
本を買って持ってるから
PCに環境を作ったから
使い方を覚えて染み付いてるから
買い置きが残ってるから
これまで書いたコードが流用できるから
困ったことや痛い目に遭ったことがないから
全て消極的理由だが、趣味なら乗り換えない理由としては十分
別に特段の魅力は感じてなくてもPICで良いって人間もいるんだからほっといてくれ
ほんと余計なお世話 こういうのに難癖つけるやつに限って
自分の使っているチップ型式を云わないのな
AVRとかだったりするのかねぇ > 困ったことや痛い目に遭ったことがないから
というより、困ったことや痛い目に散々遭って、それを時間をかけて
克服してきた実績と自信があるから、違うチップでまたやり直すの
やだなあみたいな先入観があるな。
#流用できる完動するコードがある、に帰着するかもしれないが。 導入の壁乗り越えて
自分なりのお気に入りライブラリー揃えてしまうと
今更他のマイコンに乗り換えるモチベーションか PIC自体の良いところが何一つ出て来ないところが泣けるねえ PICに問題があるからダメだって話はするくせに、問題のないチップは出てこない。
PICは問題が多いというが、結局のところ多かろうが少なかろうが自分が使うところにその問題があるかどうか。
バグがたとえゼロでも供給に不安があるならダメだろう。
バグは開発段階で回避できるかもしれないが、製造段階で全く互換で置き換えられるものの供給が滞るとかなりイヤ。
ユーザーが多いほど問題は既知のものになりやすい。
ネットで情報発信しているユーザーが多い方が、問題解決はしやすい。 >>888
いちいちまとめることもしないけれど、見えてないフリしてるだけだと思う。
勝手に泣いてろ。 取るに足らない問題に当たった0.1%以下の人間がギャンギャン吠え続け
問題がないか,自分で解決したほぼ100%の人たちは黙ってる DIPパッケージ、PPS、外付部品少なくて頑丈
今更な長所だけど趣味には重要だよ 入手性とか考えたらホビーユースだとPICかAVRぐらいしかないし、PICの内蔵ペリフェラル機能は活用できると便利だから使ってる。 >>867
リングバッファでなくてTXIEを見れば、ビジーループを最大1文字分にできることは知っているんだが、なんとなく気持ちわるくてね。 >>868
どうも 868 です。
PIC18F47K42で同様な現象の記事を見つけましたが私には理解できません。
http://www.ccsinfo.com/forum/viewtopic.php?p=217541
下のコードを追加するようなんですが、どのファイルなのかわかりません。
//Select I2C with PPS
#PIN_SELECT SCL1IN = PIN_C3
#PIN_SELECT SCL1OUT = PIN_C3
#PIN_SELECT SDA1IN = PIN_C4
#PIN_SELECT SDA1OUT = PIN_C4
#use i2c(Master,Slow,I2C1,FORCE_HW)
最後のスレの
//Select I2C with PPS
#PIN_SELECT SCL1 = PIN_C3
#PIN_SELECT SDA1IN = PIN_C4
#PIN_SELECT SDA1IOUT = PIN_C4
//Using the peripheral name always forces hardware
#use i2c(Master,Slow=100000,I2C1)
が正解なのかも知れないが、どこに挿入するのだろう? >>896
せめてmain.cぐらいは見せないと何もわからんよ。 >>896
すまん、18F46K22にはPPSは無かった。 >>894
LPCとかSTMもあるし、8051系もありますよ。 >>897
こんな感じです。
EMULATED_EEPROM_Read関数はMCCが生成したi2c1.hの例文をコピペして、main関数の前に定義しました。
EMULATED_EEPROM_Read関数のwhile(status == I2C1_MESSAGE_PENDING) ;から抜けられないようです。
オシロでSCL1(RC3)とSDA1(RC4)を観察してもHighの状態です。
双方とも4.7KでVDDにプルアップしています。
I2CデバイスはDS1307(カレンダー)です。
TMR0とEUART1とADCは動作しています。
void ReadDateTime(uint8_t *pDateTime)
{
uint8_t dt[8];
// Read DS1307 Reg.
EMULATED_EEPROM_Read(0x68, 0, dt, 8);
*pDateTime++ = ((dt[6] >> 4) * 10) + (dt[6] & 0x0f);
*pDateTime++ = ((dt[5] >> 4) * 10) + (dt[5] & 0x0f);
*pDateTime++ = ((dt[4] >> 4) * 10) + (dt[4] & 0x0f);
*pDateTime++ = ((dt[2] >> 4) * 10) + (dt[2] & 0x0f);
*pDateTime++ = ((dt[1] >> 4) * 10) + (dt[1] & 0x0f);
*pDateTime = ((dt[0] >> 4) * 10) + (dt[0] & 0x0f);
}
void main(void)
{
uint8_t DateTime[6];
SYSTEM_Initialize();
INTERRUPT_GlobalInterruptHighEnable();
INTERRUPT_GlobalInterruptLowEnable();
INTERRUPT_PeripheralInterruptEnable();
TMR0_SetInterruptHandler(timer);
printf("Start!¥r¥n");
ReadDateTime(DateTime);
ここに来ない >>895
TXIEを見た後TXREGにセットするまでの間に
割り込みがバタバタっと来たらアウトじゃないか? >>897
コピペの関数もそのまま添付します。
void EMULATED_EEPROM_Read(
uint16_t slaveDeviceAddress,
uint16_t dataAddress,
uint8_t *pData,
uint16_t nCount)
{
static volatile I2C1_MESSAGE_STATUS status;
I2C1_TRANSACTION_REQUEST_BLOCK readTRB[2];
uint8_t writeBuffer[3];
uint16_t timeOut;
// this initial value is important
status = I2C1_MESSAGE_PENDING;
// build the write buffer first
// starting address of the EEPROM memory
writeBuffer[0] = (dataAddress >> 8); // high address
writeBuffer[1] = (uint8_t)(dataAddress); // low low address
// we need to create the TRBs for a random read sequence to the EEPROM
// Build TRB for sending address
I2C1_MasterWriteTRBBuild( &readTRB[0],
writeBuffer,
2,
slaveDeviceAddress);
// Build TRB for receiving data
I2C1_MasterReadTRBBuild( &readTRB[1],
pData,
nCount,
slaveDeviceAddress);
timeOut = 0;
while(status != I2C1_MESSAGE_FAIL)
{
// now send the transactions
I2C1_MasterTRBInsert(2, readTRB, &status);
// wait for the message to be sent or status has changed.
while(status == I2C1_MESSAGE_PENDING) ;
if (status == I2C1_MESSAGE_COMPLETE)
break;
// if status is I2C1_MESSAGE_ADDRESS_NO_ACK,
// or I2C1_DATA_NO_ACK,
// The device may be busy and needs more time for the last
// write so we can retry writing the data, this is why we
// use a while loop here
// check for max retry and skip this byte
if (timeOut == SLAVE_I2C_GENERIC_RETRY_MAX)
break;
else
timeOut++;
}
} mainのprintf("Start!¥r¥n");を以下の行に変えたてみたが、SCL1もSDA1もHのままだわ。
printf("TEST1¥r¥n");
SSP1STAT = 0xC0;
SSP1CON1 = 0x28;
SSP1CON2 = 0x00;
SSP1CON3 = 0x08;
SSP1ADD = 0x9F;
SSP1BUF = 0x00;
printf("TEST2¥r¥n");
printfは正常に表示された。
別のソフトでRC3,RC4をGPIOでOUTにしてH/Lの出力を確認できたから生きているはず。 >>904
オシロがあるならI2C.hで宣言されてるシンプルなリード、ライトをためしてみたら?オシロでなにも無いようなら、初期化周りが怪しい気がする。関数内だからこっちはどうなってるかわからんが。 PC USBロジアナ安いからおすすめ
〜\1000程度で買える
RS232やI2Cの解析なんかには十分な
24MHzサンプリング8ch
amazonとかebayで買える >>902
>>863のリングバッファが空だったらってとこを、TXIE(TX割り込みイネーブル)が0だったらと変えるだけ。 >>905
main.c内に下記のtest関数を定義して、MCCの初期化と割込み許可直後でtest関数を呼び出した。
void test(void)
{
static volatile uint8_t buh[16];
I2C1_MESSAGE_STATUS status = I2C1_MESSAGE_PENDING;
I2C1_MasterRead (buf, 4, 0x68, &status);
printf("%02x, %02x, %02x, %02x¥r¥n", buf[0], buf[1], buf[2], buf[3]);
}
オシロにはHレベルのままでI2C1_MasterRead関数から返ってきた。
4バイトとも0x00でした。
何故かその後に呼び出されるReadDateTime関数内の
EMULATED_EEPROM_Read(0x68, 0x0000, dt, 8)から抜けられるようになった。
でもデータは全て0x00でオシロにも出てこない。
別ソフトで1mS周期割り込みでRC3,RC4を毎回反転するのを書き込むとオシロにちゃんと矩形波が現れる。 >>905
MCCの初期化部分が先のコードです。
SSP1STAT = 0xC0;
SSP1CON1 = 0x28;
SSP1CON2 = 0x00;
SSP1CON3 = 0x08;
SSP1ADD = 0x9F;
何故かSSP1CON2が無かったので追加したが変化なし。
この状態で
SSP1BUF = 0x00;
すれば送信が発生すると思うのだが?
初期化間違っているのかな?
SPIは何度も使ったけどi2cはPICでは初めてです。 >>909
設定はそれで問題ないはず。速度は計算してないから、合ってるかわからんけど。
BUFFにデータ入れるまえにCON2.SEN=1でスタートコンディション発行しないと駄目。これだけでSDAは一旦Loになるはず。 >>910
ありがとうございます。
明日、試します。
MCCのコードをPIC16系と見比べたけど同じだった気がする。
明日こそ! >>907
それはわかってる
TXIEを見てから送信バッファに書くまでのタイミングに
UART以外の割り込みが来て、
そこからUART割り込みでTXREGに書くまでに
ダブるタイミングになったらマズイだろ
って思ったけど
割り込みが1文字送信時間分占有しないと問題が起きないし
1文字占有したら受信もマズいので
まああまり気にしなくていいかな
ボーレートが速くてUSBも使ってたりする場合は注意が必要っていうくらい
ソフトのバッファでも猶予が倍になるだけて同じだな
一応条件に加えておいた方が良いかと >>910
おはようございます。
SCL1、SDA1が共にLowになりました。
SSP1CON2bits.SEN1 = 1;
SSP1BUF = 0x00;
MSSP1は生きているようなのでもう一度PIC16FとPIC18FでのMCCコードの違いを探します。 >>910
速度はFOSCがPLL使用で64MHzで100KHzになっているつもりです。 PICのI2Cはエラッタだらけ
MKやMMにI2Cが無いのはエラッタで全く使い物にならないからスペックから消した
不自然にI2Cが無いのはそういう理由
MZは使い物にならないけどスペックに載ってる エラッタエラッタうるせーバカだな
おばQのOちゃんかよ >>910
解決しました!
PIC16FのMCCコードと比較した結果
I2C1_Initialize関数の最後に// add行を追加
// clear the master interrupt flag
PIR1bits.SSP1IF = 0;
PIR2bits.BCL1IF = 0; // add
// enable the master interrupt
PIE1bits.SSP1IE = 1;
PIE2bits.BCL1IE = 1; //add
I2C1_BusCollisionISR関数に下記add行挿入
PIR2bits.BCL1IF = 0; // add
I2C1_MasterTRBInsert関数の前に以下のインライン関数を定義
inline void I2C1_WaitForLastPacketToComplete()
{
while(i2c1_state != S_MASTER_IDLE)
{
// If your code gets stuck here it is because the last packet is never completing
// Most likely cause is that your interrupt is not firing as it should. Check if you have
// correctly enabled all MSSP, Peripheral and GIE interrupt settings.
}
}
I2C1_MasterTRBInsert関数の最後の
// for interrupt based
if (*pflag == I2C1_MESSAGE_PENDING)
{
while(i2c1_state != S_MASTER_IDLE)
{
// force the task to run since we know that the queue has
// something that needs to be sent
PIR1bits.SSP1IF = true;
}
} // block until request is complete
を以下に差し替え
// for interrupt based
if (*pflag == I2C1_MESSAGE_PENDING)
{
I2C1_WaitForLastPacketToComplete();
// The state machine has to be started manually because it runs only in the ISR.
// If we called the ISR function here function duplication would double the code size
// because this function would be called both from interrupt and from mainline code.
PIR1bits.SSP1IF = true;
} // block until request is complete
これでI2C通信が正常に動作しました。
DS1307のアドレスポインタは8bitなのでEMULATED_EEPROM_Read関数の16bitを書き換えました。 うっかりするとエラッタの存在見落としがちだから、
騒いで騒ぎ過ぎは無いと思う
エラッタ情報をデータシートと分けてあるのは
嫌がらせ超えて隠蔽体質だと思うよ
PDFファイル合冊して発行すればいいのに
それともデータシートのどこかに書いてある? 製品としての仕様であるデータシートと
実装の問題であるエラッタは分けといてくれる方がいい
シリコンリビジョンが上がる度にデータシートが更新されるなんてあり得ません エラッタなんてここじゃなくて、あっちでやってほしい
全然意味がわかんなあいーー >>922
いや、シリコンリビジョンが上がってもデータシートが更新されないなんてあり得ません
エラッタも治らないならいい加減仕様として明記しろって話だよ >>924
リビジョン毎にデータシートなんて出さないよ。 リビジョンなんかほとんど変わらないし
変わってもエラッタ直らないし
使えないものはデータシートから消してほしい >>927
918です。
EEPROMも配線して、どんどん拡張です。 質問してくれていいよ
他の話題で活気付けば誰もエラ男の相手なんかしないから NYTから
”A.I. Researchers は100万ドル以上の高給を得ている”
A.I. Researchers Are Making More Than $1 Million, Even at a Nonprofit
https://www.nytimes.com/2018/04/19/technology/artificial-intelligence-salaries-openai.html
シリコンバレーで公然の秘密の一つは、人工知能の専門家が巨額の給与とボーナスを得ているという
ことです。 今、OpenAIと呼ばれる研究室によるちょっとした税金申告によって、そのような驚くべき
金額が公になっています。
OpenAIは、2016年にトップ研究員であるIlya Sutskeverに190万ドル以上を支払った。その年の
3月から採用されたにもかかわらず、もう一人の有力な研究員、Ian Goodfellowに80万ドル以上を
払った。 両方ともGoogleからリクルートされました。2016年6月に採用された、元カリフォルニア州立大学
バークレー校の教授で、ロボット研究者のPieter Abbeelは$ 425,000を得た。 これらの数字には
すべて契約ボーナスが含まれています。
OpenAIが非営利団体であるために、公開された税務書類に記載されている数字は、世界中の組織が
A.I.技能者に支払っている金額を垣間見せてくれた。 しかし、注意すべきなのは、OpenAIでの報酬は、
非営利団体としてストックオプションを提供することができないため、これらの研究者はこれでもまだ安売り
してるかもしれないということです。
これらの技術を理解している人は少なく、何千もの企業がその技術を使いたいと思って居るので、
トップA.I.研究者の給料は天文学的な数字になってます。
カナダの独立研究機関によれば、真に重要なA.I. researchをを行うために必要なスキルを持っている人は
世界中の22,000人しかいないと推定しています。
「需要が山のようにあるにに、一方供給は水のしずくのようにしかありません。」
AIの事業を立ち上げたSkymindの創業者であるクリス・ニコルソンは語った。
それは大学や政府にとって重大な問題を引き起こす。 彼らにもまた、A.I.技術者が必要です。
次世代の研究者に教え、これらの技術を軍隊から薬の開発に至るまで実践に移すために。
しかし、彼らは決して民間セクターで支払われている同額の給料を払えません。
以下略 >746 に送ったが何も反応ない。「使えねーよボケが!」でも良いんだけど。 アドレスが受信専用って書いてあるからねえ
「受け取りました」くらいはここに書いても良いとは思うけど メールアドレスってもともと受信に使うものなんじゃないのかな?
送信に必要なのはSMTPなどの送信サーバーにアクセスする権利なだけで。 >>760を見て
送ってくれたメールの送り主に対してメールを送るつもりはありません
という意志だとわからないと
ただの面倒くさいヤツ
送信専用のアドレスって何だよwww
と思ってもそれを言わないのが大人 ID:u90n8Wf/ は拗ねたものの見方をする人だな。 大人にも拗ね方が強い人と、そうでない人がいますね。 秋月にPIC16F18323をリクエストした人がいるっていうが、18325と10円しか違わない。
18323は18325のサブセットだと思ってた。10円でも節約して秋月で買うべきものなんだろか。 リクエストした時点では金額はわからんしな
10円でも1000個買えば1万円の差 PICKIT4はMicrochip Directには在庫があるけど、DigikeyもMouserもなし。
なんでだろなー。 仕事でPIC使ってるならともかく、急いで買う必要あるの? >>951
俺は使ってます。
ってか、俺の周りの人も会社も、マイコンはいろいろ使うせいか、エミュレータも割と安めのものを使ってる人が多いな。
PICについてはICDを使ってる人がいない。
PICKIT3×PIC32だと遅くてたまらん、という話もあるけど、PIC32を使わんし。
でも、PIC32でもPICKIT4なら少しはマシなんだろかと期待。 >>950
個人的には急いで買う必要はないけれど、
・今から始める人は3か4かを迷うであろうな。4が出るまで待つか、みたいな。
・Directにあるのに流通しないのは、Directは独立採算の商社として、一定のチカラがあるのかなと思ったり。
・それとも何かの理由で出荷を抑えているのかなと、もやもやしてみたり。
・SAM対応を標ぼうするのはまずいのでは、と社内の保守派からブレーキがかかってるのかな、と邪推を楽しんだり、
・出すならAVR対応に、と社内と推進派からクレームが入ったのかな、と邪推を楽しんだり。 趣味の電子工作を始めたい、部品を買う必要はありますか?
まあ、買う必要があるでしょうね。いつももらって済ますわけにはいかないと思います。
罵倒する前にちょっと考えて欲しい。 レス数が950を超えています。1000を超えると書き込みができなくなります。