トップページ電気・電子
1002コメント428KB
初めてのPIC 0x12
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001774ワット発電中さん
垢版 |
2018/09/19(水) 16:56:18.51ID:F4lNkPz3
PICを触り始めて比較的日が浅いという初心者のためのスレです。
もちろん、日は経っているが自分はまだ初心者という方も大歓迎です。
PIC選びやPICを使った回路設計は誰でも最初は不安なものです。
恥ずかしがらずに何でも尋ねてみましょう。
なお、PIC関係のスレにはもう1つ「PIC専用のスレ」があります。

質問・回答する際は…
 必ずPICの型番と開発環境を明記しましょう。
 プログラムはレス内に直接書き込まず以下を利用しましょう。
  http://codepad.org/

その際心がけることは…
 品格に劣る回答者はスルー(相手すると逆効果)
 素人玄人などと上から目線の回答者は無視
 良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
 回答者のアドバイスで後日解決したら結果報告
 回答者は初心者に優しく
 Atmel買収以降アンチによる荒らしも横行してるので見かけても無視
 (特にスレ立て当初はこぞって荒らしに来るのでスルー)


必要なソフトなど(基本無料)
 統合開発環境 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以降の型番で始めると無理なく始められます。
 最初からPIC32で始めるのもあり。
 MCCの利用でハードルはむしろ低いです。
 http://akizukidenshi.com/catalog/g/gI-11902/
 プログラムの書き込みには書き込み器が必要です。
 持っていない場合はPICkit4などを購入しましょう。
 なお、eBayやAliExpressで買えるPICkit3の中華クローンも十分な性能が報告されています。
 PIC一覧、スペック検索
  ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
  ttp://www.microchip.com/maps/microcontroller.aspx

過去スレ
 0x11 2018/08/05〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1533446166/
 0x10 2018/06/29〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1530265723/
 0x0F 2018/05/01〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1525183933/
 0x0E 2018/02/13〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1518524799/
 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

では、質問どうぞ〜っ
0840826
垢版 |
2019/02/03(日) 21:28:02.68ID:VXTlkivq
PIC32MM0064GPL028でもMCCでやってみた。
LEDは1ずつに減らしたけど。
https://pastebin.com/raw/dDGz3BJP
自分で書く部分はこれだけで、PICが違ってもほとんど同じ。
0841774ワット発電中さん
垢版 |
2019/02/06(水) 14:07:26.18ID:1EvTv2jF
MIFESX(エディタ)でアセンブルプログラム書いて
MPASMでアセンブルして
XIDEにインポートして
PICKIT4を5Vセットして書き込むだけ。
アセンブラはシンプル。動作時間も正確に管理できるし。
突然ウインカー入力が変化したら最初に戻って、スタックをゼロにして・・・
0842774ワット発電中さん
垢版 |
2019/02/06(水) 16:27:50.95ID:1EvTv2jF
ウインカー入力2+ブレーキ入力1で3ビットだから8通りしかない。
8つのパターンテーブル作っておいて入力に応じて選択してジャンプするかデータを吐き出せばよい。
ブレーキ点滅、ウインカ点滅パターンも自在にプログラムできる。
たとえばそれぞれを16行で2秒間にするとか。
0843774ワット発電中さん
垢版 |
2019/02/06(水) 17:48:53.07ID:pRUj94G/
ヘッドライト上(遠)
ヘッドライト下(近)
ヘッドライト・パッシング
スモールランプ
フォグランプ
バックランプ
ウインカー右
ウインカー左
ウィンカー・ハザード
ウインカーのカチカチ音(たとえば小さなリードリレーをオンオフ)
クラクション(例えば圧電ブザー)

