初めてのPIC 0x12
レス数が1000を超えています。これ以上書き込みはできません。
中国にはハイテク分野で勝てるかもしれんなあ
給料安い割には残業が多いらしいよ
これすごくわかりやすい英語の記事だわ
China’s scientists overworked and underpaid compared with other professions,
survey says
https://www.scmp.com/news/china/science/article/2174819/chinas-scientists-overworked-and-underpaid-compared-other しょっちゅう仕事で中国行ってるが、先端分野、開発、設計ではもう勝てないね
日本が勝ってるとしたら、安物の品質だけかな。向こうの安物はいまだに酷い
今は風俗も日本のほうが安くて良い mplabx のdebug simulator の watch で変数のサイズを order変えたり、
16bit,24bit とsize変えて見る方法ないですか?
昔の、mplab ではできるんですけど。
xc8などの純正のCではなくて、アセンブラ。 >>340
Watchウインドウの表示項目部分を右クリックして
Type:Type of watch variable を選んで表示させ
出てきたType欄を右クリックしてUse Defined Size
でサイズを選択すればOK >>341
mplabx v4.15 です。
Display Value Column as
の下に
Use Defined Size
の項目が出てないのです。 >>343
私のMPLABXは、V5.05だった。
古いのかもしれないね。 >>344
昨晩 v5.05に変えたけど、かわらずです。泣 PIC16F1778 とか、OPAMP、10bitDACと、便利なんだけど、乗算器つけてほしいなー
PIC18Fのペリフェラル充実でもいいんだけどね。 >>345
隠れた設定でも有るんですかね。
Tool→Optionsでv5.05の設定をExport(All)してみました。
自身の設定を保存しておいて↓をImportしても変わらんかね?
ttp://www.mars.dti.ne.jp/~m7030/MyMPLABXpref.zip >>352
blockStartAddrの定義は、どんな感じでしてます。
既に型がunsigned charになってるみたいだけど? >>353
コンパイラ(cc5x)が吐き出した、asmだから、
blockStartAddr EQU 0x227
という定義ですね。
mplabxのプロジェクトには、この asm ソースしか食わせてません。 >>354
でも、その定義だけだとblockStartAddrは、単なる数値だから
Watchに入れられないんじゃなかろうか。
どこかにunsigned charになる呪文が有りそうな気がします。多分… >>356
別環境で、C言語でコンパイルして、asmにしたものをmplabx でbuildして使ってます。
asmリスト見ても、特別な呪文はなかったですね。 >>357
うーん。難しいですね。
思いっきり端折った再現できるXプロジェクトを何処かに
UP出来ませんでしょうか? >>339
1980年代に日本は電子・情報産業を捨てた(てか、国の指導で捨てさせられた)んですけど? 日米半導体摩擦の事を言っているのであれば事実と異なる >>358
シミュレータで動かせるだけのプロジェクトです。 >>362
Absolute modeだとEQU定義でも1byte変数としてWatchに登録できるのね。
消極的な対策だと思うけど、見たい変数のアドレスをName部分に入力すると
そのアドレスからサイズが指定できるようになるようです。
http://iup.2ch-library.com/i/i1953149-1543541012.png >>363
確認しました、素晴らしいです。
アセンブラからだと、これしか方法がないということでしょうか。
何か呪文をソースにかければ、便利なんですけどね。 >>364
リロケータブルで作れば普通に変数名でWatchサイズを変えられるんですけど
CC5Xが吐き出したソースを改変したり、LKRファイルを加えたりとかするのは、
大変な気がしますね。 MPLAB IPE v5.05 ですが、プログラム書込み成功時に鳴動するビープ音を消したいのですが可能でしょうか? Win7以降なら、アプリ毎にボリューム設定できるだろ これPICKitとの違いが分からないんだけど何が違うんでしょうか。 >>369
安い
まだ対応が完璧でないデバイスがある(Xに対応表がついて来るとの事、Xのバージョンが上がれば対応数も増える?)
なぜか書き込みコネクタが新種の8ピン構成(PICKIT4でもなんかピン数増えてたような)
裸(一応ゴム足つき)
みたいだけど昨晩秋月の通販でちらっと見ただけだから違うかも >>369
どっかのサイトに書いてあったけどVppの生成回路を省略して(対応デバイスを限定したから)コストダウンしたらしい >>370
>>371
>>373
レスありがとう。PICKit3で事足りるようなんで不要かな。 >マイクロチップ純正の低価格インサーキットデバッガ/プログラマです。
>ほとんどの電気的消去が可能なPIC、dsPIC、AVRをサポートしています。
>ほとんどの電気的消去が可能なPICをサポートしています。
>ほとんどのPICをサポートしています。 AVRが正式に使えるってことじゃね?どこまで使えるかは知らんが AVRとPICって両方使えるとメリットありますか?
こういうものにはAVRで、そういうのだったらPICとか…。
ライターは中華クローンなら送料も無料でもう5〜600円安いわけですが、
それだとAVRは書けないので、
MPLAB SNAPを買うメリットは何かなと思いまして…。 これこれこういうものが欲しいと思った時にインターネットして見つかった作例が
AVRだったら素直にAVRで作るかな。なのでたまにAVR使うことがある
ゼロベースから作るときは慣れ親しんだPICで作ることが多いけどAVRの
ほうがメモリとか潤沢なことが多いのでそういう場合はAVR使う >>379
PICライターなのにアルディーノのブートローダーも書けるとか値段を考えたらそこそこいいのでは? 私はプログラミングが趣味なので、迷うこと無くAVR+フルアセンブラ。
また、作例なんて見ないし探さない。
初めてtiny2313をI2Cマスターで動かした時は、時間が掛かったがそれもまた楽しい。 プログラミング=アセンブラ
文科省の官僚並みの近視眼。 >>383
なんでプログラミングが趣味だとフルアセンブラなの?
その2つには何の関連性もない気がするんだけど 仕様を妄想してる時と目的が達成できた時は楽しいが回路図描きやプログラミング自体が楽しいとは思わないな。 インストラクションをニーモニックでなくコードで覚えてるんだろな。
Z80時代は私も覚えてましたよ。
バイナリーエディターでメモリーダンプ見てデバグなんて日常茶飯事。 Z80でハンドアセンブルは普通
そう思っていた時期が俺にもありま…ねーよ pic16f1827で時計を作りたいんだけど初心者すぎてさっぱりだ
I2CでRTCと通信したいんだけどいい本やサイトありませんか? 1文字修正するのに紙テープの穴を貼ってふさいで穴をあけなおすってどこのじじいだよ
…ってオレか >>395
PIC16F I2C RTC で検索
あなたの仕込みじゃないかと思うほどそのものズバリのサイトがトップに >>392
紙テープをつなぐための糊付きで薄い全穴テープというのがあったことを何千年かぶりに思い出しちまったぜ。 >>385
私の初めてのCはボーランドのTurboーCだったんだけど、
その説明書のインラインアセンブルの章の最初に
「CPUの持つパフォーマンスを100%発揮できる言語はアセンブラだけです。
Cプログラマといえどもアセンブラを熟知していなければいけません」
と書いてあった。
で熟知するあまり、小さなMCUのプログラムはアセンブラに乗り替えてしまったw
ま、それはともかくCで書いているとMCUとの密着間、ダイレクト感が無いんだよね。
なんか相手と自分との間に薄い膜が存在しているみたいでさw
それにプログラムサイズや実行速度を追及したり、
小さなMCUでマルチタスクを作ったりするにはフルアセンブラでないと無理がある。
AVRを選ぶ理由はPICよりもアーキテクチャがアセンブラに向いているから。
説明は省略するけど、アセンブラで両方やってみればすぐに分る。
世の中はギブ&テイク、Cで得たものがあれば失ったものもある。
アセンブラも同じ。
「フルアセンブラで書きます」は趣味だから出来る事だと思うし、
楽しみ方のポイントも人それぞれだと思うから、好きな方を選べば良い。
人のやり方にケチを付けるつもりはありません。 Cプログラマであっても機械語がどういう仕組みで動いてるか知る事は必要だと思うが、
コンパイラと同等以上の最適化を自分で出来るかと言われると自身が無い。 >>402
>コンパイラと同等以上の最適化を自分で出来るかと言われると自身が無い。
ああ、絶対無理だからw
CPU自体が昔の単純な構造になってない 個人的にはアセンブリ言語だと失うもののほうが大きいことが多いから避けるけど
アセンブリ言語が好きな人がそれにこだわるのも悪くはないよね。 アセンブラから始めるとポインタの概念は理解しやすいけど
お気楽極楽な小物作るときは迷わずCで組んでしまうな >>403
えっ?
PIC ってそんなに複雑だっけ? >>406
じゃあもっと言ってやろうか、仮にCPUが単純でも人のやる最適化はもうソフトウェアには勝てないよ
それはもうずっと前からだ
いつの頃の経験で自慢したがってるのかは知らないが >>405
アセンブラ必要なのは、シビアなタイミング必要な処理か、dsp命令位だと思う。 >>409
あと、メモリが少ないときとかですね。
アセンブラがCPUを100%引き出す可能性があるのは確かですが、
よっぽど優秀か物好きかってところですね。 CPUの性能を引き出そうとするのはなにがしかの効率を求める行為。
コンパイラやインタプリタを使うのもなにがしかの効率を求める行為。 データ構造も含めてアセンブラで最適化すれば早くも小さくもなるが、めっちゃ面倒だよな。
>>407 はその程度の能力しかないってこと。 最適化なんて機械にまかせておいたらいい、って話をしている人をつかまえて
「その程度の能力しかないってこと」ってさすがにおかしい。 >>413
CPUの能力を、プログラマが楽する為に使うのも有り。 >>415
やつは最適化でソフトに勝てないんだって。 >>412
紙テープ用の1穴パンチというのがあったのも何千年かぶりに思い出したよ。 >>419
パイプライン考慮して、命令順序入れ替えたりとかできるの? >>422
そんなことも出来ないの?
ってか、PIC は何段パイプラインなんだよ。 8ビット限定で話進めるとパイプラインあったら1命令に4クロックも掛けないだろ。 PIC16F は、
・読み出しに4クロック、実行に4クロック。
・2段パイプラインで、見かけ上4クロックで1命令。
じゃなかったですかね。 PIC18FでUSB機器作ってるんだけど、PID OUTが短い間隔で連続で来るとNAKしか返答しなくなってUSB割り込みが発生しなくなってしまうことが起こって困る。
データトグルビットが怪しいのでロジアナで見ても正常に反転してるっぽいし原因がさっぱりわからん。
エラッタかと思ったがエラッタの話題すると荒れそうだしどうしたもんか・・・。 いいえマルチ
だからマルチ
そうねマルチ
とてもマルチ
いやんマルチ
ばかんマルチ
すきよマルチ
そこよマルチ
いくわマルチ
あぁんマルチ やだ、お父さんのおちんちん、血のつながった小学2年生の娘のパイパン
未使用おまんこの中でザーメンびゅるびゅる吐き出して妊娠させたい、
孕ませたいってPICPICしてる 8ピンで12F629/675を好んで使ってた頃に比べたら変わったよな
秋月価格でも629/675より安い16F18313で32M動作できるしメモリもリニアアクセスできるみたいだし周辺もてんこ盛りだし 6ピンにI2C入ってればなぁ……。と思わんでもないが。
たしか16F18313も十分安いんだよね……。 XC16 Ver1.35 Windows をダウンロードしてインストールしたら、
ウィルスソフトが トロイの木馬発見 といって削除されてしまいました。
こんなことは、通常あるでしょうか? >>437
あります。
ウィルス対策ソフトによっては、判断をやたら安全な方に倒すようです。疑わしきは罰する。みたいな。 親切なウィルスソフトもあるもんだな
いまどきアンチマルウェアソフトなんて使ってる奴いるのか >>438
ありがとうございます。
試しにXC16を、最新のV1.35でも古めの1.24でも、どちらも削除されてしまいました。
XC16は問題なくて、ウイルスソフトの感度を下げれば良いということでしょうか。 ウイルス対策ソフトメーカーか、掲示板で聞くならここでなくウイルス対策ソフトの板で聞けよ >>442
いいじゃないですか、我々にも関係あるわけだし。 >>443
専門スレの方が対策方法に詳しいだろう
対策方法が判れば結果を報告してもらえば良いだろう ウィルス対策ソフトのことを「ウイルスソフト」というのは避けた方が良いと思うのだけど…
とりあえず、Windows標準の対策ソフトに切り替えて様子を見てはどうだろう。
ガードがむちゃむちゃ堅いというわけでもないけど、「勝手に削除」みたいなことは少ないはず。
>>441が使ってる対策ソフトって何なんだろう。 そんなに毎度毎度出るんだったらホワイトリストに載せておいたらよろしい。 ホワイトwwwwwwリストwwwwww
ホワイッッッwwwwwwリスッwwwwww
マジウケルwwwww >ウィルス対策ソフトのことを「ウイルスソフト」というのは避けた方が良いと思うのだけど…
ただ思うだけで根拠は無いのね。 >>448
「ゴキブリホイホイ買ってきてね」と言わずに「ゴキブリ買ってきてね」じゃまずいだろう? ガキの使いじゃあるまいし 状況によって判断できるでしょ
我が家では「ゴキブリ買ってきて」で通じる
いやな上司がいってたら ためらわずにゴキブリかってくるわ 寧ろ「アンチウイルス」なら「ソフト」を省略しても違和感ないな。 >>452
ペット用のトカゲとかの餌としてゴキブリが売ってなかったっけ? 今ダウンロードしてVirusTotalに投入してみた
ttps://www.virustotal.com/ja/file/90bfa637152470149105cc4c4bf0b3fe282b1198b102dd475ad498ff254f6a21/analysis/1546622207/
全部クリーン
これコードサイニングされてるみたいだけど、PCの時計がずれてるとかない?
PCの時計がずれてるとサインした証明書の有効期限外になってて、不正な証明書としてエラーになる事がある。 >>456
妥当以外の何ものでもないよ。
>ウィルスソフトが トロイの木馬発見 といって削除されてしまいました。
を読めば、それがウィルス対策ソフトのことだろう、と察することはできるのは
期待されることだけど、それをよしとしない人も少なくないってことなんだけどな。
「USBを落として機密情報が漏れた」「この柵には高い電圧が流れている」
なんて書かれたら、嫌だなあと思う人もいるんじゃないの?「俺は構わない」って話じゃなくて。
それと「避けた方が良いと思う」って言ってるんだし、「ウィルスソフト」で良い、と信念を
持ってる人に押し付ける気はないよ。信念によらずに、何げに「ウィルスソフト」と言ってるなら
違う観点があるのだとわかって貰えれば十分。
と、>>456の質問には答えたけど、この件はスレチだから、続けるなら変な言い回しスレか脱線スレ
に引っ越して。以降はこの件にはここではタッチしないよ。 オフィシャルで使われれば違和感があるけど
(新聞とか・・)
会話レベルだとまったく気にならんけどね
逆に相手がその程度のレベルだと認識できる やだお父さんったら、血のつながった小学2年生の娘のパイパン未使用おまんこの中に
おちんちん挿入して、ザーメンびゅるびゅる吐き出して妊娠させたい、孕ませたいって
おちんちんがPICPICしてる >>457
>その例えが妥当だと本気で思ってるの?
>妥当以外の何ものでもないよ。
何だ、ただの無教養か。(と思うだけで以後スルー)
これだけで完結することなのに、何だろう余分な10行を書き込むこの慌てぶりは。
楽しいからまたいじりたくなるわw >>462
次は30行くらい来そうやなw
今まさに執筆(笑)かもよ。 >>442
> ウイルス対策ソフトの板で聞けよ
あいかわらずのIT土方の親方みたいな口調だこと
こうゆうのはちっともありがたくないんだよね
不快になるだけだから、回答するのをやめろよオマエ >>457の最後の2行が泣けるねえw
スレチ踊りをしてるのは最初からお前だけなのに。 ひどく脱線すればするほど長文になる。
見た瞬間に読む必要が無いと判断出来て良い。 ひとこと謝れば済むことを
手を変え品を変え話そらしてごまかすために長文化
思考がチョンと同じ >>473
長文どうこうとは別にしても、お前のようなレイシストが出てくると1番しらける。 しかし、最近は全く初心者の質問こなくなったね
まったくどうしたんだろ 取っつきの悪さNo.1マイコンだしな
ラダー標準にして、いきなり回路入力出来て転送すりゃすぐ動く、というくらいにしないと >>477
お前、ドシロート向きのマイコンしか使ってないだろ 初めてPICを使う人が年々減ってきていることは間違いないと思われる。
大抵は惰性で使い続けてる程度だろうから新たな質問なんか出てこない。
仕事で初めて使わされる場合はプロ初心者だからこんなところで質問しないな。 自分も惰性で使い続けてる口、初心者はみんなArduinoに流れてるっぽい、PICは周辺がどんどんオバケになっていって最近のは持て余し気味 >>475
俺が初心者でもココでだけは質問しない。 ardiunoもとっつきはいいんだけど、ちょっと突っ込んだことやろうと思うと
最初からスクラッチで書いてたほうが楽なことも多い気がする
昔のVBみたいな匂い いくらVBが物足りないつってもwndproc自分で書こうとかは思わなかったぞ
完全スレチ DI/Oをシーケンサー(PLC)みたいな使い方で制御する時は、
(一言でたとえると、このSWがオンになったらあのモーターをオン、みたいな使い方)
AVRは向いているなと思う。 >>481
> 俺が初心者でもココでだけは質問しない。
質問した人なんかいじめられてるもんなあ
俺もおすすめしないわ >>484
AVRでなくてardiunoが、なら向いているだろう。
AVRがPICより向いていると思うのは、ステートマシンでポインタ関数配列のテーブルを組みたいときで、
かつ5V駆動のDIPでIO20ピン以下くらいのときかな >>486
ポインタ関数配列テーブルは、簡潔でいいっすよね。
パフォーマンスは、switch case で関数に飛ばすのとどっちがいいですか?
avrの話だけど。 >>485
こだわりがあるジジイの溜まり場だから
寄りつかないんだよな
と指摘されても分からないんだろうな AVR使いってスレチすら気にしない民度の低い輩なのな。
そりゃあ買収されるわけだわ。 いつ発売されたのか知らんけど(秋月HPでさっき見たのだけど)PIC SNAP ってどうなんすか?
今から始める人ならピクニックよりもお薦めだったりします? vs AVR
シングルタスクで書くと条件成立チェックのポーリングが多くなりそうだな、
というプログラムを作る時は、小さなCPUでもマルチタスクで書けるAVRを選ぶ。
簡単な処理内容ならどっちでもいいけど。
>>485
私も絶対にこんな所で質問しないし、自分の作品を画像で紹介したりはしない。
でも人が質問するのは気にしない。時には自分も解答したりする。 >>494
複雑化してきたら、普通は16bitとかに行くと思うのだが。 >>494
マルチタスクって、AVRごときで汎用な意味でのマルチタスクやってるのですか?
単純にタイムスライスか割り込み駆動でタスクスイッチしてるとかじゃなくて。
メモリ保護やら考えるとPICよりは向いてると思うが、AVR程度でやりたくはないですね
8BitのAVRでMMUってあったっけ?
>>487
パフォーマンスが問題になったことはないけど、可読性とかメンテ考えると、自分は
関数テーブルのほうが楽ですね。特に複数との通信や同じような外部モジュールで状態遷移する場合に、
テーブルジャンプのほうが多次元化が簡単に出来ると思います。 >>496
複雑さというか用途次第ですね。
演算処理、ファイル処理などが必要だとビット数やメモリ容量を増やしたくなるけど、
DI/Oをシーケンサーみたいに処理する(1点づつ、リアルタイムに)時はAVRで十分だと思います。
まぁ一度多ビットを使うと楽で抜け出せなくなる事もあるけどw
>>497
御指摘の通り、AVRごときで汎用な意味でのマルチタスクを動かせるわけがありません。
文章を短く分りやすくするためにあんな書き方をしてしまったけど
より正確に書けば、小さなCPU用にハードウェア(タイマ)割込みと
ソフトウェア割込みを使用してタスクをスイッチしているだけです。
昔からZ80など多くのCPUで採用されてきた方法ですが、
それでもプログラムの仕様によっては十分に役に立つと言いたかったのです。
タスクスイッチャの一例(tiny2313用)
;===== timer0_CompA:5mS for dispatch ==
; execute time typ. 2.5uS at 8MHz system clock
IRQ13:
cli ;from user dispatch entry
push ZL ;save ZL,ZH & SREG to currrent stack
push ZH
in ZL,SREG
push ZL
;
mov ZL,sv_SPL ;exchange SP task1 <--> task2
in sv_SPL,SPL
out SPL,ZL
;
pop ZL ;restore ZL,ZH & SREG from next stack
out SREG,ZL
pop ZH
pop ZL
reti
;
(長くてAVRだけの話しでスミマセン) AVR使いってスレチすら気にしない民度の低い輩なのな。
そりゃあ買収されるわけだわ。 8bitに限定して言えば。
8bit AVRが良い所はEEPROMが大きい所と作成が多い所
あとなんだかんだ言っても8bit PICより高速なところかな
あとライタも安く済ませられるところはAVRのほうが良いね AVR使いってスレチすら気にしない民度の低い輩なのな。
そりゃあ買収されるわけだわ。 AVR圧勝の理由の一つはどう考えても「書き込みに高圧電源を要しない」事だよなぁ スレチ、ジジイと喚くだけの哀れなPICユーザー・・・
PICスレから消えてくれたら、ここも少しはマシになるだろうに。 もう同じ会社なんだからいがみ合うのヤメで
さらに言うとスレも統合で良い。 じゃあ次スレからは「初めての AVR・PIC 0x13」と言う事でOK PICにまつわる、ちょっとした疑問をにたいして、経験者が気まぐれに回答してくれるのがいいところで。
AVRの話にしても、対PICの話題として興味あります。 もうどうでもいいよ。
海外フォーラムで無理してやり取りしているうちに技術英語にも慣れた。 自分は翻訳ソフトがうまく訳せない所を説明するのに疲れた……。
PICやAVRじゃないけど特殊な動きするから……。
と言いつつ安いなら中華8051とかでも良いんだけどね。
まだ本格的には探してないけど。 >>506
俺にはそう言われても一向に改めないジジイの方が哀れだが、
まあ、ジジイだけに自然と先に消えるだろうから放置だ。
この水掛け論続けます? ジジイの言う書き込みに高電圧を要するチップって
SNAPなんか見る限りじゃMicrochip自身がもう外しにかかってるわけだが
>>503のジジイなんかはいまだに粘着してぶちぶち無意味に書き込むわけだ
それゆえにジジイ黙れと言われているのだから自業自得だし消えてほしいのはジジイの方 ジジイは実はAVRの工作員じゃないのかな
文句ばっかりで、いい回答をしてるのを見たことがないし
政治スレの在日工作員に似てる 模型に LED組み込みたくて初挑戦です
「電飾しましょっ! 2 PIC編」という本を購入後、kit3、他部品を色々通販で買って到着待ちです
プログラミングそのものが初めてなので本見て不安一杯です
先輩方よろしくです >>517
わからないことがあったら、ドンドン質問してね。
夜中でも誰かが速攻で回答してくれるよ。
プログラムはおもしろいです。
アセンブラでなく C言語 からのスタートをおすすめします。 >>516
ジジイとレイシストしかいないのかよここは
どっちもゴミ以下だから吹き溜まりに集まるのかな やがてPICバカ造グループの構成員になって、黙れジジィと書き込むようになるのか…
正しい道に引き返すなら今だぞw >>517
ふうん、珍しく新しい本なんだね。
開発環境を準備する段階ではスムースに行ってるのかな? >>521
小型で模型に内臓させるのに向いているとあったんだけど違うのかな? 車載じゃなくて模型に内蔵するんだな。
単体のマイコンでコンパクトにやろうというコンセプトかな? >>525
その解釈でいいよ。
内容的にはArduinoでもできる感じだけど、
サイズ的にはSOPパッケージとか使って小型化を目指してるみたいだから…。 まだ物が揃ってないけどやりたい事
デアゴスティーニのデロリアン https://deagostini.jp/del/
・キットのままだとまとめて電飾が点くだけなので動きをつけたい
・次元転移装置のアクション、LED4〜5個×3列の順次点灯、高速点滅とか
https://66.media.tumblr.com/5cdbfe649b5736ac482e263fd13ca20f/tumblr_nxdd4vnvBp1s8gtxto1_250.gif
・ヘッドライトが単純に4灯同時点灯なのでハイビーム、ロービームで別けて光度の違いも出したい
ロービームをパルス制御で減光とか?
・フロントウインカーは本来ポジションライトと兼用なのでポジション時は減光点灯、作動時は100%で点滅
・スピードメーター内の警告灯の制御
・室内のスイッチやタイムマシン装置でキットで光らない箇所を光らせる
・各操作をパルス入力のスイッチで操作
・こういうレバースイッチでウインカーを実車バイクのように操作 (レバーで作動、プッシュでキャンセル)
http://akizukidenshi.com/catalog/g/gP-08070/
キットにあまり余分なスペースが無いので、本で推奨してるPIC16F1827かPIC12F1822をLED作動箇所付近に配置して
キットの操作盤位置で5Vやパルスを出力して全体的なコントロールが出来ないかなと考えてます >>529
サイズ的にこれ載らん?
ttp://amzn.asia/d/bDKPxPk
こいつもarduinoの一種だけどUSBからプログラム流し込めるのでライタとか一切
無くても開発出来るよ。 ちなもっと小さいのが欲しいってならこういうのもある
ttp://amzn.asia/d/8yX1bhu Arduinoの方がお勧めですかね?
全くの素人なので本お勧めのPICにしようかと思ってるんですが… >>532
上にも書いてる人がいたけど、コンパクトにするならマイコン単体でっていう話。
1/8の模型でコンパクトさを追求する必要があるかどうかはあなた次第。
実際どれくらいのスペースが確保できるか私にゃわからんし…。
扱いやすさはArduinoの方が上なのは周知の事実ですよ。 >>532
まあ、機能ごとに小さいMCU(12F1822)を配置して、それを全体を制御するMCUと
I2Cで通信して管理するとかもカッコいいと思うけど
あとは「どのくらいのスペースが確保出来るのか」とか「どのくらいのIOが必要
なのか」とか要件で決めるしかない
ただ「サブMCU沢山⇔制御MCU」みたいな構成のほうが拡張が利くけど、当然ながら
MCU間の通信プロトコルを考える必要も出てくるわけで。
あなたが目指したい事を考えると>531はさすがにIOが足りないかな
>530でデジタルIOが12個かな。 >>535
ここはね、PIC人口を減らしたいやつばかりが居着いてるのよ。 仕事で、売り物に組み込むんじゃなきゃ、ardiuno で断然いいと思う。
相当高度なことまで、ライブラリを組み合わせてできる。
C言語がどうしてもダメなら、オススメしないけど。
本当に単純なもので、Lチカの応用程度なら、機能の少ない PIC12F系で
アセンブラというのも、なかなか勉強になるよ。
その程度なら、simulator でステップ実行しても直感的で理解しやすい。 >>532
本のタイトルから著者のサイトへ回ると、なるほどこのスケール感なら
面実装用のちっこいPICでコンパクトに仕込むのが楽しいしやりがいもあるよね。
ってイメージだったですよ。
で、あなたの>>529ではそういうやりがいは少し薄れそうなので、Arduinoで出来なくもないっていうのが正直なところです。
ただ、コンパクトにまとめることが出来れば、応用範囲が広がることは確実です。
目先のデロリアンだけ見て一番楽な方法にするか、後々を考えてちょっと苦労してみるかはあなた次第。 arduino uno ってATmega328P+シリアルUSB変換チップ+レゾネータ+電源
じゃないんですか?
もしそうならブートローダをいれたATmega328PそのものをPIC的に基板を自作
したうえで使うって手もあるんじゃ?TXRXピンさえ基板上に立てておけば、
外部のFT232RLなどの経由でarduino IDE につなぐことができる?ほんとかな。
なにしろSFRがどうとか考えずにプログラム(スケッチ?)作れるし、
一個一個のPICよりふんだんにarduinoとしてのライブラリや実際のプログラム
の作例がネット上にあるし、さまざまに便利なような気がします。
そういう夢を見て夜中に目を覚ましたド初心者でして、それって正しいんですかね。
ATmega328PがPICでいうと、どれと同等なのかすらも知りませんが。 >>537
PICで普通にC言語でできるのに、
いまさらArduino言語を覚えたくないのよ。
スケッチとかシールドとか語源の分からない用語をつかうのも恥ずかしい。
Arduino言語って、なんか馴染めない。
まだ 素のAVRのほうが何倍もまし。 あ、ごめんなさい。DIPタイプのATmega328PならICソケットから抜き差しして
arduinoの基板そのものをつかってarduino IDE と接続できますね。
(ゼロプレッシャーソケットをつかったのがaitendoあたりにあったような・・・)
自作基板上のTXRXピンはいりませんわ。
自分はPICのほうが楽しめるんじゃないかと、あくまで漠然とですが感じてます。 >アセンブラというのも、なかなか勉強になるよ。
は、何の? >>541
外部クロックとかヒューズビットとかが面倒でねえ。
と、昔思っただけでよく調べもせず、そのままPIC使いになった。
以後PICやArduinoは使うが単体のAVRは使ってない。 >>アセンブラというのも、なかなか勉強になるよ。
>は、何の?
CPUの理解の。
勉強したことが無い人には分らないかも知れないな。
>単体のAVRは使ってない。
省スペースで小さくまとめようと思うと単体のmega328や8ピンを使わざるを得ない。 >>アセンブラというのも、なかなか勉強になるよ。
>は、何の?
CPUの理解の。
勉強したことが無い人には分らないかも知れないな。
>単体のAVRは使ってない。
省スペースで小さくまとめようと思うと単体のmega328や8ピンを使わざるを得ない。 せっかく本と部品等購入したのでとりあえずPICで挑戦してみますわ
デロリアン以外でも使ってみたいし
まずは本に載ってるプログラムを丸ごと真似して動くものを作ってみて
それから自分のやりたい事徐々に作っていこうと思います
部品届くの待ち遠しいなあ〜 >>539
aruduinoはシールド使う時以外はそういう使い方しかしてないな。
PICで間に合う用途が多いからあまり使わないけど。 >>540
PICでC使う時は、コンパイラにもよるけど、ポインタの制限や関数の作り方でオーバヘッドが出てくるので
それなりに気を使う。
ardiunoの用語はなじめないし、IDEに過度に縛られずに、
テキストでソースコードがあって、コマンドラインでコンパイルしてサクッとライターで書き込める
という環境がいいな、
avr はgccがあるので、安価でおいしい環境が揃う。シミュレータを使うために、avrstudioは使うけど。
pic では、仕事で使うので、純正でないけど、有料の cc5x使ってる。
でも結局 pic がメインなのは、
data sheet 読みなれた、
ispの結線が 5本で avrより1本少なくてすむ、
adc用の ref電圧が 1.024V で変換値 1V=1000 となんか気持ちイイとか
割とテキトーな理由でしがみ付いてるだけなんだよね。 別に論争を巻き起こしたい訳じゃあないんだけどさあ
8bitに限定したときにPICがAVRよりメリットがあるってんなら、その理由を
教えて欲しいんだけど
例えば↑で挙がったようなLEDの制御を行うにしても、8pinなら12F1822より
tiny85のほうがよっぽど高性能だよね
昔から使ってるから、とかいう理由は別に否定しないけど「PICもAVRもどっちも
使ったことがなくて、XXXを実現したいのでどちらかに手を出したい」みたいな
時にPICが有利な理由って何があるの?
あ、日本語英語議論はどうでもいいので要らないです 俺の想像する「PIC推しの理由」
・日本においては入手が容易
→昔は確かにそうだった事は認めるが、現在は正直どっちも変わらなくね?
・同程度の性能ならPICのほうが安い
→昔は確かに(以下略
俺の考える「(8bitの)PICは無い理由」
・AVRにはWinAVR、GCCがあってフリーで使えるから。XC8とかいうゴミを(略 >>549
PICにはほぼ無料でPICほとんど使えるデバッガがあるからだろ
AVRはDRAGON使ってたが他になかったな。今はしらん
Arduinoとかいう環境は最初から考えていないので問題外 >>550
仕事でPICというのは、オトナの事情があるからいいとして。
avrが性能、コストいずれの点でも、picと同等以上といわれればそうかもしれない。
新規にマイコンを検討してしている者にとっては、情報が過多で正直わかりにくいと思う。
PICにおいては、20年くらい前に、秋月、後閑さん、トラ技を巻き込んで、電子工作界がブレークして
そのまま何となく続いているって事が大きいでしょう。
avrは、ardiunoという形で一大勢力を築いたけど、日本でPICに完全勝利するかどうかは、
作例、雑誌、秋月を攻略できるかどうかでしょうね。
PIC陣営も、XC8のフリー版でもかなりのことが出来るという対策はしてるし手強い。
というかどっちもマイクロチック社。
僕も、最終的に avrに、GCCがあるかというのは大きい。
今から参入なら、avr !!! この手の入門機は導入ハードルの低さが重要
比較的安価かつトラブル起きにくいことでPIC / Arduino / ラズパイが支持されたのだろう >>553
8051が未だに現役だからな。
世間では8bitコアにそれ程の性能求めてないと思う。
趣味で何か作るなら16bit以上の方が楽だし、価格差も大した事無いし。 プロは色々と事情があるのは理解できる。
しかし趣味の電子工作で、これだけ情報があるのにPICを選ぶって何?
性能を無視するなよ。
三流のCPUで簡単なプログラムばかり作っていると、
何時までたっても三流のプログラマのままだぞ。
「水は方円の器に従う」って言葉もあるじゃないか。
ん? 「朱に染まれば赤くなる」の方がふさわしいか?w >>544
>>545
空気気読めないあなたにとっては相当大切なことらしいねw
>勉強したことが無い人には分らないかも知れないな。
初アセンブラは昔ゼッパチでやったくちだけど、これから入門の人、しかも模型の電飾にって人にまで
むやみにアセンブラを勧めるほど流れ読めないチャンはただの邪魔者だと断言できる
>省スペースで小さくまとめようと思うと単体のmega328や8ピンを使わざるを得ない。
PIC使ってる言うとる人にそのレスか、人の意見ガン無視ジジイ >>552
俺にはID:Z9ve1CITの発言も相当頭悪いけどなあ
自分の主張だけは正しいと思い込んでる奴に限って初めてのPICスレでPIC批判
そのこと自体十分頭悪いだろすでに >>559
ハハハ、悪い、悪い。
PIC使うの辞めないでネ。
ケチをつける楽しみが無くなるし、優越感も味わえなくなるw
ホントはどうでもいいと思っているんだよ。
PICとPICユーザーの将来に栄光あれ
PICバンザーイ! PICユーザーバンザーイ! AVR厨がまた無意味にわめきたててるけど、
ID:evRQKt+cにしてみたら模型の電飾ありき、紹介本ありきなので、
PICだのAVRだのの論争は著者に言ってくれって感じだな。
なぜお前の本でAVR使わねえんだよって堂々と書き込んで来いよ、ここでしかわめけない弁慶ども
https://dorobou.blog.so-net.ne.jp/2018-12-06
俺個人は100%>>546を支持する。 >>561
な、AVR厨なんて、知恵も人格もこの程度。 PICでアセンブラ勧めて、CPUの勉強になる
とか言っちゃってるの見ると(・∀・)ニヤニヤ >>553
>最終的に avrに、GCCがあるかというのは大きい。
それ昔からよく聞くフレーズだけど、具体的にXC8と比較してどういうことか教えて。
XC32あたりはそもそも中身はGCCだよね。 >俺の考える「(8bitの)PICは無い理由」
>・AVRにはWinAVR、GCCがあってフリーで使えるから。XC8とかいうゴミを(略
WinAVRって知らなかったけど最新が2010/01/20…、おいっ!
XC8〜32まですべてフリー版でも全く遜色無い、が共通認識なのもご存じない。
XC32に至ってはGCCベースなことも知らない。
そもそも8bitでフィルターかける時点でお花畑認定。
で、俺の考える…とか、笑うしかないわ。 >>563
ホント頭悪いよねこの人>>ID:a0DzVol5
>しかし趣味の電子工作で、これだけ情報があるのにPICを選ぶって何?
「電飾しましょっ! 2 PIC編」という本を購入したと言ってるのに、それはガン無視で自分語りに終始する。
こんなのがAVR支えてるんじゃさぞ重かろうてw >>566
XC8〜32まですべてフリー版でも全く遜色無い、が共通認識
という点と商用利用における、有償版との注意事項がどうなっているのか気になります。
昔の、PIC12F62xあたりと XLPシリーズあたりでは、ずいぶん状況は違うけど、
スタックが小さいやつと、FSR0しかないやつだと、C言語も注意が必要。
それでも、コンパイルが通って仕様満たせば、奇怪なasmでもいいとも思うけどね。 本を買う気はさらさら無いが、
site:https://dorobou.blog.so-net.ne.jp/ PIC
とやってみた限りでは、このスレ的にはただのLチカですな。
楽しそうだけど、模型に興味がなければ得るものは無さそう。 >>568
その程度のことも自分で調べずにここで吠えてたってことか。
それで恥ずかしいと思わないのがAVR厨の証だよなw >>568
>奇怪なasmでもいいとも思うけどね。
そういう遠吠えをやめて奇怪だという証拠を示してから語れよ
一向に根拠を示せないが減らず口はたたく
もうそこらのレイシストと同じ論法ですよあなたのは なんか俺のせいでスレの雰囲気悪くなっちゃって申し訳ない… >>572
これが日常、毎度のことです。
上手にかいくぐって質問してねw >>570
>>571
ほえてませんよ。
avr厨でもないし、
20年くらい、個人仕事で、PICも使ってきて、windowsやlinuxでもプログラム書いたりしてるけど、
だからといって、最新のPICの状況を把握しているというわけではないので、興味あるのですよ。
PICもC言語だけで開発してます. cc5xでhitec-c や xc8のように高機能ではないけど、何とかなってきました。
でも、たまに、sprintf系の関数も使ってみたいのですよね。 >>572
いや、君はまったく悪くないから気にしなくていいよ
でもまあ君に落ち度があるとするなら、こんなゴミスレで思わずマジ質しちゃった点かな
ここのゴミスレには発言に「厨」だの「花畑」だのつけるような子が多いからね なるほどそういうLチカ需要もあるのかと思ってあっちものぞきにいったら、
調温コテ厨が来ててやっぱりFX600推してて笑った。 >君は
>ような子が
ね、自分じゃ気付かないんだ、こういう人って。
面白いよね。 >>574
CC5Xとか初耳でした。
私はHI-TECH CにちょっとかすっただけですぐXC8だったので…。
以後ずっとXC8〜32のフリー版のみで一切不自由なく、メモリの多いチップへの変更がほんのたまにあるだけ。
それも、XCの有料版買うか1つ上のチップに変えるかの2択で、当然チップの交換の方が安いです。
いずれにしても、その経歴のあなたがAVRはGCCがあるからとか間違った優位性を語るのはどうかと…。
だからやり玉にあげられるのです。 >>577
ホント、ゴミスレと認識しているスレへわざわざ出張って来て
他人を「君」だの「子」だの呼ばわりして悦に入ってるのがAVR厨の本質 >>578
僕も、速j度的に問題ないときは、オーバーヘッドあって冗長なasmになっていても
チップ交換で行くというやり方を選択しますね。
一応仕事で使うことも前提なので、xc使うなら有料版ですけど、そこまでの必然性のない状況です。
xcもgccベースという話しは存じてます。 gccは、基本linux でしか使っていないけど、
フリーだけどメンテナンスはされているものです。
ただ、avrgcc がちゃんと責任もってメンテナンスされているか?たぶんユーザが多いから大丈夫だろうと思っているけど、
cpuとしては、avrのアーキテクチャが一般的だしね。
xcは、マイクロチップがメンテナンスの責任持っているものの、内部は公開されてるんだっけ?とか、
Free userはどこまで信用していいのかなとそこは、分かりません。まぁ買えよ!!という話しだけど、
軽く10万以上するので、そこは、尻込みですね。
そこらへんを、より深く考察した上での, avrの優位性を論じているわけでないので、
今後 xcのヘビーユーザになれば、意見は変わるかもね。その程度の avr推しです。 さて本日も色々と出ましたが、ではシメと致しまして、
>シングルタスクで書くと条件成立チェックのポーリングが多くなりそうだな、
>というプログラムを作る時は、小さなCPUでもマルチタスクで書けるAVRを選ぶ。
>DI/Oをシーケンサーみたいに処理する(1点づつ、リアルタイムに)時はAVRで十分だと思います。
おかげさまで面白楽しい1日を過ごす事が出来ました。感謝しております。
(ホントですよ)
では皆様、お休みなさい。良い夢を。 >>581
ホラ吹きがお休み前にホラ話を引用か。
ホラ尽くしでお前らしいじゃんw 日本人は個性という概念を教育してないからな
和を乱す行為は悪として幼少の頃から教育されている
単一民族の性なのか、社会秩序を重んじるからなのか
そのおかげで、自分の価値観に当てはまらない場合は
叩きまくるという言動にうつるんだわな
コレな、火病を国民病とする朝鮮人とは違った
日本人の国民病みたいなもんだな
日本でオープンコミュニティが発展しない要因だわな
匿名掲示板なんてそりゃもう、価値観違う他人を
どれだけアホ扱いして叩きまくるかの実験場みたいなもんだ >>584
お前さ、海外のフォーラムのぞいたことねえだろ
例えばPICのフォーラムで>>581書いてみ、ボロカスだから
どこでもいっしょよ、お前が井の中にいるだけ
で、日本人はーとか長文書いちゃって、下ばっか見てそうで笑える >>503
高電圧のおかげで、リセットピンを入力ポートに切り替えても、isp可能だと思うけど。 >>503
最近のPICは高電圧不要なのも知らずに買収された方のAVRが圧勝とか。
どこの大本営の発表を鵜呑みにしてるんだろうコイツ。 ぐだぐだ言わずに自分の好きな物使えばいいだけだろ〜〜〜〜
他人が何使おうが関係ないだろうが!!!
くだらね〜〜〜な!! >>588
古い知識で全体を語るのは間違ってるという話をしているのだから、
お前のような感性だけの文系脳は黙ってろ。
好きになるにも理屈は必要だ。
下らないと思うならお前は反応しなければいい。 模型にLED検討してる初心者です
コテハンにしたのでNGする方はよろしくです
プログラム組む前に部品接続方法を考えてみました
アドバイス頂けたらと思います
https://i.imgur.com/d77SvJth.png >>553
ここ数年はトラ技やInterfaceですらArduino推し
次いでラスパイ
PIC記事は偶に後閑氏が書く程度やで… マイクロチップテクノロジもPICの将来に不安を感じたからAVRを買収したんじゃないの? >>592
ピンに余裕があるなら、RA5, RB6, RB7は使わない方があとで幸せかも。, >>595
アドバイスありがとう
理由は?
番号は若い順からがいいんだっけ? まずはPIC16F1827のデータシートの6ページ見て考えてみて。 >>592
RA6 のSWをPORTBに移して、内部プルアップ使うと、抵抗不要になる。
RA1,2,3は、LEDパラになってるけど電流値大丈夫かな? >>597
RA5が入力用端子って事かなあ?
本に書いてないので用語が分からない…
>>600
こうですかね?
https://i.imgur.com/NUXDPe5h.png
LEDは定格20mAだと思うのですが並列はまずいですかね?
うーん分からない事だらけだ… >>602
1ピン最大20mA程度、全部合計で100mAちょいくらいかな?
抵抗値を330Ωにしたら全部で10個くらい同時に点灯できる。
ま、ウインカーとかは常時点灯じゃないからいいけど。
220Ωで2個つながってるところはオーバーするかも。
>>595の言ってるピンには特殊用途が割り当てられてるから、
もしピンが足りるなら使わずに置いとく方がいいってこと。 >>597
>データシートの6ページ見て考えてみて。
初めてPICを使ってるんだから素直に教えればいいのに
こういうひねた態度だから誰も質問しなくなるんだよな
ICSPを使った方が便利ということでしょ
http://www.picfun.com/pic18/pic18xx14.html >>601
RB4,5,6,7 もプルアップ指定できるから、抵抗要らないよ。 >>604
教え方のポリシーの問題だろ。
1から10まで付きっ切りで教えるつもりのあんたと、
なるべく早い段階でデータシートになじんだ方が結局は本人のためという>>597の。
俺は意地悪だから>>597寄りだな、安易に教わったものは結局身に付かんよ。
あんたのような奴に限って飽きたら放置するに相場は決まってる。
この質問者は熱心そうだから、自分で解決する手助け程度の方がいい。 並列はやめて抵抗も無しに
https://i.imgur.com/IuCgMt9h.png
これでいけそう?
>>604
組み込んだ状態で書き換え可能になるって事?
今回はピンに余裕がないから出来ないけど便利そう 自分はただリンク張って人任せにしてるだけのくせに
>こういうひねた態度だから誰も質問しなくなるんだよな
とか、喧嘩売りにきてんのか、この小僧は! >>607
>>604のサイトは古いし冗長だから気にしなくていいよ。
データシート見てプログラム書き込み用のピンを空けとけば当面大丈夫。
回路はそんな感じでいいでしょ。
試しはどうやってやる?
ブレッドボードとか使う予定ある? >>610
あたしゃ電源ラインが両側にあるのしか持ってないわ。
http://akizukidenshi.com/catalog/g/gP-00315/
ま、ジャンパ線でどうにかなるか。
では、実践どうぞ。 フルボッコわろた
ID:jrJ/+YKaさんここの雰囲気が分かったでしょ
ID:HWWHnn9fが白状してるように意地悪が多いから注意して質問してね
ICSPは凄く便利だから絶対使った方がいいよ
やろうとしてるのはPICを学習するのにいい題材だと思うから頑張ってね >>613
いやプログラミングを全くやった事ないのでまずは本を見ながら入力してみる
とるあえずMPLAB X IDEとXC8コンパイラをインストールした >>614
色んな人がいるからこその5chだと思うので、多かれ少なかれ教えてくれる人には感謝してる
基礎の基礎までレスポンスよく答えてくれるここの住人は本当ありがたいよ マトリクスとかダイナミック点灯とかもあるから安心して。
まずは1つ点滅させるところまでを目標にした方がいいよ。 アクティブハイはちょっと気持ち悪いな。
今時はドライブ能力同じだとしても。 >>621
>>603参照
>>622
確かに!
ありがとう >>627
バックランプはシフトノブにスイッチ仕込んで、ブレーキは純正ブレーキペダルスイッチで直接光らす予定
あ、そういえばサイドマーカーとナンバー灯もポジション灯と同期だな
>>626
揃ってるけど初プログラミングなのでぼちぼちね 「PICを使ったデータ・ロガーの製作」などの御著書で有名な稲崎氏のサイトが
なくなってしまってる。だいぶ前、最後にメールいただいたときはサイトの
リニューアルをしたいとおっしゃっていましたが、ご病気とかではありませんように。
hexコードを当てにして部品を集めてしまった作例も多かったのに・・・
彼が扱っていたmikroCが要求するシンタクスはこの10年くらいでだいぶ変わったけど
PICを使った作例集としては最大級規模のサイトだっただけに、残念。復活を祈るばかり。
http://www8.plala.or.jp/InHisTime/ >>630
★★★★☆ 入門者には必需品
かなり柔軟で、流用が可能です。参考資料として持っていても邪魔になりません。 >>632
良い評価hしてるのその人だけだね。
あとは、コメントも含めてすべて最低な評価をされてる。 >>633
アマゾン初心者さん?
アマゾンの評価は「5=サクラ」「1=アンチ」で全く参考にならないので
基本的には2〜4の評価だけを見るものなんだよ
そして1と5を除外してみた場合、この本の評価は4のみとなる >>629
もったいぶるも何も手伝って欲しいぐらい…
「電飾しましょっ! 2 PIC編」に載ってるテンプレートを真似することからはじめてる それを言ったらほとんどアンチしかいない
ゴミ著者ってことじゃねぇかw >>634
>初心者さん?
これ、よく見かけるセリフだなあ。
どういう人が好んで使うセリフか、わざわざ書くまでもないくらいw >>635
何も出て来ないから手伝いようがないよ。 >>638
とりあえずやりたい事をまとめてからはじめないと訳わからなくなりそうなので…
プログラミング始めたらまた疑問だらけになると思うのでご助言よろしくです
>>603
これなら電流大丈夫かな?
https://i.imgur.com/cnudtkHh.png このくらいの回路になるなら実体配線ぽい回路図でなく、上を+、下をーに書いた方が判り易いだろう >>639
なんとなくアドバイス。
>>639
・作り始めたら LED の明るさはをューニングしたくなると思う
多分暗くなる側に。その場合抵抗値を変えるという原始的な
方法ではなくソフトで PWM すると良いだろう。
全体の明るさを上げ下げなんてこともできるよ。
・スイッチはCPS機能のあるピンにアサインしておくと、
メカニカルスイッチでなくタッチ電極で良くなる。
>>640
わざわざピンを空けておかなくても330Ω+LEDくらいなら
書き込み器つないだままで動作確認できるよ。
逆に書き込み機能PINをCPS用にアサインすると、書き込み
器を抜かないとCPSが機能しなくなる。 これいつまで続けんの?
これ以上続けんのなら専スレ作れば? >>641
上下?こういう事?
https://i.imgur.com/kdZ2MaPh.png
>>642
・一応今回もフロントウインカーは減光させる予定
・CPS機能というのが分からないのでちょっと調べてみます
>>643
スレの趣旨と違う? このCap Senseが割り当てられているピンに金属繋げばタッチするだけでスイッチになるという事?
凄い機能!ありがとう面白いね
https://i.imgur.com/4jn3gEEh.png >>643
おまえが同じIDでもう一度書き込めたら終わるかも。
自分が出て行けば解決。
>>644
問題ないと思います。 >>646
> >>643
> おまえが同じIDでもう一度書き込めたら終わるかも。
俺もうすうす気づいてたけど
ID変えて攻撃する、という人はいるよねココ 初心者の、準備不足な質問でも、回答する人がいるなら、OKですし。
そんなの自分で調べろ!!!と思う人は静観してればいいと思う。
それでも、>>642 のCPS機能を使ったタッチ電極は思いつかなかったな。
アマの自作でも、作例は、結構あるのですか? >>645
私のイメージだとCap Senceは扱いづらい感じ、回路にもよると思うけど。
全くの初心者なら普通のスイッチで始める方がいい。
ICSP用のピンを専用にするのも同じ理由。
それが可能か不可能かでなく、問題の切り分けが単純になるようにするのがいい、初心者のうちはね。 普通のスイッチでさえチャタリングの問題とかあるからなあ
回路とプログラムが問題なく走るようになってからそこだけ置き換え試すのがいいような なぜ回路図らしきものだけアップして実際の接続の話やプログラムの話が出てこないのか不思議だわ。
俺なんか、まずとりあえず1個点滅させにゃ気が済まないたちなので…w >>649
そうだよね
シンプルな方がトラブルシューティングしやすいからそうする
でも模型だとスペース的にスイッチすら入らないような事も出てくるだろうからタッチ式というのは楽しみ
>>651
手段が目的化しない性格というのもあるけど、工作の方が得意でプログラミングは全くの初心者だから…
なんかせかされているように結構言われるねw
とりあえずこのライト関係は置いておいて1個試験してみるかな
スイッチで赤→緑に切り替えるようPIC12F1822に書き込んでみよう
https://i.imgur.com/Wv0u4JL.gif >でも模型だとスペース的にスイッチすら入らないような事も出てくるだろうからタッチ式というのは楽しみ
逆じゃないかなあ。
ある程度の面積が用意できないとタッチセンサーはうまくないような…。
スイッチは、私の手持ちに限っても一番小さいのは2x3x1mm程度のがあるよ。
あ、でも、模型のボディーそのものにタッチするようにすればいいのか…。 >>653
あ、そうなの?
アンテナみたいに金属棒伸ばしてタッチとかじゃダメなのかな?
30 #include <xc.h>の所が!マークに
何が悪いんだろう
https://i.imgur.com/EZdqPpHh.png >>654
エラーは出ずにビルドはできるでしょ?
コンパイラーのバージョンはいくつになってますか?
参考にしている本と同じにすれば消えると思います。 >>654
環境を書いてね。
うちは MPLABX IDE v5.05、XC8 v2.00とv1.45 の Win10 環境です。
ちなみに、上の警告はv2.00で出て、x1.45にしたら出なくなって、v2.00に戻してももう出ない。
いずれもビルドに問題はなかった。 >>655-657
ありがとう
環境は
Windows 10 Pro (64bit)
MPLAB X IDE v5.10
XC8 (v2.05)
ですね
本は
MPLAB X IDE v3.61
XC8 (v1.42)
です
リンクして頂いた情報でもバージョン違いが原因みたいですね
やり直してみます
最悪本と同じバージョンに入れ直してみる コンパイラは両方インストールしといて設定で切り替えられるから、
最初は本と同じの方が絶対いいですよ。
2.00以降は私でも、てか私も初心者ですが、はあ?ってなることがある。 >>654
> アンテナみたいに金属棒伸ばしてタッチとかじゃダメなのかな?
問題ないよ。指でタッチするならそれなりの間隔が必要だが
鉛筆の芯でタッチするなら 1mm間隔に並べても OK だ。
電線を延ばすと非タッチ時の浮遊容量が増えるので線長に合わ
せてチューニングするか AGC のように自動調整しても良い。
入力の H/L 見るよりは面倒だが AGC処理からチャタフリーまで
丁寧にやってもせいぜい 30ステップくらいだあな。 >>662
おお、お前、素直で気に入った!ww
頑張って回路完成させてくれ、応援してるぞ mTouchをMCCでやってみたらあっという間にできた。
ブレッドボード上に隣り合って立てたピンヘッダに指で触れてちゃんと別々に認識する。
いままでちょっと食わず嫌いだったと反省している。
まあ、MCCのおかげと言えばそれまでだが。 タクトスイッチは結構固いのが多く、たまに押すくらいなら良いが、頻繁
に押すと腱鞘炎気味に指が痛くなる(俺の指がヤワなのかも)。
mTouchはクリック感じがないのがある意味欠点だが、指には優しい。
クリック感の代わりにクリック音をソフトで出すのもありかもしれない。
タッチ電極は革製品に使うカシメを使うのがマイブーム。 これすごくね?
youtube)Simple DIY PCB with a 3D Printer
3DプリンターでPCBができるんだな。
ガチで普通に短時間でゼロから完成品をつくる方法と
全部で3Dプリンタ3万 ドリル2000円 ドリルシャフト1000円 くらい?
基盤発注やらエッチングよりいいのでは?
回路幅は1.5mmくらいなので(エンドミル変えても精度きついか)
Fusionとか1基盤が1週間やら2週間で2500円でしょ?
3万で揃うのでこれいいかもしれない。 で、それガーバーデータ喰わせればプリントしてくれるの? 年がら年中基板作ってる訳ではないので発注でいいや。機材置いとく場所もないし。 >>669
動画見たけど、3Dプリンタじゃないだろ。 >>669
急いでいるときには、便利だけど、レジストのかかっていない、基板は使いづらい。
片面だし、エンドミル、高くて長持ちしないし、うるさいしね。
1週間待てるなら、発注が全然安いよ。 週末なんでプログラミング挑戦中
単に点灯なら本通り打ち込めばいいけどスイッチによる2色切り替えに難儀してる…
https://i.imgur.com/Wv0u4JL.gif スイッチうまくいかないですですね
このRB5ハザードスイッチを押す度にON−OFFを繰り返すようにしたいのですがこのスレで直接プラグラミングについての質問はNGですかね?
https://i.imgur.com/PT3muPDh.png やっぱりチャタリングだったか…
数十msec間を開けて3回連続オンだったらオンにするとかプログラム上の対策が必要 これだとスイッチを押してる間はハザードが点くけど押すごとにON-OFF切り替えにはならない…
void main(void) {
OSCCON = 0b01110010;
OPTION_REG = 0b00000010;
WPUB = 0b00111111;
ANSELA = 0b00000000;
ANSELB = 0b00000000;
TRISA = 0b00100000;
TRISB = 0b11111111;
PORTA=0;
PORTB=0;
while(1){
if(RB5==0){
PORTA=0b11000011;
__delay_ms(500);
PORTA=0b00000000;
__delay_ms(500);
}else{
PORTA=0b00000000;
}
}
return;
} >>684
とりあえずトグルで点灯か消灯かは
LATBbits.LATB0 ^= 1;
を使えば1なら0に0なら1になります。
あと、私なら、
while(RB5==0);
も入れるかな。
ただ、ハザードは点滅を続けるか止めるかだし、
ハザードを点滅させながらヘッドライトのオンオフとかもしたいわけでしょ?
やっぱりタイマー割り込みを勉強してもらった方がいいかもです。
__delay_ms();使わずに点滅させる方が後々楽だと思います。
さらに言えばMCC使った方が手っ取り早いんだけど、話が複雑すぎてここじゃ説明できない。
「XC8 MCC Lチカ」とかで検索してみてください。 >>685
アドバイスありがとう
話の半分も理解出来ないのでぼちぼち検索しながらやってみます
トグルは模型のスケール的にも使いたくないのでプッシュモーメンタリーで考えてます
回路図が全部トグルになってましたね… >>686
トグルって言葉があいまいでした。
モメンタリのスイッチを使い、押す度に点灯・消灯をトグルで繰り返すという意味で使ってます。
A ^= 1;
は、実行するたびにAの値が0/1を繰り返します。
チャタリング対策は別として、基本は
if(B==0){
A ^= 1;
}
とやるだけです。
while(B==0);
は押したスイッチを放したかどうかを判定します。 >>687
情報ありがとう
>>688
あ、ではやりたい事であってますね
わざわざありがとうございます >>688
うまくいかないです…
void main(void) {
OSCCON = 0b01110010;
OPTION_REG = 0b00000010;
WPUB = 0b00111111;
ANSELA = 0b00000000;
ANSELB = 0b00000000;
TRISA = 0b00100000;
TRISB = 0b11111111;
PORTA=0;
PORTB=0;
while(1){
while(RB5==0){
PORTA^=0b11000011;
__delay_ms(500);
}
}
return;
} プログラムが上手く出来ないならCRフィルタの方が早くね? PWMが出来る端子が違ってましたね
あとスイッチ類はうまくいかないのでシンプルにON-OFFで挑戦してみます
https://i.imgur.com/Tf1c1ZTh.png >>690
>うまくいかないです…
では何もわからないないので、具体的にどうなって、何がうまくないのか書いて。 >>693
プッシュスイッチでON-OFFを切り替える操作がしたかったけど上手くいかないです >>693
>何がうまくないのか書いて。
>>694
>上手くいかないです
こいつ、馬鹿なのか? >>695
日本語不自由?
やりたい事があったが達成出来なかった
初心者なので原因は分からない
って事じゃん >>696
日本語読む気すらない?
誰も原因なんか聞いてない。
どう上手くいかなかったのか具体的に書けって言ってる。 ま、エスパーさんを待ち続けたらいいよ、きっとそのうち登場するでしょw ちょい前のレスも読まない?
モメンタリで点灯消灯を切り替えたいってやり取りしてんじゃん >>699
>モメンタリで点灯消灯を切り替えたい
は目的、到達点な。
現在の状況を書け言うとんの。
東京駅まで行きたいんですが、迷いました。
っていうから、今どこにいるのかってきいとんじゃ。
近くにどんな建物があるか説明せえ言うとんじゃ。
意味わからんか?
お前、真正のアホウか? >>701
>>690←の状況でって事じゃん
あんた迷子の人にお前何処にいるんだ?って聞くの?
分かんないから迷ってんでしょ
落とし物した人にどこで落としたか教えろって聞くの? つーかレス読んでると本当の初心者に詳細説明しろって無理でしょ は?
まわり見渡せばどんな建物があるかくらい説明できるだろ、馬鹿か?
どこ通ってどこへ立ち寄ったかで、どこで落とした可能性があるか考えるやろ、馬鹿か?
何もしないで突っ立ってるだけか?
ま、いいや。
そうやって、ずっとエスパーを待ってなよ。 ID:ojpyTgNB
ID:5XQhuC6m
ID:FfO2a1Z+
なら、お前が教えてみせろ。 短気だなw
教えてあげる気があるんならケンカ腰で言わなくてもいいのに
後輩とか他人に感謝された事無いんじゃね? 日本には良い言葉がある。
他人を説得したり納得させたい時に思い出せ。
「 物 は 言 い よ う 」 少しエスパーしてみる
ハザード、つまり点滅をソフトウェア処理で実現したいが、690だとスイッチを押している間しか点滅しないのが問題って事なのかな?
スイッチはハザードONOFFの切り替えだけが役目。ONの間はスイッチを押していなくても点滅を繰り返す必要があるのに、690のコードはRB5が0の間しか点滅処理出来ないのが問題。
つまり点滅処理は、スイッチ押下判定であるwhile(rb5==0)の外に出す必要がある >>702
今、コンビニの前です。
角に交番があります。 みなさんアドバイスありがとです
点滅プログラムは自分にはハードル高そうで諦めモードです…
>>691
物理的回路でチャタリングを防ぐって事ですかね
色々検索してみましたがまだ自分の理解の外で何が必要かすら分からないです
とりあえず点滅回路のRA3,RA4以外を単純にモーメンタリースイッチでON-OFFが当面の目標かな
https://i.imgur.com/Tf1c1ZTh.png >>690
少し慣れてきたらスイッチやLEDに全部名前を付けておいた方がいい
#define Light_ON 1
#define Light_OFF 0
#define Switch_ON 0
#define Switch_OFF 1
#define High_beam_LED RA1
#define High_beam_SW RB0
if(RB0==0)RA1=1; より
if(High_beam_Switch==Switch_ON)High_beam_LED=Light_ON; 途中で送信してしまった…
まあ、あまり名前に凝り過ぎても却ってわかりづらくなるからほどほどにしないといけないけど
適度に使えばあっちを見たりこっちを見たりしなくていいようになる >>711
点滅も外付け回路でやる手もある
簡単なのは外付けで点滅専用PICを用意するとか >>712
プログラムの中に名前を入れたほうが役目が分かりやすいって事?
やり方が分からないので調べてみます
>>714
単価の安いPICなら可能ですね >>690
何回かサンプリングして、フィルターをかける >>715
1.希望としてスイッチ押したらどうなって欲しいのか
2.現実としてスイッチ押したらどうなってしまってるのか
この2つを明確にしないと進まないよ
たかが模型の電飾程度のことでもう2週間以上何の進展もないのはそのせい
言われたことを何もやらないし>>708のような有益な回答には全く返答せず
逆にゴミのようなレスにばかり反応してる
とりあえず、プログラムを部分的にでなく全部書くことから >>719
希望としてはこの図の通りでプッシュモーメンタリースイッチでのLEDのON-OFF
現状は押した時だけ点灯でON-OFF切り替えになってない
https://i.imgur.com/Tf1c1ZTh.png
プログラムは>>690が全てでそれ以上は進んでない
進みが遅いのは間違いないけどゼロから初めてるんでアドバイスが理解出来なくて申し訳ない…
>>708さんのアドバイスも具体的にどうしたら解決するのか理解できない >>714
>>716
PIC12F1822があるのでそれをウインカーリレーとして使おうかな…
まあいずれにしてもチャタリングが解消しないとダメだけど >>720
押している間だけ0.5秒間隔で4つのLEDが点滅
ボタンを放すと点灯したままか、消えたままのどちらか
どっちになるかはその都度違う
こういう動作をしているかをまず確認してレスしてください。 プッシュイスイッチのトグル動作は、スイッチの状態と、現在の点灯状態を把握しておかないと実現できないですよ。
1.sw=off led=off 初期状態 点灯待ち
2. sw=on になったら 3.へ
3.wait 10msec(例えば)
4.sw=off だったらチャッタなので 2.
そうでなければ 5.へ
5.sw=on led=on 点灯
6.sw=off になったら 7.へ
7.wait
8.sw=on だったらチャッタなので 6.へ
そうでなければ 9.へ
9. sw=off led=on 消灯待ち
10.sw=on になったら 11.へ
11.wait
12.sw=off だったらチャッタなので 10.
そうでなければ 13.へ
13.sw=on led=off 消灯
14.sw=off になったら 15.へ
15.wait
16.sw=on だったらチャッタなので 14.へ
そうでなければ 1.へ LEDの点灯状態に関わらずスイッチの判定は必要だから場合わけいらんよ >>720
while(RB5==0);
はそこじゃないな、こんな感じでどう?
http://codepad.org/nl6k9HaL
ちなみに、これで、ボタン押す度に4つのLEDがトグルで点灯か消灯かになる。
点滅はしない。
>>685にすでに書いたけど、点滅はタイマー割り込みとかで別に用意する。
まずこの状態を理解しないと次に進んでもダメ。 >>720
使ってるスイッチは、そもそもモメンタリじゃないだろ。
動作からしてただのプッシュスイッチだ。
スイッチにテスタ当てて、ちゃんと「モメンタリ動」するか確認したの?
してみて。 >>728
>使ってるスイッチは、そもそもモメンタリじゃないだろ。
>動作からしてただのプッシュスイッチだ。
そうなの?
そう判断する根拠を教えて。 みなさん色々ありがとう
ひとつずつ検証してみます
>>727
具体的にありがとう助かります
>>728
ただのプッシュスイッチの定義が分からない
使っているのは押している間だけ通電してるタイプのスイッチ こんな感じ?意図が違ったらごめん。
unsigned char psw = 0xFF;
unsigned char mode = 0;
void main(void)
{
init();
while (1) {
delay_ms(10);
psw = psw << 1;
if ( IO_RB4_PORT ) {
psw = ( psw | 0x01 ) & 0x0F;
}else{
psw = ( psw & 0xFE ) & 0x0F;
}
if ( psw == 0x0C ) {
mode++;
if ( mode >= 4 ) {
mode = 0;
}
}
switch ( mode ) {
case 0:
IO_RA3_LAT = 1;
IO_RA4_LAT = 1;
break;
case 1:
IO_RA3_LAT = 1;
IO_RA4_LAT = 0;
break;
case 2:
IO_RA3_LAT = 0;
IO_RA4_LAT = 0;
break;
case 3:
IO_RA3_LAT = 1;
IO_RA4_LAT = 0;
break;
}
}
} >>729
>そう判断する根拠を教えて。
モメンタリスイッチは "押してる間だけ" っていう動作はしない。
"押してる間だけ"っていう動作は「プッシュスイッチ」。
そんなことより、本当にモメンタリ動作するのか確かめたの? >>718
タッチセンサーの機能をどうやって実現しているかによる。 プッシュスイッチもモメンタリスイッチも違う概念を説明する用語なんだけどな…
プッシュのロッカースイッチも
トグルのモメンタリスイッチも存在する。 >>727
RA3とRA4に指定して書き込んでみたけどスイッチワンプッシュで押した間とか、0.5秒くらい点灯でその後消える
安定点灯しないし、点灯維持しないで最終的には消えた状態になる
チャタリングが起きてる? DIPタイプのICをソケットから抜くとき斜めに抜いてしまって、足が曲がり、
それを2、3回繰り返すと金属疲労で足が折れてしまうことがあります。
そのICをつかうためにはどうすればいいんでしょうか。 >>737
ちょっと、説明がわからないです。
忙しくポチポチしない限りチャタリングってそれほど悪さしないもんですけどね。
では、スイッチは無視して、単純なプログラムだけのLチカはどうですか?
http://codepad.org/A8TiWfwO
何も押さなくても0.5秒間隔で点滅し続ける、いわゆる単純なただのLチカです。
どうなります? >>741
点滅OKです
これは前に作った
RA3=1;
__delay_ms(500);
RA3=0;
__delay_ms(500);
と同じ感じですね >>740
どこから折れたかによるし、何に使うかにもよるけど、
基本リード線の切れ端でどうにかする、でしょ。
ちなみに、しょっちゅう曲がるけど、折れちゃったことはないなあ。
曲げちゃったのは最優先で使っちゃうから。 >>743
ほう、ではいよいよスイッチですかね。
その前に、スイッチの代わりに何か線の切れ端を手で挿し込むかPICの足に触れさせたらどう?
ジャンパー線の片方をGNDに挿しておき、もう一方でPICのピンをつんつんするの。
プログラムは1つ前のこれで。
http://codepad.org/nl6k9HaL
うちでは全く問題なく、つんで点灯、つんで消灯、つんで点灯…、ってなります。 >>744
PICは勉強中でして、抜き差しが多いものですから。
今は書き込みにはゼロプレッシャーソケットをつかうし、
引き抜き器も買いまして、もうそういうことはないとは思います。
足の折れたPICは何か固定用途を見つけて、外側からリードをはんだ付けします。
コメントありがとうございました。 >>745
短いサイクルでつんつんすると、つんで点灯、つんで消灯、つんで点灯となりますが
つんで点灯後に何もしないと自動消灯となり点灯維持しないですね >>747
スイッチはプルアップするか内蔵プルアップ指定してる? >>746
へ〜〜〜
足って折れるものなのか〜〜〜〜〜
この20年間一度も折れたことないけど
しかも、ピン数少ないならピンセットで簡単に取れるし
28or40ピンならマイナスドライバーで均等にすきま作って奥まで差し込めば
簡単に抜けると思うが????? >>747
とりあえず、チャタリングとは別に何か問題がありそうですね。
点灯させておいて放置すると勝手に消えるんですね?
1.そのあとまたつんつんするとどうなります?
もう2度と点灯しませんか?
2.つんで消灯させてからしばらく放置したあとでつんしたら点灯しますか?
あと、環境を教えてください。
ブレッドボードとか、電源はどうしてるかとか。
それと、Cionfiguration Wordも見せてください。 >>739
わかったよ。
普通のプッシュスイッチな。
だったら、プログラムに書いた通りの動作であってる。
別にチャタリングとか関係ない。
押してる間だけ点滅するソフトになってる。
だから、今のソフトを改造して
トグル動作をするソフトを書く必要がある。
その時はチャタリング考慮しないと多分誤動作する。 ID:GOrDpMNa
まだいたのか。
相変わらず偉そうにレスしてるが、
>モメンタリスイッチは "押してる間だけ" っていう動作はしない。
>"押してる間だけ"っていう動作は「プッシュスイッチ」。
に関して何か言うことはないのか? ID:GOrDpMNa
良くしゃあしゃあと出てくるよな。
しかも、相変わらずの上から。
厚顔無恥。 >>751
またつんつんで同じ動作ですね
電源はPICkit3から供給する設定です
ブレッドボードに16F1827と部品を挿したまま、RA5、RB7、RB6、VDD、VSSにPICkit3も挿した状態です
現在はRA3、RA4だけ挿してテストしてます
https://i.imgur.com/jKrXD1oh.jpg
http://codepad.org/hTTMTB5Y >>755
Watchdog timer 有効にしてるのだったら、ちゃんと、ループ内でクリアしないとリセットかかるよ。 >>752
モーメンタリやオルタネートがスイッチの動作
プッシュやトグル、ロッカーなんかはスイッチの種類
「普通」は?w
混同しまくってるなw >>756
コンフィグは本のお勧めの自動作成にしてたので分からなかったです
具体的にはWatchdog timerをOFFにすれば大丈夫ですか? >ただのプッシュスイッチ
というのと
>普通のプッシュスイッチ
というのは、どう違うんだ >>755
ぱっと見でMCLRをプルアップかなあ。
それともWatchdog Timerかなあ。
最近まじめにデータシート見ないんで、すぐに問題点が浮かばず申し訳ないw
とりあえず、うちのMCCが吐いたコンフィグはこんなの。
http://codepad.org/3AHa3o34 >>753
スイッチの件はこれで
>>739
解決だからもう気にするな。
先に進めよな (www ID:GOrDpMNa
良かったじゃん、あと50分でチャラよ。
実生活の方で気をつけろよな、その品性w こんな感じで動作しないかな?試してないけど。
//ウィンカーの点滅
int wTimer
wTimer = 0;
//点灯すべきウィンカー
int wFlag;
wFlag = 0;
//ハザードを点滅させる場合は1。スイッチを押すたびに0-1を切り替える
int hFlag;
hFlag = 0;
//チャタリング判定用。
//通常時は0、スイッチが押されている間は1、スイッチON→OFFのタイミングでカウント増加
int swFlag;
swFlag = 0;
while(1){
if(RB5 == 0){
if(swFlag == 0){
if(hFlag == 0){
wFlag = 0b11000011;
wTimer = 0; //操作されたら、すぐに点灯させる
hFlag = 1; //ハザードスイッチの状態を覚える
}else{
wFlag = 0b00000000;
wTimer = 0;
hFlag = 0;
}
}
swFlag=1;
}else{
if(swFlag > 0) swFlag++;
if(swFlag >= 50) swFlag = 0; //RB5スイッチが50ms以上オフになるまで次の操作はできない
}
if(wFlag > 0){ //動作させるべきウィンカーがある場合は500ms毎に点滅
if(wTimer == 0) PORTB = wFlag;
if(wTimer == 500) PORTB = 0;
wTimer++;
if(wTimer >= 1000) wTimer = 0;
}else{
if(wTimer == 0){ //全オフになったら、一回だけポートBに出力
PORTB = wFlag;
wTimer = 1;
}
}
__delay_ms(1);
} >モメンタリスイッチは "押してる間だけ" っていう動作はしない。
by ID:GOrDpMNa
どんだけ恥ずかしい書き込みしても、どんだけ品性の低さをさらしても、あと17分でチャラですよ。
ホント、ここが掲示板で良かったよねえw >>756
>>760
でけました!!!
ありがとう感謝感謝です
他のアドバイス下さった方もありがとです
まだ先は長いですけどまたアドバイスお願いします
>>765
ありがとです
ゆっくり試してみます タブが使えないようなので、スペースで字下げしてみた。
あと、PORTBへの出力をPORTAに修正
//ウィンカーの点滅
int wTimer
wTimer = 0;
//ウィンカーの点灯対象
int wFlag;
wFlag = 0;
//ハザードを点滅させる場合は1。スイッチを押すたびに0-1を切り替える
int hFlag;
hFlag = 0;
//チャタリング判定用。
//通常時は0、スイッチが押されている間は1、スイッチON→OFFのタイミングでカウント増加
int swFlag;
swFlag = 0;
while(1){
if(RB5 == 0){
if(swFlag == 0){
if(hFlag == 0){
wFlag = 0b11000011;
wTimer = 0; //操作されたら、すぐに点灯させる
hFlag = 1; //ハザードスイッチの状態を覚える
}else{
wFlag = 0b00000000;
wTimer = 0;
hFlag = 0;
}
}
swFlag=1;
}else{
if(swFlag > 0) swFlag++;
if(swFlag >= 50) swFlag = 0; //RB5スイッチが50ms以上オフになるまで次の操作はできない
}
if(wFlag > 0){ //動作させるべきウィンカーがある場合は500ms毎に点滅
if(wTimer == 0) PORTA = wFlag;
if(wTimer == 500) PORTA = 0;
wTimer++;
if(wTimer >= 1000) wTimer = 0;
}else{
if(wTimer == 0){ //全オフになったら、一回だけポートBに出力
PORTA = wFlag;
wTimer = 1;
}
}
__delay_ms(1);
} >>768
乙
どう対処したか教えて。
Watchdog Timerだった?
>>769
初心者でさえすぐにcodepad.orgを使いこなしてるのに…。
http://codepad.org/ >>770
そうです
Watching TimerをOFFにしただけです >>767
単発ID (www
しつこい妄想野郎 (www
アホか ID:GOrDpMNa
おめでとうございます。
これでやっとチャラですねw
しっかし、ここまで恥をかいてでもIDはキープしたいなんて、よくわかりませんねえ。
もしかして、馬鹿ですか?
http://hissi.org/read.php/denki/20190130/R09yRHBNTmE.html >スイッチにテスタ当てて、ちゃんと「モメンタリ動」するか確認したの?
これが気になって寝れないかも・・・ >>771
Watchdogね、番犬だから。
ご主人に相手してもらえないと吠えるの。
さて、お次は点滅、ウインカーとハザードですが、どうしますかね。
>>685にも書いた通り、おすすめはタイマー割り込みを使うことですが、ちとハードルが高いかもです。
本には何か載ってますかね? >>775
俺がエスパーするとだな、スイッチの中にニードルみたいな物がバネに支えられてる
スイッチを押し込んでいくとバネが縮んで一定の押し込みでニードルがバネに弾かれて接点と接触
すぐにニードルが引っ込んで接点と放れる
これが「モメンタリ(瞬間)動」スイッチだw
ちなみに作動音はノック式ボールペンと酷似してる >>776
あ〜そういうことかw
確かに犬だ
入門書だからかざっと見た感じタイマー割り込みという文言は見当たりませんね
ウインカー右用、左用と12F1822を2個用意して16F1827でスイッチ動作させれば目的は達成しそうですが
ハザード操作の時左右にずれが出たりしないですかね? >>777
>すぐにニードルが引っ込んで接点と放れる
おかしくね?
押してる間はONになっててくれないと困る。
momentaryには「一時的な」という意味もあるよ。
あんたの話のソースはどこ? >>778
そうですか、本では扱ってないですか。
非常に便利で、マイコンの主要装備、ある意味主役的な機能です。
使えるようになれば雲泥の差です。
無理強いはしませんが、あなたならここのソースを試すだけの力はもうあると思います。
http://zattouka.net/GarageHouse/micon/MPLAB/16F1827/TIMERtoLED/TIMERtoLED.htm
実際にやってみてからどうするか決めればいいのでは?
あなたのやりたいことはPIC1つだけでも十分実現可能です。 >>779
あ、これは一般的なモメンタリじゃなくてID:GOrDpMNaのモメンタリな
>>732←参照
>モメンタリスイッチは "押してる間だけ" っていう動作はしない。 >>780
ありがとう
自分もこれからの事を考えたらマスターしたいですね
挑戦したいのでまたご助言よろしくお願いします >>781
ああ、その馬鹿の誤った妄想を揶揄してるわけね。
そんならいいや。 PICの未使用IOピンは、調べてみると不定状態にならないよう出力にしてさらにLOW
に設定するということのようですが、DIPタイプのPICを自作プリント基板で使う
場合、ソケットピンを切り飛ばして穴あけせずに、その下にパターンを配置してよい
ものでしょうか。 そのピンとパターンが電気的にどう関係してると思うの? えーと、寄生容量を形成する、でいいんですかね。何pFかの。 あ、正解じゃないですね。パターンとパターンとの間にはもっと大きな静電容量が
寄生することになりますね。すみません、素人で。 >>782
ぜひマスターしてほしいね 人間必要に迫られないと新しいことにはなかなか挑戦しないものだから でもすぐに必要になると思う
例えば…
ウインカーを点滅中にブレーキが踏まれてもブレーキランプが点かない なんておかしいでしょ?
ウインカーの点滅を止めないとその他の動作ができないなんて不便でしょうがないよね
点滅動作にかかりっきりだと他の処理ができなくなっちゃうから割り込みを使ったほうが簡単に実現しやすいんだよ
タイマー割込みじゃなくても状態変化割り込みやメインループを素早く回すためにdelay関数での時間を多くても1/100秒くらいにするとか他の方法もあるけど
理解しやすくても機能追加していくほどバグを作り込みやすくなるんじゃしょうがないしね まあいろいろやってみて >>785
説教じじいがそろそろでてきそうだな
今まで我慢してたもんなあ >>780のやつはこうやったらだめですか?
https://pastebin.com/FwkZKjjs
10行目で点滅させるようにしました。 いいよ。
それくらいの処理なら直接そこに書く方がわかりやすくていい。 AVRでLEDごとにタスクを分ければ簡単に実現出来るのに・・・
(当然フルアセンブラで)
もちろんPICのシングルタスクでも実現可能です。
ご苦労さん! & ガンバってね! そう言えば将棋用語に「下手の考え休むに似たり」ってのが有ったなw 三流のCPUを使ってると三流の技術しか身につかないのに・・・。
ま、いいか、あえて茨の道を選ぶってこともあるだろうな。 >>ID:SrI/q0bL
そこまでご自身を卑下なさらなくてもいいですよ。
お気を確かに、もう古巣へお帰りください。
https://rio2016.5ch.net/test/read.cgi/denki/1538195104/ >>792
PIC16F1827なんでしょ?
タイマー4つくらいあるよね。
左右で1つずつ使ってもまだ2つある。 3つめはPWMで使って点灯パターンをかっこよく作っといて
タイミングは2つのタイマーで取ってPWMのルーティンを呼び出せばいいね。
何か楽しそうだな、おい。 実際にプログラム組んで下さった方、知識不足で活用出来なくて申し訳ないです…
とりあえず保存して休日にゆっくり試してみます
>>798
フムフム
タイマー機能がいくつか使えるので
ウインカーの点滅リレーとして左右で22つ
ヘッドライトをじわっと点灯とかのパターンもタイマーで作る
それをスイッチ入力で各ピンに出力するプログラムを組む
こういう考え方ですかな? >>769
半角スペースは1個まで。それ以外は全角スペースしか使っちゃだめって小学校で
習わなかった? >>724
とても分かりやすいと思うけど。
1つ直すとしたら、
sw=onのあいだ、毎回LED=offしない。
その状態に来る前にonしておくといいね。 >>769
変数の前についてるwって、何のwなんでしょうか?
ワーク? >>803
ちょっと、はしょりましたね。
状態遷移を把握して
あとは、waitループでぐるぐる回すなり、
timer待ち合わせで、処理振り分けするか、
timer割込みで処理するか、
状況において使い分けるということですよ。
Cさえ動けば、picだろうと、avr だろうとほぼ同様のソースになりますね。 >>803
>とても分かりやすいと思うけど。
とても分かりやすい「自画自賛」ですねw
今時、フローチャートでもなく、コード貼るでもなく箇条書きで手順書かれてもねえ…。 >>804
ウインカー
回路を見るとウインカーも想定しているようなので、ハザードとウインカーの変数を分離してみた
あとタイマーは中身を理解してもらえそうに無かったので使ってない >>807
アホ
番号そのものが状態遷移なので、
すぐにプログラムが作成できるじやないか。 >すぐにプログラムが作成できる
じゃそれ貼れば?
って言ってんだけどなw >>812
ソースを春より、状態遷移図の方が、わかりやすいと思うけど >>814
>状態遷移図の方が
確かに「図」ならわかりやすいかもな。
それどこにある?
はよ貼ってください。 >>814
何だお前、
>すぐにプログラムが作成できるじやないか。
って言ったの嘘か?
いつまでかかってんだよ、無能か?
で、今度は、
>ースを春より、状態遷移図の方が、わかりやすい
ってか。
コードと図、さっさと両方貼れよ。
お前の「すぐに」は5時間もかかるのかよ、馬鹿なのか? >>809
>あとタイマーは中身を理解してもらえそうに無かったので使ってない
なんか、とても失礼だね、あんた。
自分がタイマー割り込み書けないだけなんじゃないの?
どう見てもコードが泥臭いっていうかカビが生えてそうなんですけどw >>817
解決の糸口なり、洗礼されたコードを出しているのなら有意義なので何も言いませんが、文句を言いたいだけならただのクソですね
割り込みは当然使える。
本当はチャタリング対策も後回しでいいんじゃないかと思うけど。 http://codepad.org/az6kV9MR
スイッチの状態管理を別関数でやって、
LEDのon/off状態を確定して、
mainループでは、それを元に、単純点灯かエフェクトつけるか、
もしくは、関数作って外だししてもいいと思います。 >>808
>あとタイマーは中身を理解してもらえそうに無かったので使ってない
偉そうだな、無能呼ばわりか、上から、品性低そう。
>>818
>割り込みは当然使える。
>本当はチャタリング対策も後回しでいいんじゃないかと思うけど。
どれどれ、他人をクソ呼ばわりする品性で書いたコード、見してみな。 >>819
タイマー割り込み使わない前提だと臭っさいコードになるという典型だねえ。 >>821
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
この辺の #include が必要かな。
スイッチのポートとか、LED出力のポートはそっちで決めてね。 MCCでやってみた。
スイッチを押す度に、
右ウインカー点滅、左ウインカー点滅、ハザード(全点滅)、全点灯、前消灯
をトグルで実行する。
MCCでTimer0の500ms間隔の割り込みを作った。
下は自分で書いたり変更した部分だけ。
https://pastebin.com/raw/Za7Xhk02 質問です。
MPLAB X IDE Ver3.xx + XC16 で作ったプログラムを、
MPLAB X IDE Ver4.15 + XC16 で再コンパイルしたら、
ポート設定(TRISやLAT)の部分で、大量のエラーが出ました。
こんなことって、あるのでしょうか? プロジェクトのチップ名変わってたりはしてないんだよね?
なんだろうな >>827
これは怖い話
俺もver3.15だし
むやみにバージョンアップするなってことか >>827
ヘッダのincludeができてないか、別のものになってる予感 PICいいよなー
今arduino pro miniでやってるけど
これ以下にできるのがPIC
一通り揃えてるけどまだやってない・・
今年中にチャレンジしたい PICはarduinoと違って型番ごとに設定違うっぽいが
・フランス語
・イタリア語
・ドイツ語
をそれぞれ覚えるくらいめんどうなのかな
かつ「なんとか地方の方言」までついてくるのかなと うーん大変だ >>827 は何してる?
まだエラーメッセージの詳細もコンパイラのバージョンも書けないのか。
それともただの荒らしか? >>833
うむ、確かに PIC は arduino 以下だな。 PIC32MM0064GPL028でもMCCでやってみた。
LEDは1ずつに減らしたけど。
https://pastebin.com/raw/dDGz3BJP
自分で書く部分はこれだけで、PICが違ってもほとんど同じ。 MIFESX(エディタ)でアセンブルプログラム書いて
MPASMでアセンブルして
XIDEにインポートして
PICKIT4を5Vセットして書き込むだけ。
アセンブラはシンプル。動作時間も正確に管理できるし。
突然ウインカー入力が変化したら最初に戻って、スタックをゼロにして・・・ ウインカー入力2+ブレーキ入力1で3ビットだから8通りしかない。
8つのパターンテーブル作っておいて入力に応じて選択してジャンプするかデータを吐き出せばよい。
ブレーキ点滅、ウインカ点滅パターンも自在にプログラムできる。
たとえばそれぞれを16行で2秒間にするとか。 ヘッドライト上(遠)
ヘッドライト下(近)
ヘッドライト・パッシング
スモールランプ
フォグランプ
バックランプ
ウインカー右
ウインカー左
ウィンカー・ハザード
ウインカーのカチカチ音(たとえば小さなリードリレーをオンオフ)
クラクション(例えば圧電ブザー)
輝度調整、流れるウィンカーまで入れるとそりゃもう大騒ぎだな ID:1EvTv2jF
残念ながら、XC8でという前提の質問なので全く参考になりません。
次からは脳内だけでおやりください、それはあなたの自由です。
ご苦労様でした。 >>780
このサイトと全く同じようにテストしたつもりなのですがエラーが出てしまいます
バージョン違いだからですかね?
https://i.imgur.com/bb1u8XNh.png >>847
そもそもその項目が無いという事は根本的に間違ってるんですかね?
最初からやり直してみます
https://i.imgur.com/XtiZh0Ph.png >>848
IDEとコンパイラのバージョンを書いて。
なぜ回答者が書いてくれてるのに質問者が書かないんだろう。 初心者ほど自分の知識と知恵が露呈することを嫌うから。 >>849
MPLAB X IDE v3.61
XC8 v1.42
ですね >>850
自分が初心者の頃の心理を告白してんの?w
いやお前は最初から玄人だったよなw >>850
で、バージョンを書くと何が露呈するんだろ。
>>851
ならば、>>847のリンク先にあるエラーは出ないはず。
あなたのために自分の環境のバージョンを下げる気はないので、
あなたが最新バージョンにしない限りはバージョンがらみのエラーについては未知数のままです。
バージョンはそのままだとしても、
>ファイルをダウンロードしてプロジェクトに読み込んでビルドしてみた限りではエラーは出ません。
のようにやり直してみてどうでした?
そのサイトのバージョンは2.15、1.32なので普通なら問題無いはず。 あ、ちなみに、
C99以外は一切変更せず、ビルドして実際にPICに書き込んで、
期待した通りの動作で問題なく動いてます。 >>853
全く同条件で最初からやり直してみたらうまくいきました
どこかでミスしていたのかもしれないですが原因はわかりませんでした
ちなみにC99という項目は>>848と同じで無いですね
バージョンに関しては一回最新のものではじめたのですが購入した本と同じ動作をしなかったので本と同じバージョンでテストしてます >>855
心当たりがあるとすれば、Cleanしなかったからかな、くらいですね。
v2.0の前後を除けば、あまりバージョンを気にした記憶もなく、だいたい最新にしてますね。
Microchipは常に全バージョン入手可能なので…。 ハザードとしてRA3、RA4を点滅にしました
RB5をプルアップで点滅させるにはどうしたらいいでしょうか?
http://codepad.org/4uTH6otz
ハイビーム、ロービーム、ポジションを組み込みたいのですがどう組めばいいですか?
http://codepad.org/BcnXXXaj
あとRB2、RB3でウインカーも作動させたいのですが
https://i.imgur.com/jKF0jdvh.png MCCをインストールすると、コメント行の単語にもいちいち赤い下線がひかれて邪魔なのですが、どうすれば消せますか?(16F886使用中なので、現状MCCそのものは使えていない、IDEはv5.10)
MCCを消すのが手っ取り早い?
https://i.imgur.com/muzTsTQ.png >>858
if (LEDflg == 0) LEDflg = 1 ;
else LEDflg = 0 ;
は
LEDflg ^= 1;
と同じこと。
排他論理和を調べてみてください。
なので、これでも同じはず。
https://pastebin.com/raw/7sxbC1Ex >>860
それ、MCCは関係なくスペルチェックなんじゃないでしょうか?
スペルチェックをオフにしたらどうなります? >>862
MCCありの状態だと、スペルチェックをオフにすれば消えます。
MCCをPluginsからDeactivateして再起動すると、スペルチェックがオンのままだと表示されず、オフにしたあとオンにしなおすと出てくる、という感じでした。
というかスクロールすると、画面内の位置によって出たり消えたり不安定ですね…
とりあえずスペルチェックはオフのままにします。ありがとうございます。 >>864
多分、点滅しっぱなしなので次は点滅を止めたいですよね。
^= 1 でなく = 1 なら点きっぱなし = 0 なら消えっぱなしにできます。
あとタイマー割り込みを止めるという手もあります。
この行です。
TMR2IE = 1 ; // タイマー2割込みを許可する
いろいろやってみてまた質問してください。 >>866
映像にも書いてますが、MCCP1のPWMでスピーカーを駆動して鳴らしてます。
音データはプログラム・メモリに書き込んであります。
いまクラクションも準備中w >>869
>今回は「電飾しましょっ!2 PIC編」では触れなかったタイマー割り込みという処理をしています。
とあるから、もう本を見ても参考にならないね。
サイトの記事も、whileのポーリングで検知してるだけだから、限りなく素のタイマーに近い使い方。 色んなサイトのプログラムを切り貼りしてなんとか形になりましたがまだやりたい事は達成出来てません
アドバイス頂けたら嬉しいです
http://codepad.org/IaxrCenU
https://i.imgur.com/sraOYrZh.png
出来てない事
・ハザードは時間指定じゃなくてスイッチで点滅維持-停止の切り替えがしたい
・ポジションスイッチを押す度に
消灯 → ポジション → ポジション+ロービーム → ポジション → 消灯
と切り替えたい
・上記が可能になればRB1が空くのでハイビームのパッシングに変更したい >>872
雑なアドバイスだが、while ループの中で、
スイッチの操作により、現在の状態を表す変数の値のみを変更する。
現在の状態を表す変数の値によってLED の点灯、消灯、点滅の処理をする。 ふとトランジスタアレイ使った方が良いんじゃね?と思った >>872
>>859や>>873を見ればわかるけど、点滅中でも音が鳴っている。
__delay_msを使わずに割り込みでやらないとそうは出来ない。
点滅の処理を関数に書き、割り込みでその関数を呼ぶようにする。
点滅を止めるときは割り込みを禁止にすれば止まる。
他でよほど重い処理をしない限り勝手に点滅していてくれる。
参考にしたサイトが割り込みを生かし切ってないサンプルだから仕方ないけどね。 >>876
えー?
割り込みから関数呼ぶの?この程度の要求速度で?
しかもPIC8だよね?あなたほんとにPICで割り込み使ったことあるの?
タイマ割り込みでフラグ立ててメインで処理だろ >>874
>>876
>>877
ありがとう
でも初心者なので具体的に何をどうすればいいのかちょっと分らないです
>>875
トランジスタの省スペースになるけど点滅回路にはならない? >>878
>>840にコードがあるから参考に、PICは違うけど考え方は同じ。
>>874や>>877の言うことは私にもよくわからない。
>>875は基板作る段階になったら考えればいいこと。 >>877
それ、僕もその程度の処理で割込み使うかな〜と思っていた。
deley関数使わずに、timerのオーバーフローフラグで、タイミングを取るのは
よくやるよ。
割込みは、通信処理や、LCDの転送処理などにとっておく。
もちろん、Lチカでも、正確なパルス幅で点灯させたいときは、割込み使う。 割り込みは基本だろ
なにも使わなくたって変数カウントアップさせとけ
その変数のbit取り出すだけで何種類もの矩形波が出来る
1024Hz、512Hz、256Hz、128Hz・・・4Hz、2Hzとかだと
2Hzのbitとon信号とandするだけで点滅信号に早変わりだ
サーボの左右、中立位置だって簡単 >>880
いろいろよくわからないです。
>timerのオーバーフローフラグで、タイミングを取るのはよくやる
「timerのオーバーフローフラグ」って具体的に何のことで、
実際にはどういう処理をするんですか?
>割込みは、通信処理や、LCDの転送処理などにとっておく。
模型の電飾で通信処理やLCDですか、またずいぶん盛りましたね。
にしても、5つもあるタイマーを使わずに温存する理由にはなってないですね。
>Lチカでも、正確なパルス幅で点灯させたいときは、割込み使う。
割り込み使わなくても不正確になんて出来ませんよね。
これもどういう意味か具体的に教えてください。 >>873
音鳴るのいいね。
そのうち模型の電飾屋さんがマネしそうw >>884
ありうる。
ここで割り込みの話が出たとたんにあちらでもやり出したしw 割込は非同期入力に使うことが多いなぁ
キー入力とかインプットキャプチャとか >>883
ハードウェアタイマーが満了になったら、ハードウェアが立てるフラグのこと。
そのフラグを見て、例えば1msが100回で0.5sたったら、LEDを点灯消灯するとか、
mainのif分で作る。
その間はLEDは触らない、というようにすれば、残りのCPUパワーをすべて使えるということ
ハードウェアタイマーのフラグでなく、ハードウェタイマーの割り込み処理でソフトで変数を1にして
戻ってきても同じ事
PICの割り込み処理内で多段に関数をコールするとハードウェアの都合で戻って来れなくなる場合もあるので、
不用意に呼ばないほうが良い。
模型の電飾で通信処理は普通に使う。まぁ使うときになるまで考えなくても良い
通信処理と言っても232cなどだけではない。i2cから赤外線までいろいろ >>887
1.
>ハードウェアタイマーが満了になったら、ハードウェアが立てるフラグのこと。
データシートでは何て言う名前のフラグですか?
調べるので具体的にお願いします。
2.
あなたの言うフラグをmainで見続けるのと、タイマー割り込みで検知するのとの違いは?
mainで見る方がCPUパワー使いませんか?
3.
この程度の要求速度で、と言ったり(>>877)、多段に関数をコールすると戻って来れなくなる、と言ったり、
話の前提が臨機応変にあなたの都合のいいように変わるのはなぜですか?
3.
PIC16F1827で仮にI2Cを使うとして、タイマー割り込みをそのために温存しておかなければいけない理由は何ですか?
内蔵してないからタイミング用に1つ使うにしてもまだ4つ余る計算ですが。
リモコン流用の赤外線通信にするとしてもベースに使うクロックが1つ余分なだけでまだ3つありますよ。 >>877
>タイマ割り込みでフラグ立ててメインで処理だろ
解は一つではない。
メインは空のループにして、全部タイマー割り込みの中でステートマシンで
やったっていい。 >>887を読んだ感じでは、この人割り込みとかフラグとかを全く理解してないと思う。
>残りのCPUパワーをすべて使えるということ
と書いてるくせにポーリングでフラグを監視するとかおかしなこと言ってる。
それじゃ割り込みの立場が丸つぶれw >>890
解は一つではない、に補足。
タイミングが必要な所はフリーランタイマーの適当なビットをポーリングするようにして、
割り込みを全く使わず、全部メインのループ内で処理しても良い。
# 6 pin 米粒 PIC なんぞは割り込み機能がないのでこうやるしかないぞ 誰も自分の言ってるやり方を唯一の解決方法だと言ってない
delayなんか使う思考してちゃ、この先必ず行き詰るから
割り込みくらいさっさと覚えとけってことだろ >>888
1.なんでそんなことまで教えにゃならん
PICの入門盆やらデータシートやらWebやら、タイマーについて書かれてるのを調べろ
2.状況次第。後々に処理追加したくなったときにやりやすくするだけ。
リソースを他の処理が影響なく使えるか影響範囲の少ないようなやりたい方法でやればよい。
別にCPUでグルグルまわってWaitかけようがどうしようが好きにすれば良い
3.論点や趣旨が全く違うことを話してるのに、お前が都合のいいように取っているだけ。
4.そう思ったら使わなければいいし、使いたかったら使えばいいんじゃね?
I2Cともタイマーいくつとも書いた覚えはないし一般論としてハードウェアリソースの振り分けを書いているだけだけど。 >>887
普通の使い方で8段のスタックを使い切る事はまず無いが、割り込みの中で関数呼ぶと変数が化ける可能性があるからな。 >>891
ポーリングといっても、待ち合わせするんじゃなくて、
処理ループの中で、フラグ立ったら、分岐する手はよく使うよ、
複数の割り込み要因が使う状況で、多段割込み、優先順位とか細かく設定できるなら
シンプルな構造になるけど、8bitのpicだしね。
ただ、mainが空ループで済むのなら、同じことだから、好きなほうでやればいいと思う。
>>892
どうせ安いんだから、アマは、よりリッチなPIC使って、mcc使ってサクっと作る流れもあるけど、
基本の泥臭い手法だと、6pinのpic使えたりするんだよね。
まぁ、一般論として、割込みは、リソース競合とか、デバッグが面倒になる傾向があるから、
慎重になる。
それでも、今回のような、timerによる定期割込みは、安全な手法なんで、どっちでもいいかな。 >フラグをmainで見続ける
もうね、、、delay的思考まんま
何かの入力待ちだけのためにループ回して他の処理止めるとか
ほんと世の中に出回ってる糞な入門書のせい >>894
1.調べろ
2.好きにすれば良い
3.論点や趣旨が全く違うことを話してる
4.そう思ったら使わなければいい
素晴らしい、これ以上はない見事な回答だ。
そもそも>>888は質問じゃなくてあんたの無知を揶揄してるんだと思うが、
それすら気付かず立ち位置が回答者側なのがあっぱれだわ。 >>897
delayとフラグ分岐待ちの違いがわからないということは状態遷移のwaitedStateやsleepとの違いもわからないということかな? >>898
またいつものここのパターンですね。ガンバってね >>881
アドバイスしたいのは山々だけど、MCCどっぷりでデータシート見るのも面倒な体たらくなので。
1つだけ言うと、これ
http://codepad.org/IaxrCenU
は明らかに退化だね、delayに頼りすぎ。
>>825の2つを組み合わせるのが一番シンプルになると思う。
あと、あなたは出現が不定期で、空くときは1週間も空くし、
せっかくアドバイスしてもスルーの時があるし、こっちも追いきれん。
そのせいでだいぶ損してると思う。 なあ、屁理屈はいいから具体的なコードで示そうよ。
でも>>769は勘弁してな。 >>903
お前みたいに空へ向かって吠えるだけの奴が登場すると悪くなるよな。 >>903
初心者スレとは思えないよねw
>なんでそんなことまで教えにゃならん
>調べろ
>糞な入門書のせい
>無知を揶揄してる
>違いもわからないということかな?
>明らかに退化だね >>897
全く同意。
入門書は読んだことないから知らんけど、染まらずに済んでよかったw
>>899
完全な的外れ、割り込みの意義を学んでから出直せ。
>>905
ほとんどは回答者面の連中同士の言い合いだからいいんじゃね?
http://codepad.org/IaxrCenU
が退化なのは事実で、良い指摘だと思う。 >>901
まあごもっともだけど本を見ながらやってる全くの初心者なんだからスルーというより理解出来てないんじゃね? >>906
イベントドリブンの意味知らない奴に言われてもな
割り込みってのは、入力に対する高速な応答が必要な場合の処理で、
それ以外の何者でもない
電車のLEDの点滅タイミングの同期が内部タイマーの高速応答が必要な処理であれば
割り込み処理内で行うべきだろう >>908
初心者が、割込み不用意に使うと、割込み内で、msec単位のdelay使ったりしますからね。
今回のお題では、副作用はないけど。。。
https://www.uquest.co.jp/embedded/learning/lecture02.html >>908
タイマー割り込みは高速な応答が必要なわけでもないんじゃね? >>910
タイマー割り込みは、タイムアップやカウントアップなどのタイマー要因に対する高速な応答のためだと思います
それが必要であれば割り込み内で処理しないと駄目じゃないかな
クロックが数MHzに対して、秒オーダーの動作ならタイマー要因をCPUでms毎に監視してても問題ないけど、
そういう目的でのシステムタイマーみたいなのがあったほうが何かと簡単になるよね
元クロックやら必要な時間間隔やらで16bitなのか8Bitタイマなのか、
他にPWMや通信でどういうタイマをどう使うので、選択や使い方がが変わるんだよ>元ネタ質問者さん >>ID:jKniwTF0
言いたいことが良くわからんな。
Lチカにタイマー割り込みは使うなってこと?
別にええやん、他に使わんのだし…。
PWMや通信するならよけいLチカなんて単純作業は割り込み任せで放置したいでしょ。
しかも、現状1827では通信しようがPWMしようがまだタイマーは余る。
あんたの論点が見えないのよ。 まさか、タイマーが5つもあるPICなんて使ったこともないとか?
PIC32なんか7つもあるんだぜ、しかも16bitよ。 ああ、そういうことか。
俺も、コイツが何を必死に言い張ってんのかよく分からんかったけど、
ジジイが、近頃の若者はぜいたくじゃ、と騒いでるってわけね。
納得した。 最初は割り込みの意味さえろくに分かっていなかったジジイが、
少しは学習したと見えるが、かといっていまさら後へは引けず、
割り込みぜいたく論にすがって立ち位置をキープしようと無駄な努力中。
イベントドリブンには笑ったけどなw いや
じじいこそ黎明期のZ80理解してるはずだから
割り込みテクニックもイベントドリブン手法もわかるはずだ
>>ID:jKniwTF0 からはその辺の理解度がまったく感じられない >>917
任せっちゃあ任せだけど、
音を鳴らしたり明るさを変えたりするんだから、
ハザードの点滅よりは手数が必要という意味です。 >>916
>じじいこそ黎明期のZ80理解してるはずだから
そんな昔から意識の高いジジイだったらここで無知をさらさないよ。
ジジイに高望みしすぎw >>919
だからそんなじじいではない、ただのアホだろうっつってんじゃんw 上の方にもあったけどmainのwhileの中でゴリゴリやるのが趣味ということなんだろうなあ
俺なんかあれが空だとすごく気分がいいから今回のお題ならスイッチ押下も外部割込みとして処理してえ
それはそれで本末転倒だがw >>873
音データには元ネタがありますの?
そのクリック音が欲しいです。 >>920
それはAVRの工作員だよ
脱税で逮捕された「青汁王子」
「広告宣伝費は同業他社について批判的な内容をネットに書き込むよう、
別の会社に依頼して支払ったもので、架空の経費ではない」という趣旨の説明をしていたということです。
やっぱ、AVRの工作員みたいなこと仕事にしてる人がいるんだな >>921
そのやり方が正解だと思う。
main()では、LEDのon/offを変数に書くだけで、
タイマー割り込み中で、
・スイッチのチャタリングフィルタ
・mainからのLEDon/off変数の反映
・on/off時間の管理
・状態遷移の管理
をLEDの数だけ行えば良い >>924
状態遷移って何ですか?
ON/OFFしかないのに何が遷移するんですか?
よくわからないのでコードで教えてください、XC8でお願いします。 >>925
16F1前提なんだからLATレジスタに保存されるだろ。
わざわざ変数使ってON/OFFを書く意味ねえよ。
おれもあんたのコードが見てみたいわ。 ON/OFFも立派な状態遷移。
マトリックス表だけ考えてるようなら、顔洗って出直してきて。 【企業】ジャパンディスプレイ(JDI)の筆頭株主が中国台湾連合に、中国政府の補助金で有機EL工場を浙江省に建設へ★2
https://asahi.5ch.net/test/read.cgi/newsplus/1549900814/249
249 名前:名無しさん@1周年[sage] 投稿日:2019/02/14(木) 08:31:09.88 ID:ESjpYfhA0
>>248
Appleのエンジニア「よく日本は素晴らしい技術を持っていると言われますが、ハッキリ事実を言った方が良いと思います。
知識も技術力も現在取り組んでいることも、日本のほうがレベルは低いと思います。
その理由は単純です。
ソニーやパナソニックが元気だったころ、量産体制を作り上げるために、それまで社内で設計していたのを、台湾や中国といった海外に委託しました。
日本は仕様書を書くぐらいしかしなくなり、重要な設計の部分は外国に流れたわけです。
いま日本人の若手技術者は「ここになぜコンデンサーが必要なのか」を理解せずに、
「このコンデンサーを外してはいけない」ということだけを知っているのです。
しかし、台湾や中国の技術者は「なぜ必要なのか」をきちんと理解しています。
設計する技術力は、いま日本ではなく、台湾や中国にあるのです。
ハードを設計したいなら、日本に機会はありません。台湾など技術の高いところでキャリアを積んでいく必要があります。 」 ホントにPICユーザーは何の進歩も無いな。
たかがモデルカーのLED点灯にどれだけ時間が掛かるんだよ。
プロなら「使えない奴」というレッテルを貼られてしまうぞ。
いつも通りにケンカは始めるし、困ると「AVRの工作員のしわざ」と叫んで逃げるし、
これはもう5歳児に説教して貰う必要があるな。
「ボーッと生きてんじゃねーよ!!」w 眺めてる人間は経験豊富かもしれないけどココに質問に来る人間は全く畑違いのやつかもしれないし全くの素人童貞だろうから一を聞いて十を知れといったところで無理な話
教えたい人は教えてイヤな人は見なきゃいいだけ 質問者がレスに対してなにも調べずにもっと詳しく教えろというのがダメ。
少なくと調べた結果と見解を述べて次の質問に進まないと。
あとは、定番の群盲象を評すだな。最たるその一見解が
> 割り込みってのは、入力に対する高速な応答が必要な場合の処理で、
> それ以外の何者でもない 厳しいなあw
みんなPICを何きっかけで初めたの?
仕事?趣味?学校?
初心者の頃苦労しなかった?
他社ユーザーが増えて来てるような状況なんだからせっかくの初心者に厳しくせずに助けてあげようよ >>928
で、質問に対する回答はいついただけます?
ググれば出てくるただの用語はどうでもいいんですが、
ON/OFFしかないのに何が遷移するのか
わざわざ変数使ってON/OFFを書く意味
については私もぜひ知りたいです。
今のところ肝心な質問になると全部お茶を濁してますよね。 >>932
あなたと違って質問者の理解度に歩調を合わせようとしてるからでしょ。
ほらこれでやれ、で済ますなら5分で済む。
何ならあんたがプロジェクトをPackageしてどっかにアップしてやればいいじゃん。
>>936
それ。
2盲人くらいだと思うけど、お笑いのネタとして面白いにしても初心者は混乱するよね。
その一見解なんかは本気で吹いたわw
>>937
良く見てみ、初心者に厳しくしてないよ。
無知なエセ回答者が叩かれてるだけ。
そいつのクソレスを見てしまう初心者のためでもある。 >>939
ON/OFF でも状態遷移だろ。
C で書くなら変数を持つのが普通。
特定のハードに特化ならポートだろうがステータスビットだろうが好きにすればいい。 >>939
ほんとに無知なのによくそういう書き方ができるもんだね。スルーしておこうかと思ったけど書いておくね。
出力状態として、LEDがONとOFFがある場合はね
遷移状態は
ON中状態
OFF中状態
ON->OFF変化中状態
OFF->ON変化中状態
の4状態があるの
でないと変化中に入力があると対応できないでしょう?
そういう途中状態をすべて想定して、入力変化の動きを規定しないと、クロスシーケンスが発生したりするの
そんな状態は考えていません考慮してませーんポカーン、というのと、その状態中のこれとこれのイベントは無視します、
というのでは天と地ほどの違いがあるのです
わかった? ポートにスタティックにぶら下がったLEDのONOFFだけならグリッチくらいですむだろうけど
外部から通信でイメージデータ送ってこられて、多ビットのLEDドライバを多段にしてダイナミックに使ったりする場合は、
ちゃんとそれぞれの状態を規定しないと、おかしなバグを作りこむことになりますよ >>941
何が基準の「普通」だか知りませんが、ポートのラッチ・レジスタが持ってるものを
わざわざmain内の変数でも持たせる意味を聞いてます。
両方で持ってても無意味ですよね。
流れ的にPIC16F1827の話してます。
>>942
ああ、予想通りでした。
書いてる内容もあなたの品性も。
>ON->OFF変化中状態
>OFF->ON変化中状態
は、ちょっとウケましたw。
ありがとう。 >>943
>ポートにスタティックにぶら下がったLEDのONOFFだけ
なんですよ、まさにね。
勝手に話膨らませて初心者惑わしてまで自己顕示欲見たしたいですか?
スレの流れ見てますか? >外部から通信でイメージデータ送ってこられて、多ビットのLEDドライバを多段にしてダイナミックに使ったりする場合は、
ほらほら、後出し盛り盛り真骨頂ですよ。
初心者スレなんてことはお構いなし、流れもお構いなしで、
自分の語りたいことだけを大声で語り続けて自己満足に終始する品性の無い老害。 >>942
初心者なんでよくわからないんですが
ON->OFF変化中状態
OFF->ON変化中状態
の変化中というのはどういう状態ですか?
LEDがONからOFFへと変化していく過程をどうプログラムで検知するんですか?
電子レベルの挙動の検知ですか? >>948
プログラムで検知するんじゃなくてプログラムの状態なの
君の頭の中のLEDがONにしたら点灯、OFFにしたら消灯というのしか考えられないだけ
ソフトウェアの実行時間に対してIOの動作時間が充分早いと思っているだけ
別に、あなたがそういうプログラムでいいと思っているあいだはそれでいいと思いますよ
推測も観測もできない事象を認識することはできないし、
今後の拡張も展開も初期化も複数化も考えないうちはそれでいいでしょ >>944
ラッチレジスタから読んできた値はどうするの?
変数に入れずに反転して書き戻せるかな?
まあ、反転するだけなら xor すればいいことだけど。 >>949
で、コードはどうした?
また、口先だけかw
>>950
>反転するだけなら xor すればいいことだけど。
ご自分で気づかれたようでなによりです。 >>951
ごめんねー。煽っても出ないよー。
ハード仕様もソフト仕様もわからないのにサンプルコード書いて提出するほど馬鹿じゃないんだ。
初心者とか仕事じゃないとか新卒プログラマはそれでいいと思うからがんばって。 >>949
こいつ、たかがLチカなのに妄想がどんどん現実離れして行って面白いね。
どんなコード書くのか、はたまた書けずにトンズラなのか、楽しみ。 >>952
>ハード仕様もソフト仕様もわからないのに
>初心者とか仕事じゃないとか新卒プログラマは
ね、論理的に追い詰めて行くと最後は決まってこれ。
自分がレスしてる場所がどこなのかさえ考慮できずにただわめいてだけ。
書いてて自分でみじめじゃないのか、これもう品性のなせる業だね。 >>949
>ソフトウェアの実行時間に対してIOの動作時間が充分早いと思っているだけ
これ興味あります。
実際にLEDの例で数値を挙げて時間の差を教えてください。
ぜひ、よろしくお願いします。 以前は何で初心者向けのスレでやるのだろうと思っていたが
最近初心者だからこそこういう話題が盛り上がるんだってわかってきた気がする >>ID:4rx6qwE2
遷移状態は
ON中状態
OFF中状態
ON->OFF変化中状態
OFF->ON変化中状態
の4状態があるの
ソフトウェアの実行時間に対してIOの動作時間が充分早いと思っているだけ
んー、ONの指令を出しても実際にLEDが光り始めるまでには時間があるので、
その間に何か起こった時のために変化中という遷移状態を考慮しなければいけないってことですかね。
模型のLチカの場合、いったい何が起こるんですかね。
ナノ秒レベルのスピードでスイッチを再度押下するとかですかね。 >>935
帰宅してから始めて3時間ほど掛かってしまったが、tiny2313でプロトタイプを作った。
これから色々とブラッシュアップしていけば、動作はそれなりの見栄えになると思う。
SW8個ごとにタスクを割り当てて、タイマ0のCTCで1mSごとにラウンドロビンで切り替え、
ソフトディスパッチは無し。
リストはディスパッチャと各タスク(ただしタスク4〜8は未完)で、
セットアップ部分は省略した。
;===== timer0_CompA:1mS for dispatch ==
; execute time typ. 2.5uS at 8MHz system clock
IRQ13:
; save YH,ZL,ZH & SREG to currrent stack
push YH
push ZL
push ZH
in ZL,SREG
push ZL
;
; exchange SP with next task
in ZL,SPL ;save current SPL to buffer
st X+,ZL
andi XL,7 ;pointer limited 0-7
ld ZL,X ;load next SPL from buffer
out SPL,ZL
;
; restore YH,ZL,ZH & SREG from next stack
pop ZL
out SREG,ZL
pop ZH
pop ZL
pop YH
reti
; ;===== main loop ======================
;SW1を押すとLED1が点灯〜離すと消灯
Task1:
sbis PinB,_SW1 ;SW ON ?
cbi PortB,_LED1 ;Yes, then LED ON
sbic PinB,_SW1 ;SW OFF ?
sbi PortB,_LED1 ;Yes, then LED OFF
rjmp Task1
;
;SW2を押すとLED2が点灯〜(離す)〜押すと消灯〜(離す)
Task2:
sbic PinB,_SW2 ;SW OFF ?
rjmp Task2 ;Yes, then wait
sbi PinB,_LED2 ;No, then toggle ON/OFF
rcall Delay_05S ;delay 0.5Sec for chatter
rjmp Task2
;
;SW3を押すとLED3点滅〜(離す)〜押すと消灯〜(離す)
Task3:
sbic PinB,_SW3
rjmp Task3
Task31:
sbi PinB,_LED3
rcall Delay_05S
sbic PinB,_SW3
rjmp Task31
sbi PortB,_LED3
rcall Delay_05S
rjmp Task3
;
;ハザードやじわっと点灯などこれから
Task4:
rjmp Task4
;
Task5:
rjmp Task5
;
Task6:
rjmp Task6
;
Task7:
rjmp Task7
;
Task8:
rjmp Task8
;
;===== delay by internal_CR_OSC 8MHz
Delay_05S: ;delay 0.5Sec
ldi YH,5
;
Delay_01S: ;delay 0.1Sec
ldi ZL,Low(25000)
ldi ZH,High(25000)
Delay_01S1:
sbiw ZL,1
brne Delay_01S1
dec YH
brne Delay_01S
ret
(リスト直書きスマヌ、疲れたからもう寝る) 初心者はまず動くコードが欲しいんだよね、それだけ
目の前にぶら下がってるやりたいことができればよい
コードのためには設計も品質も関係なし、初心者にはそんなものいらないと思ってるんだよなぁ
設計をやってないのにコードなんてかけるはずもないのに
仕様もないのに設計が出来るはずもないのに
その先に進むかどうかが初心者からの脱出だと思うんだけど、一生初心者やっててください
ブラック下請け派遣会社の営業くらいにはなれるかもね >>961
妄想はいいから>>956の質問に答えてやれよ。 >>960
>>873みたいに音も鳴らさなきゃダメじゃん。 >>944
> わざわざmain内の変数でも持たせる意味を聞いてます。
押しボタンスイッチを押していたら LED 点灯、離していたら LED 消灯
こういう処理なら変数[*1]を待たせて状態を覚えておく必要がない。
しかし、押しボタンスイッチ A を押して離したら LED A 点灯、もう一度押して離したら離していたら LED A 消灯
Iさらに、押しボタンスイッチ B を押して離したら LED B 点滅、もう一度押して離したら離していたら LED B 消灯
こんなことをやろうとすると、どのスイッチも離している状態で、どの LED を今点灯、点滅、消灯させているのか
を内部的に覚えておかないとやりきれなくなる[*2]。その内部的に覚えておくのが変数。
[*1]:変数:一般的には General Purpose Registers
[*2:]状態の数だけループを作って飛びまくれば変数を使わなくても出来ないわけではなくが、条件が増えると
指数的に複雑なコードになり現実的でなくなってしまうぞ。 >>962
使うLEDのccabほか遅延時間書いてあるデータシートと使用する電源と応答と配線インピーダンスとコンダクタンス遅延と
そのLED使ったPICの型式と電圧とコア温度とクロックと、周囲温度条件、PICの電源ピンの電源電流とか
負荷変動による電流変動とかポートの応答速度と配線のインピダンスとコンダクタンス
あたり書いてくだされば、目安はお出しできると思います。 >>962
普通にバス設計やるときにやってますし、医療用の残光測定LEDの応答装置とかもやってますから、
こちらの提示した材料を出していただければマジにLEDの遅延状態くらいは計算で出せますよ
なんでしたら光伝送と位相も測定できますが、そちらは会社の機材だけで出来ないので有料で。
念のために、あなたのポートのONOFF時の波形の観測精度とLEDの光源追従波形の観測装置の概要と精度も
教えてくださいね。せっかく計算したものが観測立証できないと残念なので >>964
ポートレジスタが保持してるでしょON/OFFを
変数にもわざわざもう一つ覚えさせておく意味ある? >>966
あなたが>>949で
>ソフトウェアの実行時間に対してIOの動作時間が充分早いと思っているだけ
と書かれている根拠となった条件で例示していただけば結構です。
当然データに基づいてお書きだと思いますので、よろしくお願いします。 >>969
それ、
何かわざわざ変数を使うこだわりがあるの?
って返答されて水掛け論になるだけなのにわかんないの、馬鹿なの? それらの遅延だしたところで、仕様に影響ないとは思いますが、
影響がないかあるかを調べて、動作に反映させる処理を作るのが正しいプログラマかな?
スイッチを押してスイッチ端の論理が真になってから何ns後にLEDが点灯開始、
点灯開始後に何psで光量が規定の何%とか仕様決めてるんでしょ?
ここまで人に要求するからには仕様決めてるんですよね?
自分なら、LEDの最低点灯消灯応答時間を1ms程度に規定してそれ以下なので問題なしとしますが。 >>970
いやいや、例えばさ、信号器作るとしてさ、
緑のポートみて、
点いてなかったら、黄色見て、
それも点いてなかったら、赤見て・・・
ってやるんだよね、君のやり方だと。 >>968
一般的なLEDで、25℃30mAのときに駆動立ち上がり時間が50ns以下の遮断時間(応答性-3dBまで)のときの
応答速度は20ns程度ですね
PICのF1だと20MHzくらいで、電流30mAで、他のポートに電流流してない状態でのポートのOFF-ONの速度は
どれくらいだったかな、0.5uSくらいだと思ったのですが。
PICで、LEDをONOFFを最速で点滅させたときには、点灯が点灯と認識されない消灯しきれない状態に
なると思いますので、確実に点灯消灯させるためには数u待ちを入れたほうがいいですよ
LED一個だけならいいですが、別ポートのLEDを同時に点灯させたい場合、その同時が何us以内として
いるかはわかりませんが、最低でも数クロック分のソフトが動くわけですから、複数のLEDを同時駆動
するときにはちょっとだけは気をつけましょうね高速で移動するLED群などがあるとちらつきが肉眼で
見えてしまう可能性もありえます。 >>972
でも、緑つけて緑消して黄色漬けて黄色消して、ってやったときに
ハイスピードカメラで見ると、緑と黄色が同時についていますが?とかあってね
実際の信号で電球の昔は普通にありえて大問題
PLCみたいにウェイト入れながらラダーでドロドロまわして、応答が遅い電球だったりするといろいろとね
電球は消えてても消してないしな まぁ、人間がみてついてればいい、
いくつかのLEDを点滅消灯すると、ものによって消灯する時間が少し間延びするとか、
まぁそのあたりはどうでもいいです、という程度だろうから、いいんじゃね
どうせ小学生程度が作るプラレールに毛が生えた程度のジオラマだろ
酒がまわって眠くなってきたので寝るわ、おやすみー >>967
LATxレジスタがあれば、不要だと思うけど、少し昔のPICや、他のMCUも使っているプログラマであれば、
作法として、I/Oもしくは、それに準ずるレジスタとは別に、メモリ(変数)領域で on/offを管理しておくのが常套手段。
ただ、メモリ不足、性能の問題で、最適化した場合には、あなたの納得のいくようなプログラムになるかもしれませんね。
いろんな、マイコンを使う人は、多少冗長でも、同様のプログラムを書きたいので、無駄に見えるかもしれないです。
それは、経験に基づく習慣だったりするので、今回のような条件では場違いかもしれないです。 ID:4rx6qwE2
>ハイスピードカメラで見ると、
>どうせ小学生程度が作るプラレールに毛が生えた程度のジオラマだろ
ホラ話吹き倒した挙句、問い詰められて窮すると、人のやってること小馬鹿にして終了。
品性の欠片もないみじめなヤツ。 不要だと思うけど
作法として
常套手段
多少冗長でも
書きたいので
無駄に見えるかも
経験に基づく習慣
場違いかもしれない
初心者スレでそれを振りかざして押し付ける連中
>>973に言わせると宗教なんだそうだ、どっちがだよ
自分の無知、不勉強を棚に上げて、実にくだらん 老害さんはタイマーが1つしかないような化石PICの頃のカビが生えた知識で上から語る。
MMCだのPIC32だの出てきたひにゃ避けて通ってそっと目を閉じてる感さえある。
質問者がPIC16F1827だ言うとんのにデータシートすら読まずに昔のつもりで回答してる。
ま、俺の勝手な想像だけどね。 >>967
LEDに限らず、外部機器のon/offは、慎重にやるんですよ。
LATに直接書いてももちろんon/offできますが、
その出力をon/off操作する箇所が、プログラム全体で見て複数箇所出てくることはよくあります。
その複数箇所で、それぞれが好き勝手に LAT...=1 とか LAT...=0 とかやると、
いったんonし、プログラムの別の箇所ですぐにoffになったり、
LEDならチラチラするだけで済みますが、シリンダーバルブとかの駆動だと
最悪、人が死んだりするんです。
そこで、お利口な方法として、
On/Offするのは、プログラム一巡のうちの、特定の1カ所だけで出力するようにします。
プログラム各箇所のon/offの要求は、変数に書くようにして、
みんなで書き込んだ結果を、考えて最終的にポート出力するんです。
また、LEDのon/offの状態遷移とは何のことか・・・と言ってる人がいますが、
文章を良く読みましょう。2値=on/offで出力する限りLEDに中間はありません。
「on→offの変化途中」というのは、最終的な判断としてoffにするのだけど、
offするまでに条件を取り込むような期間や状態のことです。
on中 → offへの移行中 → off中 → onへの移行中 →... という
管理上の状態変化のことを言っているのです。
コードを書け書けと言っている人がいますが、たぶん書かないと思いますよ。
書け書けと言っている人は、知らないから手本を見せてくれという観点ではなく、
書ける門なら書いてみろ。こてんぱんにしてやる、というのが見え見えです。
あなたが重箱の隅をつつくように質問攻めにすることは容易に想像できますし、
書くのにも時間が掛かる出、めんどくさいのです。
あなたは、答えはわかっているくせに、知らないふりをして聞く。意地が悪いです。 誤記訂正
>書ける門なら書いてみろ。こてんぱんにしてやる、というのが見え見えです。
書けるもんなら
>書くのにも時間が掛かる出、めんどくさいのです。
書くのにも時間が掛かかるし、めんどくさいのです。 連騰すみません
>>959
難しい言葉や用語、横文字を並べていますが、
「おれば詳しいんだぞ、スゴイだろ」って言いたいんですよね?
でもね、本当にスゴイ人は、そんな ひけらかすようなことは、しません。
誰も頼んでいないのにアセンブリ言語で書いて、CPUも違うし。
間違いがあっても 誰もわかんねーだろ、と思って、得意げに書いているかもしれませんが、
いくつか間違っているようです。注意しましょう。
周囲から スゴイねって言われる人は、間違いなく もっと謙虚なんですよ。 >>967
ポートレジスタを変数とみなせるだけの処理だけならそれでも良い。
同じ LED をウィンカーとして点滅させているのかハザードとして点滅
しているのか、ドアロック解除で点滅させたのか、はたまたソフトウェ
ア PWM で明るさを調整している最中なのかなど、ポートレジスタに
のみ覚えさせておくとだんだん厄介になるもんだ。場合によっては
条件が足りなくなって破綻する場合もある。
なので、「今、こうしたい」という状態を変数に作っておくと処理が分か
り易くなる場合が多い。ポートレジスタだけでいこじになってソフトを
作ればある程度までは作れるとは思う。 マイコン固定で機能拡張なんて考えない
変数使うのはやだ
ってなら勝手にやればいいんじゃん。
否定されても我が道を進め。
ただ、後から助けを呼ぶなよ。 >>982
同意します。
空PINにいきなり出力して、オシロやロジアナ当てて、デバッグすることはあるけど、
入力、出力はなるべく1箇所でまとめてから、しかも、PIN代替が容易なように
マクロで記するのが普通だと思ってます。
あんまり条件決めうちで書かれた、プログラムは、完成に近そうで、なかなか品質があがりませんね。 >>986
>「今、こうしたい」という状態を変数に作っておくと処理が分かり易くなる場合が多い。
よくわかりません。
具体的にはどういうことでしょう?
例えば、winkerとかrockとかhazardとかいう名前の変数ってこと? >>982
>プログラム各箇所のon/offの要求は、変数に書くようにして、
>みんなで書き込んだ結果を、考えて最終的にポート出力するんです。
よくわからないなあ。
みんなって誰?
考えてってどういうこと?
コードに関しては、書いたものが出て来ない以上話にならないのが現実でしょ。
出してコテンパンにされるなら元の理屈があいまいだったってことでしょう。
コード書いてPICに書き込んでなんぼなのに理屈だけ語られても無意味だと思う。
理屈だけでPICが動くなら誰も苦労しないんですよ。 >>990
もういい加減に、素直になったらどうですか。
答えはわかっているくせに... >>991
その返答って、
具体的なコードにはできません。
という意味にとらえていいわけですね。
ただの机上の空論だと。
それならわかりました。
ありがとうございました。 >>959
すげえなこいつ。
自己申告ながら、3時間かけて誰も見ないAVRのマシン語のコードを書き、わざわざPIC初心者スレに貼る。
筋金入りの荒らし、真正のAVR厨、掃き溜めのゴキブリってやつだな。
冷静に考えりゃ、どっかからのコピペなんだろうけど。
いや、そうでなきゃ、逆に悲し過ぎる。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 148日 14時間 12分 10秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。