初めてのPIC 0x0D
レス数が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
さ、質問どうぞ〜っ
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
0x03 2014/09/22〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1411314715
0x02 2014/05/20〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1400522979
0x01 2013/11/17〜 ttp://ai.2ch.net/test/read.cgi/denki/1384626558 >>830はなかなか鋭い書き込みだったわけだ
えっへん またまた超初歩的な質問ですみません。
まず初めに、SDカードの「SCLK」ピンにPIC24Fからクロック出力をしたいのですが、どのようなコードを書けばいいのでしょうか??
「MCC」を使って、「SCK1OUT」ピンをRB4に割り当てたのですが、LEDをつないで見たところ、何も出力されていないようです。 >>852
「なにも出力されてない」を判断するにはまずそれを観測できる道具が必要。
この場合、LEDと人間の目ではスペック不足なので「オシロ買った方がいい」ということになります。
でも、まずは「何が出力されるのが正常」かを知るため資料を読むのが先です。 ロジックチェッカーが必要だな。
サンハヤトで出してたっけ? 脅して敷居をあげなくても
一旦SPIの通信が通っちゃえばあとはいらないし
SPIの設定も複雑じゃない
最悪、4種類全部試してみればせ良いし
どこかのサンプルをパクるんでもいい
通信速度もテスターやLEDで見れるくらいまでクロックを落としても良いし
電気的な知識があれば音声として録音して波形を見ても良い 質問のレベルから察するにここをクリアしたとして別の壁が待ってる事は明らかじゃね?
だったら適切な測定器持ってたほうが良くね? ログオフ阻止用マウスぷるぷるを披露したら「音楽再生すればいいんですよ」だって。
ほんとだった。 CMD0を送るのは、次のようなプログラムで合っていますでしょうか?
(MCCでSPIの設定をしてあります)
#include "mcc_generated_files/mcc.h"
...
SPI1_Exchange(0x40);
SPI1_Exchange(0x00);
SPI1_Exchange(0x00);
SPI1_Exchange(0x00);
SPI1_Exchange(0x00);
SPI1_Exchange(0x95);
... >>859
方法が色々とあることを知っててわざとやったわけじゃないのか
検索すれば色々と出てくるぞ >>861
相手の応答を見て確かめれば良いのでは?
CMD0の前の準備は出来たの?
CSをHIGHにしてからFFを10バイト送信すれば良い >>863
その前の準備も同様にやっています。
でもなぜかCMD0のあとに0x00のレスポンスが返ってきます。 オシロ厨は本気でストレージオシロを薦めてるんだろうか。
それともただの馬鹿なんだろうか。
数百円で買える中華ロジックアナライザーで十分。
オシロで信号状態分析するような段階じゃ決してなさそうだし、
そんなことが必要になることは無い。 >>866
中華の安ロジックアナライザがこの手のボウヤに使えると思うのか?
あの手のは、ちゃんとした測定器を使える人が使うもの。 >>862
マウスを動かすしか思い付かなかった。
あとはキーボードでCapsLockを押すとか。
俺の土曜を返せと言いたい気分。 >>867
俺でも使えるから使えるよ。
無駄にハードル上げんでもいい。
規定の初期化コードがちゃんと出てるか程度なら猿でも確認できる。
そして、初心者が一番つまづくのはその段階で、あとは割とすんなり行くもの。
ただの経験則だけどね。
>>868
アナログが1chついてる4000円くらいの中華ロジアナ、
もう何年も重宝に使ってる。 SPIの初期化で、CMD0を送った後に0x00のレスポンスが返ってくるのは何故なんでしょうか?
0x01が返ってくるはずなのに。 あ、SDカードを外しても0x00が返ってきたので、そもそもCMD0が送れていないみたいです。
CS、DIをHIGH
↓
for(i=0;i<80;i++){
SPI1_Exchange8bit(0x10);
}
↓
CSをLOWに
↓
SPI1_Exchange8bit(0x40);SPI1_Exchange8bit(0x00);SPI1_Exchange8bit(0x00);SPI1_Exchange8bit(0x00);SPI1_Exchange8bit(0x00);SPI1_Exchange8bit(0x95);
これではだめなんでしょうか? >>872
そもそも、SPIに割り当てたピンに正しくHighとLowが出てるのか。
それをどうやって確認してます? >>870
そのロジアナはスタンドアローンですか? >>872
なんで言われた通り、FFを10回書かないの?
CS = HIGH;
for(i=0;i<10;i++){
SPI1_Exchange8bit(0xFF);
}
CS = LOW;
SPI1_Exchange8bit(0x40);
SPI1_Exchange8bit(0x00);
SPI1_Exchange8bit(0x00);
SPI1_Exchange8bit(0x00);
SPI1_Exchange8bit(0x00);
SPI1_Exchange8bit(0x95);
while (SPI1_Exchange8bit(0xFF) != 0x01);
CS = HIGH;
... そもそもレスポンスの受け取り方はこれで合っているのでしょうか?
uint8_t res;
res = SPI1BUF;
if(res == 0x01){
... 言われた通りにしないので、
もう書かないことにする >>880
あ、報告していませんでいたが、その部分は言われた通りに書き直しましたよ? >>881
こいつ、最近ここで見る阿呆の匂いがぷんぷんする わざわざ他のスレを汚すほどのことは無い。
>>876を無視すりゃいいだけ。 Bluetoothモジュールの使い方で教えてください。
RS232Cの配線を無線化できると思い、Bluetoothモジュールを買い、TXD,RXDをPCのターミナルに接続しました。
ここでATコマンドというのが出てきました。ボーレートやその他の設定をするようです。
確かにターミナルからAT+xxxxと入力するとBluetoothモジュールから OK と返事がありました。
しかし、実際にやりたいのは、0x00〜0xffまでを送受信することです。
AT+xxxのモード?か抜けないと、0x00〜0xffまでの送受信状態にならないと思うのですが、
ATコマンドモードから抜ける方法(ATコマンド?)があるのでしょうか?
また、モジュールの電源onのたびに、AT+xxxを実行した後、0x00〜0xffまでを送受信のモードに移ることまでを
マイコンが毎回行わないといけないのでしょうか?
期待するところは、電源onしたらモジュール自身の設定値を呼び出して自動的に0x00〜0xffまでを送受信するモードに
入って欲しいです。 どのメーカのどういう型番のモジュールなのかを書くか、エスパーを召還してください RN42だろうな。
俺も使おう思っていたところだ。 すみません。
メーカーわからないです。
型番は、HC_06と言う物です。
アイテンドウで買いました。 $$$でコマンドモードに入って
---で抜けるんとちゃうの? データシート見たらこう書いてあるからハードで制御せなあかんのか
works in Data Mode when the CMD pin (pin 34) is pulled to logic 0 level or is left unconnected. ATDT電話番号)で、トーン信号で相手に電話を掛ける、だったっけか? >>885
初期化コマンドくらい送れよ。
BTだったらペアリングもしないといけないんだぜ。 HC-06なら俺もAitendoで買ってPICで制御する倒立振子に載せて使った。
PCからはFT232つないだ時みたいにCOMポートとして見えて、TERATERMから送受信できた。 ペアリングが済めば普通にCOMポートに見えるし、Androidからも送受信できた。 >>892
コマンドでできることがハードでもできるってことだろ
そのままではRS232ケーブルの代わりのようには(ブラックボックス的には)
使えないと思う
どうしても使いたいならマイコン一段咬ませて初期化やらせてそのあとリレーする
HC-06 Bluetooth to Serial module datasheet
Guangzhou HC Information Technology
データシートよく読め BLE内蔵PICってありそうで無いんだな
市場はCortexばかりで味気ない BLEじゃないけどRF関連搭載のrfPIC12F675Fがあるね 普通のPICでソフトでRF出せる。ワンチップAMラジオICで受信も出来た。 >>901
ARMは味気なくてMIPSは味がある?
意味わからん
RL78, RX, SH, R8C, H8, MSP430, C2000, C6000, AVR, STM8, ...
独自アーキテクチャもまだまだたくさんあるよ インストラクションでCPUの能力を評価していいのかな? CISC代表のx86の命令が貧弱?
なかなかおもしろい事を言うねえwww >>904
周波数決めてアンテナ付ければ出るでしょ
AMラジオってある意味でノイズを音に変えてる様なもんじゃない? 出るというか
矩形波の高調波じゃね?
AM変調はどうやってかけるんだw さすがに8ビットPICで演算で振幅変調は難しそうだけど、
こんな回路でできないだろうか。
℃素人で恐縮ですが質問させてください。Hi-Tech C の最後のころのシンタクスと
現在の xc8 のバージョンにおいて、コンフィギュレーションビッツに関する表現を
除くとして、共通性・互換性は高いのでしょうか。8ビットPICを前提としています。 >>915
自分の場合はとくに変更なしにどちのコンパイラでも使えています。
(ただしコンフィギュレーションと初期化ルーチン以外ですが)
特殊な書き方さえしなければ
CCS-C,AVR,8051でもメインルーチンは同一でも動作可能です
(ただし、AVRはヘッダーファイルを一部変更すればですが)
機能の設定をサブルーチン化すればほとんど流用可能です
それがC言語の特徴だと言えます。
あとは、自分がどうしたいかでどのようにすれば可能かはおのずと見えてきます
CCS-CではSFRの設定は自分ですべて用意していますし
AVRではポート制御はPICと同様にできるように定義しています
8051ではほとんど機能がないのですべて自分で記述すれば何でもできます
しかも、この変更をしても出力されるコードには変化はありません。 >>915
C言語自体は問題ないが、
マクロやライブラリの互換性はあまりないから、
ネットや本からコピペ下のを移植するのは少々大変かもしれない >>916
違うところをラッピングすれば同じように使える
というまったく意味のない情報
頭悪いの? MCCでTMR0使ってみて、はまったわ。
16ビットモードにしたら指定したタイミングにならず、上位が常に0だったわ。最適化でアクセス順番間違っている感じ。
プリスケーラで落として8ビットモードにしたわ。 >>916
丁寧に解説いただきありがとうございます。自分なりのレベルで、曖昧ですが理解に
達したと考えます。これからその曖昧さをより排除すべく努めたいと思います。
「サブルーチン化すればほとんど流用可能」の「ほとんど」の部分に、今後の修行の
成果が表れるのだろうと理解はしているつもりです。
ところで「SFRの設定」とは、各PIC個別に用意されているテキストで構成された
ヘッダファイルの中身という意味なんでしょうか。再度質問して申し訳ありません。
CCS-Cコンパイラ、ライブラリが豊富とか。初心者は購入すべきなんでしょうかね。
>>917
現在本からの写経の修行に励んでいるところでして。コピペは極力いたしませんが、
もうちょっと勉強してから細かいところは質問させていただきたいと考えております。
現在出版されている書籍は、内容が少々古いものが多いようでして、このような疑問を
持った次第です。ありがとうございました。 >>919
MCCはただのサンプルコード
何の保証もない >>920
CCSのライブラリは便利だけどブラックボックスで発展性がないからお勧めしないな >>920
SFR
特別な機能のレジスタ
ペリフェラルの設定などが出来るレジスタ
多くのマイコンではアドレス空間に割り当てられていて、
メモリアクセスのように読み書き出来るが
通常のメモリとは異なり、
読んだだけて機能が動作したりする物もある
このレジスタにアクセスしやすくするためのヘッダファイルがマイコンメーカーやコンパイラメーカーから用意されている事が多い
このレジスタのアクセスに対してコンパイラが最適化しないように
通常はvolatile宣言されている >>922
なるほど。ライブラリまでフルスクラッチというわけにはいきませんが、
PICの面白さとはつまるところ、そういうものかと思います。
むろん私にはそこまで到達する力量はありません。
>>923
SFRとヘッダファイルの関係は、おおむねわかっているつもりでしたが、
読みにいっただけで動作するしくみについては、全く知りませんでした。
皆さま解説ありがとうございました。 8bitPIC使いの(いつまで経ってもAVRをディスコンにしない)マイクロチップテクノロジへの
苛立ちが感じられる今日この頃・・・
16bitと32bitのPIC使いは高みの見物 (本音、欲しかったのはSAMだったとしても)
責任ある会社のあるべき姿だとしか思いませんが? エラッタを放置しているような会社に何を期待しているんだ。 >>925
それより、買われちまったAVR使いのあんたの苛立ちが依然継続中なことの方が不憫 Coupon Code TP1747 Expires : 28-Feb-2018
USD130の50%offか
びみょー
いまはがしがし使うならARMだし
ARMのSWDツール数百円だし >>922
ブラックボックスかもしれないけど。
その方が多くのチップにも移植可能なコードを書くことが可能で
実際に商品化しようとする場合には有効です。
ソフトの開発を行う場合はチップごとに設定を変更することなく
ほぼ、同一のソフトでより多くのチップに対応することが可能で
開発時間の短縮になります。
趣味で、時間はいくらでもあるので一から作りたいと思う人には
向いていません。 AVR ICE自体が開発に必要不可欠ではなくなっているのが
一番の問題で、以前からある同様のToolはフル機能でも
もっと安く購入可能で、自作すら可能です。
(今は作るより買った方が当然安い)
チップメーカーは開発ツールを高く売るより作れるやつは
自分で作れ〜〜〜と回路とソフトを公開してより開発しやすい
環境を作るべきだと思う。
(Made in chainaが頑張ってくれればその方が楽だが!!)
チップメーカーは本業のマイコンチップで儲ければいいだけで
それ以外は販売促進のためのToolだと思えるような経営者でないと
だめだと思うよ!!!!!!!!!!!!! 3桁の7セグLEDを使ってるんだけど、数字が1の時は明るく光る
これなんか気になるんだけど、なんとかならないもんだろうか
市販品みると1でも8でも同じ明るさなんだよね >>935
ドライブ能力が足りないとか、電流制限がコモン側にされちゃってるかどっちかではなかろうか。
後者は推測としても失礼な気がする、ごめん。 >後者は推測としても失礼な気がする、ごめん。
実にいやらしい書き様だね、品性のなせる業かな? 人を蔑むことでしか自分の価値を見出せない可哀想な人が多いな >>935
>なんとかならないもんだろうか
問題が発生している回路を示さないと憶測でしか答えられない。
悪者みたいに言われている>>936が気の毒。 ドライブ能力というか、電圧降下が起きてるんだろうから
配線短く太くするとか、ドライバのインピーダンスを下げるのが対策
んなの回路図など見なくても判る罠
LEDがICに直付けなら止めてドライバTr入れるんだ
さんざん悩んどいて単なる電池の寿命とかは無しヨ 配線を太くすることで有意に変化するとしたら、どんな線なんだろな。 >>935です
皆さんのなかにも3桁7セグLEDを使ったことあるひといるとおもうんですけど
1と8では明るさが違うなーって経験したことあるひといませんか
ちなみに私の場合はカソード・コモンタイプをつかっていて、
アノードはPICに直接つながってます
電源は5V1AのACアダプター使ってるので十分電気はまわってるはず PICの絶対定格超えてるんじゃね
1ポートあたり25mA以下だけど
デバイストータルで100mA以下だし
素直にPNP-Trでスイッチした方が >>944
あなたはあなたの最初の質問に対するレスを全部読んでその意味を考えたの? >>944
>ちなみに私の場合はカソード・コモンタイプをつかっていて、
>アノードはPICに直接つながってます
電流制限抵抗を1顧問側に入れてるんでしょ?だから、点灯セグメントが少なくなると、
1セグメント当たりの電流が増えるんだよ。 秋月の文字が縦長の3桁のLED?
1と8同じ明るさでつくよ。 >>941
いやまあ>>936を非難している行為がクズなんですけどね… ホモの受け、攻めの原理を考えると全ての半導体の動作原理は説明できる
と理工系の姪が言っておりました レス数が950を超えています。1000を超えると書き込みができなくなります。