輝度調整、流れるウィンカーまで入れるとそりゃもう大騒ぎだな
0845774ワット発電中さん
垢版 |
2019/02/06(水) 21:06:08.82ID:bBekljjD
ID:1EvTv2jF
残念ながら、XC8でという前提の質問なので全く参考になりません。
次からは脳内だけでおやりください、それはあなたの自由です。
ご苦労様でした。
0847774ワット発電中さん
垢版 |
2019/02/07(木) 18:16:33.18ID:/vX6jRmY
>>846
その文字化けっぽいのが気になりますが…。
ファイルをダウンロードしてプロジェクトに読み込んでビルドしてみた限りではエラーは出ません。
MPLABX IDE v5.10
XC8 v2.05
ただし、このサイトを参考にC99->C90は必要でした。
https://neo-sahara.com/wp/2018/08/25/mplab-xc8-compiler-v2-00-%e3%81%a8-mplab-code-configurator-v3-65-%e3%81%a7%e5%89%b2%e3%82%8a%e8%be%bc%e3%81%bf%e5%87%a6%e7%90%86%e3%81%ab%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%82%a8%e3%83%a9/
0849774ワット発電中さん
垢版 |
2019/02/08(金) 03:18:28.47ID:Z1N3tT8m
>>848
IDEとコンパイラのバージョンを書いて。
なぜ回答者が書いてくれてるのに質問者が書かないんだろう。
0852774ワット発電中さん
垢版 |
2019/02/08(金) 09:36:41.40ID:xrIWZg6B
>>850
自分が初心者の頃の心理を告白してんの?w
いやお前は最初から玄人だったよなw
0853774ワット発電中さん
垢版 |
2019/02/08(金) 14:06:38.69ID:eKW2D+53
>>850
で、バージョンを書くと何が露呈するんだろ。

>>851
ならば、>>847のリンク先にあるエラーは出ないはず。
あなたのために自分の環境のバージョンを下げる気はないので、
あなたが最新バージョンにしない限りはバージョンがらみのエラーについては未知数のままです。
バージョンはそのままだとしても、
>ファイルをダウンロードしてプロジェクトに読み込んでビルドしてみた限りではエラーは出ません。
のようにやり直してみてどうでした?
そのサイトのバージョンは2.15、1.32なので普通なら問題無いはず。
0854774ワット発電中さん
垢版 |
2019/02/08(金) 14:11:03.07ID:eKW2D+53
あ、ちなみに、
C99以外は一切変更せず、ビルドして実際にPICに書き込んで、
期待した通りの動作で問題なく動いてます。
0855模型にLED
垢版 |
2019/02/08(金) 17:58:24.09ID:n89aKi6Y
>>853
全く同条件で最初からやり直してみたらうまくいきました
どこかでミスしていたのかもしれないですが原因はわかりませんでした
ちなみにC99という項目は>>848と同じで無いですね

バージョンに関しては一回最新のものではじめたのですが購入した本と同じ動作をしなかったので本と同じバージョンでテストしてます
0857853
垢版 |
2019/02/08(金) 19:21:01.16ID:axfqclxF
>>855
心当たりがあるとすれば、Cleanしなかったからかな、くらいですね。
v2.0の前後を除けば、あまりバージョンを気にした記憶もなく、だいたい最新にしてますね。
Microchipは常に全バージョン入手可能なので…。
0860774ワット発電中さん
垢版 |
2019/02/08(金) 21:56:36.57ID:8RQyuszl
MCCをインストールすると、コメント行の単語にもいちいち赤い下線がひかれて邪魔なのですが、どうすれば消せますか?(16F886使用中なので、現状MCCそのものは使えていない、IDEはv5.10)
MCCを消すのが手っ取り早い?
https://i.imgur.com/muzTsTQ.png
0862774ワット発電中さん
垢版 |
2019/02/08(金) 22:39:53.38ID:W1jDsdh/
>>860
それ、MCCは関係なくスペルチェックなんじゃないでしょうか?
スペルチェックをオフにしたらどうなります?
0863774ワット発電中さん
垢版 |
2019/02/08(金) 22:56:29.25ID:8RQyuszl
>>862
MCCありの状態だと、スペルチェックをオフにすれば消えます。
MCCをPluginsからDeactivateして再起動すると、スペルチェックがオンのままだと表示されず、オフにしたあとオンにしなおすと出てくる、という感じでした。
というかスクロールすると、画面内の位置によって出たり消えたり不安定ですね…

とりあえずスペルチェックはオフのままにします。ありがとうございます。
0864模型にLED
垢版 |
2019/02/08(金) 23:52:01.30ID:n89aKi6Y
>>861
ありがとう
動作変化なしで出来ました
0865774ワット発電中さん
垢版 |
2019/02/09(土) 00:15:01.23ID:W4BS9tfP
>>864
多分、点滅しっぱなしなので次は点滅を止めたいですよね。
^= 1 でなく = 1 なら点きっぱなし = 0 なら消えっぱなしにできます。
あとタイマー割り込みを止めるという手もあります。
この行です。
TMR2IE = 1 ; // タイマー2割込みを許可する
いろいろやってみてまた質問してください。
0867774ワット発電中さん
垢版 |
2019/02/09(土) 16:51:17.28ID:Pa8N6UTA
リレー動かしてるに決まってるだろ坊や
0868774ワット発電中さん
垢版 |
2019/02/09(土) 17:00:46.73ID:7pKQucyp
>>866
映像にも書いてますが、MCCP1のPWMでスピーカーを駆動して鳴らしてます。
音データはプログラム・メモリに書き込んであります。
いまクラクションも準備中w
0870774ワット発電中さん
垢版 |
2019/02/11(月) 15:52:38.70ID:d6hIzFqd
>>869
>今回は「電飾しましょっ!2 PIC編」では触れなかったタイマー割り込みという処理をしています。
とあるから、もう本を見ても参考にならないね。
サイトの記事も、whileのポーリングで検知してるだけだから、限りなく素のタイマーに近い使い方。
0872模型にLED
垢版 |
2019/02/11(月) 18:13:25.40ID:fwc9Rlgi
色んなサイトのプログラムを切り貼りしてなんとか形になりましたがまだやりたい事は達成出来てません
アドバイス頂けたら嬉しいです

http://codepad.org/IaxrCenU
https://i.imgur.com/sraOYrZh.png

出来てない事
・ハザードは時間指定じゃなくてスイッチで点滅維持-停止の切り替えがしたい
・ポジションスイッチを押す度に
消灯 → ポジション → ポジション+ロービーム → ポジション → 消灯
と切り替えたい
・上記が可能になればRB1が空くのでハイビームのパッシングに変更したい
0874774ワット発電中さん
垢版 |
2019/02/12(火) 12:49:18.52ID:6KSf2Bb1
>>872
雑なアドバイスだが、while ループの中で、
スイッチの操作により、現在の状態を表す変数の値のみを変更する。
現在の状態を表す変数の値によってLED の点灯、消灯、点滅の処理をする。
0875774ワット発電中さん
垢版 |
2019/02/12(火) 12:59:59.87ID:Hv1JKHTB
ふとトランジスタアレイ使った方が良いんじゃね?と思った
0876774ワット発電中さん
垢版 |
2019/02/12(火) 18:02:30.18ID:gt+yUVyZ
>>872
>>859>>873を見ればわかるけど、点滅中でも音が鳴っている。
__delay_msを使わずに割り込みでやらないとそうは出来ない。
点滅の処理を関数に書き、割り込みでその関数を呼ぶようにする。
点滅を止めるときは割り込みを禁止にすれば止まる。
他でよほど重い処理をしない限り勝手に点滅していてくれる。
参考にしたサイトが割り込みを生かし切ってないサンプルだから仕方ないけどね。
0877774ワット発電中さん
垢版 |
2019/02/12(火) 19:29:03.70ID:9eZViAbj
>>876
えー?
割り込みから関数呼ぶの?この程度の要求速度で?
しかもPIC8だよね?あなたほんとにPICで割り込み使ったことあるの?
タイマ割り込みでフラグ立ててメインで処理だろ
0878模型にLED
垢版 |
2019/02/12(火) 19:42:21.07ID:Km5c7o+l
>>874
>>876
>>877
ありがとう
でも初心者なので具体的に何をどうすればいいのかちょっと分らないです

>>875
トランジスタの省スペースになるけど点滅回路にはならない?
0879876
垢版 |
2019/02/12(火) 19:56:50.77ID:vVOVwPuP
>>878
>>840にコードがあるから参考に、PICは違うけど考え方は同じ。
>>874>>877の言うことは私にもよくわからない。
>>875は基板作る段階になったら考えればいいこと。
0880774ワット発電中さん
垢版 |
2019/02/12(火) 20:24:13.51ID:TM5VeqME
>>877
それ、僕もその程度の処理で割込み使うかな〜と思っていた。
deley関数使わずに、timerのオーバーフローフラグで、タイミングを取るのは
よくやるよ。
割込みは、通信処理や、LCDの転送処理などにとっておく。
もちろん、Lチカでも、正確なパルス幅で点灯させたいときは、割込み使う。
0881模型にLED
垢版 |
2019/02/12(火) 20:36:47.54ID:Km5c7o+l
>>879
うーん出来るかな?
トライしてみます
0882774ワット発電中さん
垢版 |
2019/02/12(火) 20:51:39.46ID:HHHE0VDv
割り込みは基本だろ
なにも使わなくたって変数カウントアップさせとけ
その変数のbit取り出すだけで何種類もの矩形波が出来る

1024Hz、512Hz、256Hz、128Hz・・・4Hz、2Hzとかだと
2Hzのbitとon信号とandするだけで点滅信号に早変わりだ
サーボの左右、中立位置だって簡単
0883774ワット発電中さん
垢版 |
2019/02/12(火) 21:01:57.64ID:vVOVwPuP
>>880
いろいろよくわからないです。

>timerのオーバーフローフラグで、タイミングを取るのはよくやる
「timerのオーバーフローフラグ」って具体的に何のことで、
実際にはどういう処理をするんですか?

>割込みは、通信処理や、LCDの転送処理などにとっておく。
模型の電飾で通信処理やLCDですか、またずいぶん盛りましたね。
にしても、5つもあるタイマーを使わずに温存する理由にはなってないですね。

>Lチカでも、正確なパルス幅で点灯させたいときは、割込み使う。
割り込み使わなくても不正確になんて出来ませんよね。
これもどういう意味か具体的に教えてください。
0885774ワット発電中さん
垢版 |
2019/02/12(火) 21:57:22.08ID:mjRvREox
>>884
ありうる。
ここで割り込みの話が出たとたんにあちらでもやり出したしw
0886774ワット発電中さん
垢版 |
2019/02/12(火) 22:06:26.76ID:mPmoDWqh
割込は非同期入力に使うことが多いなぁ
キー入力とかインプットキャプチャとか
0887774ワット発電中さん
垢版 |
2019/02/12(火) 22:20:22.67ID:9eZViAbj
>>883
ハードウェアタイマーが満了になったら、ハードウェアが立てるフラグのこと。
そのフラグを見て、例えば1msが100回で0.5sたったら、LEDを点灯消灯するとか、
mainのif分で作る。
その間はLEDは触らない、というようにすれば、残りのCPUパワーをすべて使えるということ

ハードウェアタイマーのフラグでなく、ハードウェタイマーの割り込み処理でソフトで変数を1にして
戻ってきても同じ事

PICの割り込み処理内で多段に関数をコールするとハードウェアの都合で戻って来れなくなる場合もあるので、
不用意に呼ばないほうが良い。

模型の電飾で通信処理は普通に使う。まぁ使うときになるまで考えなくても良い
通信処理と言っても232cなどだけではない。i2cから赤外線までいろいろ
0888774ワット発電中さん
垢版 |
2019/02/12(火) 22:51:20.75ID:mjRvREox
>>887
1.
>ハードウェアタイマーが満了になったら、ハードウェアが立てるフラグのこと。
データシートでは何て言う名前のフラグですか?
調べるので具体的にお願いします。

2.
あなたの言うフラグをmainで見続けるのと、タイマー割り込みで検知するのとの違いは?
mainで見る方がCPUパワー使いませんか?

3.
この程度の要求速度で、と言ったり(>>877)、多段に関数をコールすると戻って来れなくなる、と言ったり、
話の前提が臨機応変にあなたの都合のいいように変わるのはなぜですか?

3.
PIC16F1827で仮にI2Cを使うとして、タイマー割り込みをそのために温存しておかなければいけない理由は何ですか?
内蔵してないからタイミング用に1つ使うにしてもまだ4つ余る計算ですが。
リモコン流用の赤外線通信にするとしてもベースに使うクロックが1つ余分なだけでまだ3つありますよ。
0890774ワット発電中さん
垢版 |
2019/02/13(水) 02:00:35.53ID:VQ4jYiwm
>>877
>タイマ割り込みでフラグ立ててメインで処理だろ

解は一つではない。
メインは空のループにして、全部タイマー割り込みの中でステートマシンで
やったっていい。
0891774ワット発電中さん
垢版 |
2019/02/13(水) 02:18:11.54ID:UY/02QiW
>>887を読んだ感じでは、この人割り込みとかフラグとかを全く理解してないと思う。
>残りのCPUパワーをすべて使えるということ
と書いてるくせにポーリングでフラグを監視するとかおかしなこと言ってる。
それじゃ割り込みの立場が丸つぶれw
0892774ワット発電中さん
垢版 |
2019/02/13(水) 04:08:15.97ID:jZ78Ef0t
>>890
解は一つではない、に補足。
タイミングが必要な所はフリーランタイマーの適当なビットをポーリングするようにして、
割り込みを全く使わず、全部メインのループ内で処理しても良い。
# 6 pin 米粒 PIC なんぞは割り込み機能がないのでこうやるしかないぞ
0893774ワット発電中さん
垢版 |
2019/02/13(水) 07:27:24.27ID:0AYsq5TP
誰も自分の言ってるやり方を唯一の解決方法だと言ってない
delayなんか使う思考してちゃ、この先必ず行き詰るから
割り込みくらいさっさと覚えとけってことだろ
0894774ワット発電中さん
垢版 |
2019/02/13(水) 08:47:50.11ID:jKniwTF0
>>888
1.なんでそんなことまで教えにゃならん
PICの入門盆やらデータシートやらWebやら、タイマーについて書かれてるのを調べろ

2.状況次第。後々に処理追加したくなったときにやりやすくするだけ。
リソースを他の処理が影響なく使えるか影響範囲の少ないようなやりたい方法でやればよい。
別にCPUでグルグルまわってWaitかけようがどうしようが好きにすれば良い

3.論点や趣旨が全く違うことを話してるのに、お前が都合のいいように取っているだけ。

4.そう思ったら使わなければいいし、使いたかったら使えばいいんじゃね?
I2Cともタイマーいくつとも書いた覚えはないし一般論としてハードウェアリソースの振り分けを書いているだけだけど。
0895774ワット発電中さん
垢版 |
2019/02/13(水) 09:43:38.00ID:YishoMEr
>>887
普通の使い方で8段のスタックを使い切る事はまず無いが、割り込みの中で関数呼ぶと変数が化ける可能性があるからな。
0896774ワット発電中さん
垢版 |
2019/02/13(水) 10:02:57.14ID:KUYGa97G
>>891
ポーリングといっても、待ち合わせするんじゃなくて、
処理ループの中で、フラグ立ったら、分岐する手はよく使うよ、
複数の割り込み要因が使う状況で、多段割込み、優先順位とか細かく設定できるなら
シンプルな構造になるけど、8bitのpicだしね。
ただ、mainが空ループで済むのなら、同じことだから、好きなほうでやればいいと思う。

>>892
どうせ安いんだから、アマは、よりリッチなPIC使って、mcc使ってサクっと作る流れもあるけど、
基本の泥臭い手法だと、6pinのpic使えたりするんだよね。

まぁ、一般論として、割込みは、リソース競合とか、デバッグが面倒になる傾向があるから、
慎重になる。

それでも、今回のような、timerによる定期割込みは、安全な手法なんで、どっちでもいいかな。
0897774ワット発電中さん
垢版 |
2019/02/13(水) 13:46:50.95ID:xeLsn9+0
>フラグをmainで見続ける

もうね、、、delay的思考まんま
何かの入力待ちだけのためにループ回して他の処理止めるとか
ほんと世の中に出回ってる糞な入門書のせい
0898774ワット発電中さん
垢版 |
2019/02/13(水) 14:39:28.47ID:g9rgJBh9
>>894
1.調べろ
2.好きにすれば良い
3.論点や趣旨が全く違うことを話してる
4.そう思ったら使わなければいい
素晴らしい、これ以上はない見事な回答だ。

そもそも>>888は質問じゃなくてあんたの無知を揶揄してるんだと思うが、
それすら気付かず立ち位置が回答者側なのがあっぱれだわ。
0899774ワット発電中さん
垢版 |
2019/02/13(水) 15:34:28.65ID:lQniYt0S
>>897
delayとフラグ分岐待ちの違いがわからないということは状態遷移のwaitedStateやsleepとの違いもわからないということかな?
0901774ワット発電中さん
垢版 |
2019/02/13(水) 15:38:18.13ID:aDP6uZm2
>>881
アドバイスしたいのは山々だけど、MCCどっぷりでデータシート見るのも面倒な体たらくなので。
1つだけ言うと、これ
http://codepad.org/IaxrCenU
は明らかに退化だね、delayに頼りすぎ。
>>825の2つを組み合わせるのが一番シンプルになると思う。

あと、あなたは出現が不定期で、空くときは1週間も空くし、
せっかくアドバイスしてもスルーの時があるし、こっちも追いきれん。
そのせいでだいぶ損してると思う。
0902774ワット発電中さん
垢版 |
2019/02/13(水) 15:43:00.60ID:aDP6uZm2
なあ、屁理屈はいいから具体的なコードで示そうよ。
でも>>769は勘弁してな。
0905774ワット発電中さん
垢版 |
2019/02/13(水) 16:27:52.48ID:SY4PqJJQ
>>903
初心者スレとは思えないよねw

>なんでそんなことまで教えにゃならん
>調べろ
>糞な入門書のせい
>無知を揶揄してる
>違いもわからないということかな?
>明らかに退化だね
0906774ワット発電中さん
垢版 |
2019/02/13(水) 16:41:40.70ID:MBE59XX5
>>897
全く同意。
入門書は読んだことないから知らんけど、染まらずに済んでよかったw

>>899
完全な的外れ、割り込みの意義を学んでから出直せ。

>>905
ほとんどは回答者面の連中同士の言い合いだからいいんじゃね?
http://codepad.org/IaxrCenU
が退化なのは事実で、良い指摘だと思う。
0907774ワット発電中さん
垢版 |
2019/02/13(水) 17:36:40.58ID:vdhCrc+9
>>901
まあごもっともだけど本を見ながらやってる全くの初心者なんだからスルーというより理解出来てないんじゃね?
0908774ワット発電中さん
垢版 |
2019/02/13(水) 18:35:43.79ID:jKniwTF0
>>906
イベントドリブンの意味知らない奴に言われてもな

割り込みってのは、入力に対する高速な応答が必要な場合の処理で、
それ以外の何者でもない

電車のLEDの点滅タイミングの同期が内部タイマーの高速応答が必要な処理であれば
割り込み処理内で行うべきだろう
0911774ワット発電中さん
垢版 |
2019/02/13(水) 20:10:14.50ID:jKniwTF0
>>910
タイマー割り込みは、タイムアップやカウントアップなどのタイマー要因に対する高速な応答のためだと思います
それが必要であれば割り込み内で処理しないと駄目じゃないかな

クロックが数MHzに対して、秒オーダーの動作ならタイマー要因をCPUでms毎に監視してても問題ないけど、
そういう目的でのシステムタイマーみたいなのがあったほうが何かと簡単になるよね

元クロックやら必要な時間間隔やらで16bitなのか8Bitタイマなのか、
他にPWMや通信でどういうタイマをどう使うので、選択や使い方がが変わるんだよ>元ネタ質問者さん
0912774ワット発電中さん
垢版 |
2019/02/13(水) 20:20:39.27ID:6niLFAID
>>ID:jKniwTF0
言いたいことが良くわからんな。
Lチカにタイマー割り込みは使うなってこと?
別にええやん、他に使わんのだし…。
PWMや通信するならよけいLチカなんて単純作業は割り込み任せで放置したいでしょ。
しかも、現状1827では通信しようがPWMしようがまだタイマーは余る。
あんたの論点が見えないのよ。
0913774ワット発電中さん
垢版 |
2019/02/13(水) 20:23:34.56ID:6niLFAID
まさか、タイマーが5つもあるPICなんて使ったこともないとか?
PIC32なんか7つもあるんだぜ、しかも16bitよ。
0914774ワット発電中さん
垢版 |
2019/02/13(水) 20:29:30.61ID:8B8q9AKs
ああ、そういうことか。
俺も、コイツが何を必死に言い張ってんのかよく分からんかったけど、
ジジイが、近頃の若者はぜいたくじゃ、と騒いでるってわけね。
納得した。
0915774ワット発電中さん
垢版 |
2019/02/13(水) 20:33:18.21ID:x+ZBQzeb
最初は割り込みの意味さえろくに分かっていなかったジジイが、
少しは学習したと見えるが、かといっていまさら後へは引けず、
割り込みぜいたく論にすがって立ち位置をキープしようと無駄な努力中。
イベントドリブンには笑ったけどなw
0916774ワット発電中さん
垢版 |
2019/02/13(水) 20:44:42.89ID:MoaszjfB
いや
じじいこそ黎明期のZ80理解してるはずだから
割り込みテクニックもイベントドリブン手法もわかるはずだ
>>ID:jKniwTF0 からはその辺の理解度がまったく感じられない
0918774ワット発電中さん
垢版 |
2019/02/13(水) 21:02:40.66ID:1jkOI+0B
>>917
任せっちゃあ任せだけど、
音を鳴らしたり明るさを変えたりするんだから、
ハザードの点滅よりは手数が必要という意味です。
0919774ワット発電中さん
垢版 |
2019/02/13(水) 21:05:03.03ID:1jkOI+0B
>>916
>じじいこそ黎明期のZ80理解してるはずだから
そんな昔から意識の高いジジイだったらここで無知をさらさないよ。
ジジイに高望みしすぎw
0921774ワット発電中さん
垢版 |
2019/02/13(水) 21:27:12.78ID:aUHNsMOz
上の方にもあったけどmainのwhileの中でゴリゴリやるのが趣味ということなんだろうなあ
俺なんかあれが空だとすごく気分がいいから今回のお題ならスイッチ押下も外部割込みとして処理してえ
それはそれで本末転倒だがw
0923774ワット発電中さん
垢版 |
2019/02/14(木) 01:34:38.75ID:Ki6mojrm
>>920
それはAVRの工作員だよ

脱税で逮捕された「青汁王子」
「広告宣伝費は同業他社について批判的な内容をネットに書き込むよう、
別の会社に依頼して支払ったもので、架空の経費ではない」という趣旨の説明をしていたということです。



やっぱ、AVRの工作員みたいなこと仕事にしてる人がいるんだな
0924774ワット発電中さん
垢版 |
2019/02/14(木) 01:43:53.51ID:lUPfd+nd
>>921
そのやり方が正解だと思う。

main()では、LEDのon/offを変数に書くだけで、
タイマー割り込み中で、
・スイッチのチャタリングフィルタ
・mainからのLEDon/off変数の反映
・on/off時間の管理
・状態遷移の管理
をLEDの数だけ行えば良い
0925774ワット発電中さん
垢版 |
2019/02/14(木) 04:07:53.33ID:X6sYjPrg
>>924
状態遷移って何ですか?
ON/OFFしかないのに何が遷移するんですか?
よくわからないのでコードで教えてください、XC8でお願いします。
0926774ワット発電中さん
垢版 |
2019/02/14(木) 04:28:45.53ID:vsJwDtYo
>>925
16F1前提なんだからLATレジスタに保存されるだろ。
わざわざ変数使ってON/OFFを書く意味ねえよ。
おれもあんたのコードが見てみたいわ。
0928774ワット発電中さん
垢版 |
2019/02/14(木) 07:26:43.67ID:lUPfd+nd
>>926
なんでいきなり上から目線なの?
0929774ワット発電中さん
垢版 |
2019/02/14(木) 07:42:49.39ID:EZ6x0V8m
ON/OFFも立派な状態遷移。
マトリックス表だけ考えてるようなら、顔洗って出直してきて。
0931774ワット発電中さん
垢版 |
2019/02/14(木) 09:33:08.89ID:RCs3tfaE
【企業】ジャパンディスプレイ(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のエンジニア「よく日本は素晴らしい技術を持っていると言われますが、ハッキリ事実を言った方が良いと思います。
知識も技術力も現在取り組んでいることも、日本のほうがレベルは低いと思います。

その理由は単純です。
ソニーやパナソニックが元気だったころ、量産体制を作り上げるために、それまで社内で設計していたのを、台湾や中国といった海外に委託しました。
日本は仕様書を書くぐらいしかしなくなり、重要な設計の部分は外国に流れたわけです。

いま日本人の若手技術者は「ここになぜコンデンサーが必要なのか」を理解せずに、
「このコンデンサーを外してはいけない」ということだけを知っているのです。
しかし、台湾や中国の技術者は「なぜ必要なのか」をきちんと理解しています。
設計する技術力は、いま日本ではなく、台湾や中国にあるのです。


ハードを設計したいなら、日本に機会はありません。台湾など技術の高いところでキャリアを積んでいく必要があります。 」
0932774ワット発電中さん
垢版 |
2019/02/14(木) 11:42:15.59ID:oZ8IHv+7
ホントにPICユーザーは何の進歩も無いな。
たかがモデルカーのLED点灯にどれだけ時間が掛かるんだよ。
プロなら「使えない奴」というレッテルを貼られてしまうぞ。
いつも通りにケンカは始めるし、困ると「AVRの工作員のしわざ」と叫んで逃げるし、
これはもう5歳児に説教して貰う必要があるな。
「ボーッと生きてんじゃねーよ!!」w
0934774ワット発電中さん
垢版 |
2019/02/14(木) 12:29:43.58ID:Sw/5SPcN
眺めてる人間は経験豊富かもしれないけどココに質問に来る人間は全く畑違いのやつかもしれないし全くの素人童貞だろうから一を聞いて十を知れといったところで無理な話
教えたい人は教えてイヤな人は見なきゃいいだけ
0936774ワット発電中さん
垢版 |
2019/02/14(木) 12:46:33.08ID:lNkcmVZE
質問者がレスに対してなにも調べずにもっと詳しく教えろというのがダメ。
少なくと調べた結果と見解を述べて次の質問に進まないと。
あとは、定番の群盲象を評すだな。最たるその一見解が
> 割り込みってのは、入力に対する高速な応答が必要な場合の処理で、
> それ以外の何者でもない
0937774ワット発電中さん
垢版 |
2019/02/14(木) 13:31:42.03ID:ZKUOc+GB
厳しいなあw
みんなPICを何きっかけで初めたの?
仕事?趣味?学校?
初心者の頃苦労しなかった?
他社ユーザーが増えて来てるような状況なんだからせっかくの初心者に厳しくせずに助けてあげようよ
0939774ワット発電中さん
垢版 |
2019/02/14(木) 14:13:07.90ID:BX6UYXGH
>>928
で、質問に対する回答はいついただけます?
ググれば出てくるただの用語はどうでもいいんですが、

ON/OFFしかないのに何が遷移するのか
わざわざ変数使ってON/OFFを書く意味

については私もぜひ知りたいです。
今のところ肝心な質問になると全部お茶を濁してますよね。
レス数が900を超えています。1000を超えると表示できなくなるよ。