X



トップページ電気・電子
881コメント324KB
初めてのPIC 0x24 ※顔文字は禁則事項です!
0001顔文字はやめてください。
垢版 |
2022/09/23(金) 23:59:02.16ID:7HCXiEAa
.
  _       _    PICをさわるのは今日が初めて、という超初心者のためのスレです。
  (O>――<O)    PIC選び、PICを使った回路は、誰でも最初は不安なものです。
  / (・) (・) ヽ    恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
  ○ /▼\ ○    質問のしかたは、初心者質問スレの発言1を見てくださいね。
  |(ヽ二フ ) |    
  /  ̄ ̄ ̄ ヽ  
 f ヽ     / |  PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
 ヽ \  / ノ    ・PIC専用のスレ
  | \_ )(_/ !       本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
  |       |       ここの話がわかるようになれば、あなたはもう一人前のPICerです。
  |       |    ・マイコンソフト 悩み事相談室
  |   | ̄ ̄|  |      マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
 (_ノ    ヽ_)

質問するときは…
・PICの型番と開発環境を明記しましょう。
・プログラムは、レス内に直接書き込まず下記を利用しましょう。
 http://codepad.org/ https://pastebin.com/
・解決したら結果報告しましょう。
・ここはPICマイコンのスレです。AVRの自慢話は「AVRスレ」でお願いします。
回答者の先輩は…
・威張らず、偉そうにせず、上から目線にならず、優しく答えてあげましょう。
・顔文字はやめてください。回答内容と顔文字の使用は別問題です。

ハード、ソフト情報
・統合開発環境 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
・PIC一覧、スペック検索
  ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
  ttp://www.microchip.com/maps/microcontroller.aspx
・初心者はPIC16F1以降の型番で始めると無理なく始められます。
   MCCを使えば、最初からPIC32で始めるのもありです。
・プログラムの書込みには書込器が必要です。
  予算に応じてPICkit4、SNAPなどを購入しましょう。
  ttp://akizukidenshi.com/catalog/g/gM-13854/
  eBayやAliExpressで買えるPICkit3の中華クローンも十分な性能が報告されています。

直近スレのご案内
 0x15 https://rio2016.5ch.net/test/read.cgi/denki/1567831628/ 2019/09/07〜
 0x16-0x19 欠番です
 0x20 https://rio2016.5ch.net/test/read.cgi/denki/1596523661/ 2020/08/04〜
 0x21 https://rio2016.5ch.net/test/read.cgi/denki/1617716381/ 2021/04/06〜
 0x22 https://rio2016.5ch.net/test/read.cgi/denki/1636738259/ 2021/11/13〜
 0x23 https://rio2016.5ch.net/test/read.cgi/denki/1652634500/ 2022/05/16〜

では、質問どうぞ
0201774ワット発電中さん
垢版 |
2022/12/04(日) 22:59:19.96ID:TZF7Uysj
>>195
RX-802ASまで行かなくてもFX-950とかならもう少し安いし
中華のT12コントローラにHAKKO T12コテ先を付けるという手もある
最悪FX-600とかだって非温調よりは圧倒的に良い

>>199
そもそも工学の実践的な補助単位の使い方ってどこで習うんだ?
キロとかは義務教育で出てくるけど工学で使用するのに十分な内容ではなかったような・・
あと日本の評価制度の問題もありそうだね。テストで1000を1.000kと書いて○をもらえるかな?
0202774ワット発電中さん
垢版 |
2022/12/04(日) 23:11:23.68ID:QkgnCUsq
>>201
FX-600ね・・・どうもありがとう。
今のはんだごてを買ってる人にどれくらい予算があるか聞いてみます。

そういえば、たしかに大きなものとか小さなものは習ってないかも。
今度から1年生を教えるときに注視しとこう。
でも、キロとかミリが使えないのです。小学校で習ってるはずだと思うんだけど。

ところで1000を1.000kで○がもらえるかはともかく、有効数字の問題もあって難しい。
0204774ワット発電中さん
垢版 |
2022/12/04(日) 23:15:59.32ID:/Rwq3NzR
独り言だけど、
入門用MCU、実用MCUとか議論に何の意味があるのかね
目的によって選択するだけのことだし。
何のマイコンから始めてもさして変わらんし。
どうせMCUやコンパイラにユーザーが合わせるだけだろう?
0205774ワット発電中さん
垢版 |
2022/12/04(日) 23:16:02.80ID:j//U4hTp
学校教育は枠内で終わることが前提になっているものなので、さまざまな要因でとりこぼしが蓄積する。
0206774ワット発電中さん
垢版 |
2022/12/04(日) 23:42:59.15ID:TZF7Uysj
>>202
義務教育だとキロとかミリくらいは習うはずだけどホビーの電子工作だってピコからメガくらいは珍しくもないし
IT系なら上が更に広がってテラなんかも普通に使う
自分は学校でその辺を埋める部分を教えてもらった記憶はないな。忘れているだけかもしれないけど

精密作業をメインとしないなら国内系ならHAKKO FX-600かgoot PX-280あたりかな

ちなみに中華系で
ttps://アリエク/item/1005003373147424.html
みたいなペン型のT12コントローラもある。コテ先温度計が必須(校正がガバっている個体がある)だったり
チャタりやすかったりと難点はあるものの、性能的にはFX-951/FX-950-α相当の実力がありFX-600やPX-280より上
ホビーや教育用なら十分だと思う。アダプタを含めてもステーション型より持ち運びやすいのも○
というかHAKKOもこのタイプを出せば良いのにと思う。作業性はステーション型の方が良いけど常設前提だし
値段以前に学生が購入するにはかなり向かないだろう(中華のT12ステーションも同様)
0207774ワット発電中さん
垢版 |
2022/12/04(日) 23:47:19.60ID:HhtjSnX7
初心者に中華は無理だろう。
そしてプロは中華を避ける。
0208774ワット発電中さん
垢版 |
2022/12/05(月) 03:39:50.21ID:tRx1SC0L
結局、糞delayの代わりにどんな方法を使っているのか、 わからずじまいだったね。 まさかNOPを使えとか、forで回せとかじゃないよな。 文字液晶のライト信号の時間待ちに、新しいやり方が導入できるかと思ったのに。
0209774ワット発電中さん
垢版 |
2022/12/05(月) 05:44:53.42ID:oJ131cYf
DIPジャナイトーのひとは秋月など並んでるのは
産業用のおこぼれが回ってるに過ぎないって事を忘れてる。
産業界でもはやDiPの需要ない。
0210774ワット発電中さん
垢版 |
2022/12/05(月) 07:41:34.98ID:H9qYR1WA
>>209
もし、産業用のおこぼれでDIPの需要がないなら、
なぜ、今なお新製品でもDIP品が製造されていて、秋月でもDigikeyでも並んでいるんだろう。

量産製品向けにも一定の需要があるから半導体部品が製造されていて、
それの一部が小売り市場にまわってきているのだと考える方が自然だと思う。

自分が知っている量産市場だけでDIPの需要がもはやないと考えるのだとしたら浅い。
自分の隣近所のオッサンオバチャンの趣味傾向で世界のトレンドを推測するのと同じように浅い。

具体的なDIPを使う量産用途を知らなくてもいいし知る必要はなくていい。どうせ世の中のすべてのことは知りえない。
部品が現時点で製造されているのは、自分が知らなくても、量産の用途があるからと考えればいいのでは。
0211774ワット発電中さん
垢版 |
2022/12/05(月) 07:46:50.05ID:H9qYR1WA
>結局、糞delayの代わりにどんな方法を使っているのか、 わからずじまいだったね。

delayを批判していた人は、特に代替案もなかったんだろう。
まっとうなことも書けずにうやむやにしてしまっている。
0212774ワット発電中さん
垢版 |
2022/12/05(月) 07:57:03.03ID:U51ngJU2
ああ確かに「DIP品積極的な需要ばない」が正しいかもな。
昔からあるもので今も一定量のオーダーがあるものを細々と古い生産設備で作る。
LTも半導体危機の前から長かったし価格も高い。
元の質問の人は新規品種が欲しいって事だし、そんなのあるかよって答えになる。
0213774ワット発電中さん
垢版 |
2022/12/05(月) 08:16:15.56ID:CBx9Dnl6
DIP+ブレッドボードによるマイコン開発を推奨しているマイコンメーカーはないはず
ブレッドボードの特性上、外部発振子やプログラミングインターフェイスの安定動作が難しいからな
書き込み時にヒューズビットが化けでもしたらチップによってはゴミになりかねない
ブレッドボードを利用した開発でもマイコン回りだけは基板に実装した方が良いと思う
0214774ワット発電中さん
垢版 |
2022/12/05(月) 08:17:12.04ID:H9qYR1WA
>ああ確かに「DIP品積極的な需要ばない」が正しいかもな。
>:
>元の質問の人は新規品種が欲しいって事だし、そんなのあるかよって答えになる。

わりと新しめのPIC16F18126/18146でも、(PICじゃないけど)AVR128DA でもDIPの
ラインナップがあるのにな。

遠い将来まで考えればDIPはいずれなくなるだろうけれど、現時点の入門用を論じるときに
どこまでの遠い将来に終焉することを考慮するかなんて、人それぞれにまかせればいい。

「DIP品積極的な需要ばない」は「山を見て木を見ず」に過ぎないし、
「そんなのあるかよって答えになる」は、>>212が情報に疎いことを説明している。

量産向けの傾向で電子工作や学習の材料を選ばないといけないことなんてない。
量産品にユニバーサル基板が使われている割合なんてとても小さいけれど、
電子工作や学習の材料としては普通に使うよね。
0215774ワット発電中さん
垢版 |
2022/12/05(月) 08:24:32.94ID:H9qYR1WA
>>213
個人的にはブレッドボードは苦手だし、自分の実験には使わない方が良いと思っているが、
要領よく使っている人もいるし、組み換えや使いまわしが多い教育用には別の観点もあるだろう。
アクシデントで発生するデメリットの評価は得られるメリットとのバランスで考えないといけないし、
同じデメリット、メリットでも用途次第で評価も変わるから、部外者にはわからないこともある。

ところで、メーカーが推奨する使い方にいつも従うなら窮屈だぞ。
チップコンデンサはコテ作業が事実上できなくなる。
0216774ワット発電中さん
垢版 |
2022/12/05(月) 11:39:00.63ID:SjX7s9gg
自分の主観でしか考えられない人が意見を言っても受け入れられない。
故障品需要とかあるわけだし、必要とされてるからあるという考え方は出来ないのかね。
0217774ワット発電中さん
垢版 |
2022/12/05(月) 12:22:07.52ID:eyjx69er
PICを使う理由探しなんかしてないで
もっと世界を広げた方が良いぞ
0218774ワット発電中さん
垢版 |
2022/12/05(月) 12:25:38.37ID:eyjx69er
>>208
あなたがやってる方法を書けば良いだけですよ

例えばただのLED点滅でdelayや割り込みを使っているわけでもあるまい
0219774ワット発電中さん
垢版 |
2022/12/05(月) 12:27:28.44ID:eyjx69er
基本的な事を初心者に教えない風潮が
PICが初心者に向いてない理由のひとつ
0220774ワット発電中さん
垢版 |
2022/12/05(月) 12:42:03.34ID:U51ngJU2
毎度思うがDIPホビー秋月 の人たちって数のこと頭に無いよね。
0221774ワット発電中さん
垢版 |
2022/12/05(月) 12:45:59.81ID:PZ4tzyCO
>例えばただのLED点滅でdelayや割り込みを使っているわけでもあるまい
この2つ以外の方法があるの?
1. timer startする main()で仕事する timer割込に呼ばれる LED処理して戻る
2. 待ちたいところで__delay_ms()などを呼ぶ
    ・__delay_us(200);
3. 待ちたいところでグルグルタイマーで待つ
    ・for(a=0; a<254; a++){ NOP(); }
    ・while(a-- <254){ NOP(); }
    ・if(a-- <254){ NOP(); }

2. と 3. は動作上同じことなので、1つと考える。
0222774ワット発電中さん
垢版 |
2022/12/05(月) 14:48:50.30ID:lVB0lm2j
>220
俺みたいにコテ先ブルブルしながら手ハンダする人の数?
0223774ワット発電中さん
垢版 |
2022/12/05(月) 15:41:09.82ID:8MBCLFYc
>>221
500個のキャラがバラバラにアニメーションしながら動き回る
こういうの考えてみ?
アニメの画像を何ms後に変更すればいいか、とか考えるとdelayやループ以外の何かを思いつかないといけない
0224774ワット発電中さん
垢版 |
2022/12/05(月) 15:43:16.66ID:8MBCLFYc
それがわかると、1個や2個のLED点滅も同じ考えで作れる
そうなったときに、初めてdelayって糞だなってわかる
0225774ワット発電中さん
垢版 |
2022/12/05(月) 16:43:40.54ID:H9qYR1WA
ID:8MBCLFYc は話をそらそうとしているね。不誠実です。

単純に時間待ちをする部分における、delay以外の方法が問われているよ。
他に同時に何をするかとか持ち出さなくていいです。それは別の話。
0226774ワット発電中さん
垢版 |
2022/12/05(月) 16:46:10.23ID:XcPy4a1V
どういう内容から説明していくか、という道筋の上で
タイマー割り込みなんぞがしょっぱなに触れねばならぬ話題とは
ぼくは思わんよ。

delayとかNOPで済むよう段階で無理にタイマー割り込みを闇雲に濫用するのは
初心者に対して適しているとは思えんがなぁ・・・
1m秒とか10m秒周期とかで割り込み発生させておいて
共用するのは便利ではあるけど必須というほどのものでもないと思うよ。

馬鹿と鋏は使いようというけど
delayやGOTO文とかもまた然り、じゃね?
0227774ワット発電中さん
垢版 |
2022/12/05(月) 17:14:03.59ID:PZ4tzyCO
>>225
>単純に時間待ちをする部分における、delay以外の方法が問われているよ。
>他に同時に何をするかとか持ち出さなくていいです。それは別の話。
まったく同感です。
ちょっとしたパルス幅を作りたいときとか、usオーダーの待ちは、その場でグルグルします。
タイマー割込でもない、delay()でもないとなると、何でしょうかね。
そもそも1msとかのtimer0を走らせておいて、mainでflagを立てて、
timer0で毎回flagを確認して、規定値から--して、0になったらup_flagを立てる。
mainでは毎回そのflagを見て時間待ち終了とする、
みたいなのはやったことあるけど、細いパルス作る時にそれは無いだろうし。
ポーリングしてる段階で、delay()とあんまり変わらないと思う。

あとはmainの先頭でタイマ待ちして、タイマupしたらmainを上から下まで1周のみ処理し、
再び次のタイマupを待つ、というのもあります。
状態遷移っぽく使えて まるでFPGAみたいに、クロック毎に動作するmain()。
これも気に入って使っていたけど、処理時間のためにmain1周の時間が速くできず、
10ms毎の処理しかできなくて、やめた。

delay()の代替手段を知っているような書込内容なので、ぜひ教えて欲しいと思っています。
0229774ワット発電中さん
垢版 |
2022/12/05(月) 18:04:57.98ID:eyjx69er
本当に知らないヤツがいるようだね
ごくごく普通の時間管理
0230774ワット発電中さん
垢版 |
2022/12/05(月) 18:09:30.31ID:eyjx69er
PICがMCUのソフトの学習に向かない事が
大変よくわかります
0231774ワット発電中さん
垢版 |
2022/12/05(月) 18:32:00.81ID:ywXSO9a2
基本的な事項を知らない人
煽れば答えを得られると思ってる人
知ってても教えない人
根拠なく自分の技術は凄いと思ってる人
根拠なくPICは優れていると思ってる人

PICユーザーはこんなのばかり
0233774ワット発電中さん
垢版 |
2022/12/05(月) 19:03:47.73ID:PZ4tzyCO
>>228
>あなたは今までどうやってたの?
>ただのLEDの点滅処理
LEDの点滅だけだったら、__delay_ms()でやっています。
0234774ワット発電中さん
垢版 |
2022/12/05(月) 19:05:00.09ID:ywXSO9a2
基礎の基礎を知らないようなヤツが居座って偉そうにしてるスレ
他にあるか?
0235774ワット発電中さん
垢版 |
2022/12/05(月) 19:07:34.68ID:ywXSO9a2
>>233
LEDの点滅だけの為にCPUを使うの?
あり得ない仮定を前提としたコードに何の意味がある?
0237774ワット発電中さん
垢版 |
2022/12/05(月) 19:28:59.51ID:ywXSO9a2
もう一度書いておく
PICがMCU入門に向いてない理由

・世の中にあるサンプルコードが糞
・ROM, RAM, CPU, 周辺,全てがチープ
・エラッタが多い
・安価なボードが無い、少ない
・PICマニアの民度が低い
0238774ワット発電中さん
垢版 |
2022/12/05(月) 19:47:24.80ID:8CuDwpNm
>>233
君はカップラーメンに湯を注いで3分待つ間に何してる?
なーんもしないやつがdelay
0239774ワット発電中さん
垢版 |
2022/12/05(月) 20:36:51.31ID:PFZmwi5W
TIMERの割り込みとなんら変わりないんだが、
割り込み無効にしておいて

TMR2 = 0;
TMR2IF = 0;
TMR2IE = 0;
TMR2ON = 1;
while(TMR2IF == 0);
TMR2IF = 0;

みたいなことはできるぞ。
割り込みと違って、わずかにジッタが発生する可能性があるが。
0240774ワット発電中さん
垢版 |
2022/12/05(月) 20:40:09.35ID:VVz/eRog
信頼性や再現性の面でもブレッドボードはユニバーサル基板に劣る
少なくとも電源(パスコン)、プログラミングインターフェイス、外部発振子は基板(ユニバーサル基板可)に実装すべき
義務教育等で実装に際してスキル的な不安があるのであればArduino Nano的なのを利用した方が良い
高等教育以上で電機系を取っているにもかかわらずその程度の実装すら出来ないのは別の意味で問題があるし
大学でメーカーの設計ガイドラインガン無視がふさわしいとも思わない
0241774ワット発電中さん
垢版 |
2022/12/05(月) 21:53:41.36ID:H9qYR1WA
入門用に適さない、というデメリットがこれだけある、という主張なわけだけど、仮にそれが事実だとしても、
ソースコードの平均レベルを押し下げるぐらいに入門者が使っているのは仮でもない まさに事実。
とすると、デメリットを上回るようなメリットがあるのだろう、というのが結論ということになるね。
あるいは、ほかの環境が、入門用としてPICに及ばない要因があるからだろう。
0242774ワット発電中さん
垢版 |
2022/12/05(月) 21:55:15.09ID:PZ4tzyCO
>>238
>なーんもしないやつがdelay
LEDの点滅だけという前提で、他にすることが無いから、
delay()で良いのではないですか?
0243774ワット発電中さん
垢版 |
2022/12/05(月) 21:59:51.17ID:H9qYR1WA
>>240
一面で評価をしたら一面での結論にしかならないよ。
あなたでも、ブレッドボードを選ぶ人の立場で選択をすれば、おそらくブレッドボードを選ぶことになる。
いや、それでもブレッドボードは選ばない、と言うかもしれないが、それはブレッドボードを選ぶ人の立場になっていないからだよ。
0244774ワット発電中さん
垢版 |
2022/12/05(月) 22:03:08.96ID:H9qYR1WA
日常生活は、基本がマルチタスクで動いている。それと8ビットマイコンを同列に語るのはちょっとあたまおかしい。
0246774ワット発電中さん
垢版 |
2022/12/05(月) 22:28:45.29ID:ywXSO9a2
もしLEDの点滅以外の処理を追加したくなったら
大幅にコードを変えるの?
バカなの?
0247774ワット発電中さん
垢版 |
2022/12/05(月) 22:33:09.38ID:H9qYR1WA
>LEDの点滅だけの為にCPUを使うの?
>あり得ない仮定を前提としたコードに何の意味がある?

LEDの点滅だけにdelayを使うことは、「LEDの点滅だけの為にCPUを使う」とイコールではないよな。

LEDを点滅させるのにマイコンを使っている例が「ない」と言えるのかな?
自分がしないことと、世の中でそれが行われていないかどうかは、同じにしてはいけない。
0249774ワット発電中さん
垢版 |
2022/12/05(月) 22:38:35.02ID:H9qYR1WA
少し機能を追加するなら小幅にコードを変え、大幅に機能を追加するなら大幅にコードを変えるのは当たり前。
もっと大幅に変えるなら、マイコンも変えることになるだろう。どのあたりまでを想定するかは条件次第。
0250774ワット発電中さん
垢版 |
2022/12/05(月) 22:41:48.52ID:ywXSO9a2
delayで点滅処理なんか書いたら
少しの機能追加でも大幅変更だろ
0251774ワット発電中さん
垢版 |
2022/12/05(月) 22:42:42.94ID:H9qYR1WA
LEDを点滅させたいのですが、と初心者が言えば、マイコンを使えと多くの人が言うのにね。
0253774ワット発電中さん
垢版 |
2022/12/05(月) 22:51:28.66ID:qzRDug/1
今日も盛り上がってる \(^o^)/
PIC信者としてはとても嬉しいぞ!
0254774ワット発電中さん
垢版 |
2022/12/05(月) 22:56:31.89ID:H9qYR1WA
>>250
ちょっとのことで大幅に変更が必要になるようなdelayの使い方しか想定できないなら、
ちょっとのことで大幅に変更が必要になると考えるしかないのでは。

個人的には凝ったことをするなら、ほかの選択肢を考えるけれど、入門でそもそも凝ったことをするかな、って気がする。
特に学校や実験スクール、クラブなどで、いろいろな取り組みの中でのマイコン体験だったら、どこまで踏み込むかは
とりまく諸条件、指導者や本人次第でいろいろ。

それにさ、delayやそれに準じるソフトウェアループの待ち時間関数が、一部の人が執拗にディスるぐらいに本当に害悪が
あるものだとみんなが考えているとしたら、いろいろなマイコンの標準的なライブラリには含まれないさ。
0255774ワット発電中さん
垢版 |
2022/12/05(月) 23:02:39.66ID:H9qYR1WA
>>252
「喫煙者の権利も守ろう」と言ってる弁護士は喫煙者だ。って考える人なのかな?

単純すぎないか?

「喫煙者の権利も守ろう」と言ってる弁護士が嫌煙者であっても不思議はないわけだが。
0257774ワット発電中さん
垢版 |
2022/12/05(月) 23:15:09.42ID:H9qYR1WA
知っているか知っていないかのイチゼロの話をする人は相手にしないよ。
0261774ワット発電中さん
垢版 |
2022/12/05(月) 23:22:52.41ID:VVz/eRog
用意されているんだからgets使えば良いじゃないくらいナンセンスな理論だな
一般的に望ましくない副作用を評価していない。知っていて無視しているのかもしれないが
0262774ワット発電中さん
垢版 |
2022/12/05(月) 23:36:34.44ID:VVz/eRog
重要なのはイベントドリブンになっているかであってdelay()の有無ではない
またdelay()の使用により望ましくない副作用が発生しないなら問題にはならない
0263774ワット発電中さん
垢版 |
2022/12/05(月) 23:38:29.46ID:qzRDug/1
>>259
そんな寂しい事いわないでよ〜 ( ;∀;)
学ぼうとはしてるんだよ、頭が悪くて中々覚えられないんだよ〜\(^o^)/
0264774ワット発電中さん
垢版 |
2022/12/06(火) 02:17:06.32ID:2EXBP0ke
>>263
お前、うるさい
0265774ワット発電中さん
垢版 |
2022/12/06(火) 07:09:33.39ID:J/MAMWXF
gets()は新しい規格だと標準ライブラリから外れたんじゃなかったか。

sprintf()やstrcat()とかもそのうち外れるかな。(さっき調べたら、snprintf()も非推奨って話があった)
ライブラリの安全性が議論されるのは良いけれど、小さいマイコン向けのコンパイラが「規格」についていくと
矛盾もでてきそう。
0267774ワット発電中さん
垢版 |
2022/12/06(火) 08:14:44.75ID:fG3KMrfd
getsはC11で排除されたがC11縛りのプロジェクトってどのくらいあるんだろうね
0268774ワット発電中さん
垢版 |
2022/12/06(火) 08:52:45.09ID:yG4MmWL6
>>262
じゃあさ、簡単な3重奏のプログラムをdelayで実現してみて

音楽データはmidi形式で3つ与えられてるとして
その3つを同じタイミングで再生するの
もちろん3つは同じ楽譜ではないし64分音符まで表現できるように
0270774ワット発電中さん
垢版 |
2022/12/06(火) 10:43:11.08ID:9ii6ctwd
262さんは、
delayを用いることで副作用が生じない用途には
delayを用いる事は問題とならない
(つまり delayの有無はダメプログラムであるかどうかの試金石として用いるのは
妥当とは言えない)と仰ってるのであろうとおもうから
delayに一切の副作用は生じ得ないと言っているわけではないでしょう。
にも拘わらずdelayで三重奏のプログr・・・いや、ストローマン論法は
どうかとおもったが、三重奏の内容が固定内容ならdelayで問題ないか(^p^;
0271774ワット発電中さん
垢版 |
2022/12/06(火) 11:14:15.22ID:yG4MmWL6
>>270
Aだけ渡されて作った後に
B渡されたら既にAのみプログラムが破綻するじゃんw

そういう作り方がdelayの副作用
0272774ワット発電中さん
垢版 |
2022/12/06(火) 12:08:22.97ID:ZiRdDJMu
2つの事を同時に出来るんですか?って言った人が居たって聞いた
0273774ワット発電中さん
垢版 |
2022/12/06(火) 12:29:53.62ID:8nZTpdZC
LEDのパターン点滅とか
キーのサンプリングとか
よく使う定型文で
1回作っておけば使い回しが効くのにねえ

メインループでも割り込みでもスレッドでも
PICでもAVRでもARMでも
ほとんど同じコード

糞コードを参考にしちゃったら
毎回考えないといけないね
0277774ワット発電中さん
垢版 |
2022/12/06(火) 15:16:56.31ID:a7v2ngow
ディレイ処理って、
 クロック数が希望するだけ進んだら処理する
以外の方法は無いよね?w

冗談はともかく、少し変ったSWチャタ除去用ディレイ処理のサンプル
https://pastebin.com/ZYFYsR3S          by D.G.
0278774ワット発電中さん
垢版 |
2022/12/06(火) 15:57:15.41ID:9ii6ctwd
ぼくが使ってた頃のPICはスタックの深さやファイルレジスタの空間が
(H8とかに比べて極端に)少なかった印象だけど
きょうびのPIC使いはMIDIファイルとかPICで扱ってるん? ごいすー
あれか、dsPICとかつこうとるん?
0280774ワット発電中さん
垢版 |
2022/12/06(火) 17:27:45.77ID:K2hHN5ZM
もうやめよう、この話。
またいつもの方向に行くだけだと思う。
0281774ワット発電中さん
垢版 |
2022/12/06(火) 18:54:20.99ID:zkzduiKR
大学生のはんだゴテの話が出ていたけど実習でT12コントローラを作れば一石二鳥じゃね
電圧変換、安定化電源、増幅回路、半導体スイッチング、フィードバック制御、ユーザーインターフェイス、校正・・・
等々結構な要素を学べかつ実用的なガジェットだ
0282774ワット発電中さん
垢版 |
2022/12/06(火) 19:36:30.23ID:PX0x347J
上にリエントラントな関数が書かれている。
PICではなさそうだし、こいつの書いた関数でもなさそうだが、MPLABXで割り込みからもノーマルでもアクセスする関数って、最近のでは勝手に関数のコピーが作成されるんじゃなかったっけ。まあグローバル変数を参照してればそれはコピーされないと思うが。
0283774ワット発電中さん
垢版 |
2022/12/06(火) 23:56:13.06ID:AVFXeoNv
ディスパッチャ君はスレッドセーフという概念も勉強しないと
0284774ワット発電中さん
垢版 |
2022/12/07(水) 08:06:49.03ID:Fq4K8/l3
delayに準じるようなしくみで時間待ちをすることは、特に初期化段階では多用されるしね。

それにLED点滅のようなとっかかりのところで、点滅周期を変える方法として最初に使われる手法としても一般的。
Nucleoやmbedを使った学習をしているところでも最初はそんな感じだよ。

PICに限ったことでもないのに、これをPICに関連づけてPICを批判する材料に使うのは「日本人はウンコをする。汚い」って言ってるようなものだ。

PICに特に多い、と屁理屈を言う人もいるけれど、初学者が使う手法だと考えれば、PICでマイコン入門をする人が多いことの裏返し。
PICでないマイコンで入門する人が多くなれば、同じようにそのマイコンでdelayとそれに準じる手法が使われる例が増えるだけのこと。

PIC16のようなプアなマイコンが入門用としても人気があることにいら立ちを感じる人がいることも理解できるが、
だからといって、こじつけも含めてPICのまずいところを責めても、そうやって責める人の人間性が露わになるだけじゃないですかね。
PICが選ばれているのはPICのメリットが理由なんだし、そのメリットは部外者は分かる必要もなくて、選ぶ人が考えればいいこと。

ほかのマイコンが選ばれるように、ほかのマイコンが変わればいいんだよ。
特に指導者が、妥協も乗り換えの苦労もなく、よりよいものに乗り換えられるような環境やサポートがあればいいのではないのかな。
そうすりゃ晴れて、ほかのマイコンでdelayが使われるコードがPIC以上に大量に出回るようになるよ。
0287774ワット発電中さん
垢版 |
2022/12/07(水) 08:21:10.32ID:Fq4K8/l3
>>285
ほかのマイコン「○○」で「初期段階が永遠に続くのが○○ユーザー」と言われるようになるといいね。
0288774ワット発電中さん
垢版 |
2022/12/07(水) 08:27:36.08ID:OaqAFLH5
データシートの「たった○○個の命令」ってのを思い出した

自虐の方向が同じ
0289774ワット発電中さん
垢版 |
2022/12/07(水) 08:52:06.98ID:xW970QzJ
>>285,286
今日も興奮してるみたいだけど、何か良い事でも有ったのかい?(#^^#)

何を語るにしても、もう少し「具体的な・説得力の有る・十分な根拠に基づいてる」を意識して書かないと
主張してる内容に関係なく薄っぺらく思われると思うの
発言者に十分な信用が有れば短い文章でも説得できると思うが、匿名掲示板では信用が無いので薄っぺらい発言では不十分だと思うぞ!
たぶん\(^o^)/
0290774ワット発電中さん
垢版 |
2022/12/07(水) 08:55:05.95ID:EAWxyuuM
>>272
PICぐらいのコストなら 処理上の
必要数に応じて基板上に二個三個と
タスク数相当の石を実装すればいいんじゃね?
PICのPは周辺回路のP、周辺で いごき 支えるのが
ペリフェラルの本懐というものでせう(^p^)カカカ
0291774ワット発電中さん
垢版 |
2022/12/07(水) 09:24:43.41ID:+eSNB6QR
例えばこのプログラムの処理時間いくらか?って計算する処理するだろ?
時間測定して引き算して結果出すとか

そうやって時間計測できるなら
次に、LED点灯時間を〇秒にしたいってときに
delayなんか使わずに、その時間計測システムと比較命令で実現できるだろ?
そしてそれはいちいちループかけたりCPUを止めずに出来るってわかるだろ?

そうすると自由度が一気に拡がって複雑なことを同時にいろいろできるようになる
0292SHとかでそういうならどうぞお好きに、と思うが
垢版 |
2022/12/07(水) 09:31:24.56ID:EAWxyuuM
タスクディスパッチャ爺さまが
尻尾巻いて逃げる程に浅い
PICのスタック深度なまんな(^p^)
0293774ワット発電中さん
垢版 |
2022/12/07(水) 09:37:19.64ID:+eSNB6QR
おもちゃのロボット動かすときに
各関節を同時にどれだけ動かすかって独立して計算して止めてる
それってカウントして比較して止めてることを同時実行してるだけ
そのカウンタを時間に替えるだけなのに
なんで時間の制御の場合だけはdelayが幅を利かせるのか?
0294774ワット発電中さん
垢版 |
2022/12/07(水) 09:46:08.98ID:Fq4K8/l3
最初からそうすればいい、って言う人がいるけれど、段階を踏んで学習する方が結果的にいいことが多いんだよな。
だから小学校、中学校、高校と、同じことがらについて、繰り返し、でも、より深く学習するんだ。

自分や自分の周りの人の学習の成功体験をもって、こういう学校のやりかたを非効率的だという人がいるけれど、
学校で教えてみたら、いろいろな人がいて、ダルい学校のやり方に一定の経験則の裏付けがあるんだなとわかる。

それに、マイコンのセンスがない人や、マイコン自体を学習したくない人だってマイコンを使いたいと思うわけだしね。
ヘタなプログラムがあふれるのは、そういう多様な人に受け入れられている証拠。

Arduinoでも、Nucleoでも、初学者向けの最初のプログラムがソフトウェア遅延をつかったLED点滅が多いのは、
それが大多数向けの平凡な入門プログラムとして優れているからだと思う。
0295774ワット発電中さん
垢版 |
2022/12/07(水) 10:07:32.30ID:BnRFE2BA
技術とかどうでもよくてただ人より高い位置にいて見下したいだけだよな
0297774ワット発電中さん
垢版 |
2022/12/07(水) 12:19:28.56ID:SZPmblkq
>>294
一番最初のコードはDelayでも良いけど
そんなのは最初の5分で良い
頭が悪くてもせいぜい1日

せめて2日目からは普通に使えるコードを書こうよ
簡単なんだから
基本の基本は10分で学べる

箸の持ち方を教えるのに
「最初はグーで持てば良い」って言い続けてる感じ
0298774ワット発電中さん
垢版 |
2022/12/07(水) 12:54:22.15ID:IWVEqXtW
>>297
たとえば、その実例コードを見せてもらえませんか?
0299774ワット発電中さん
垢版 |
2022/12/07(水) 12:55:55.61ID:NHCSjQFm
最初がBASICで今風なパラダイムの理解に苦労した自分としては
いくら簡単でも技術的な合理性に乏しい入門ルートはオススメしかねる
問題を先送りしているだけだしな
0300774ワット発電中さん
垢版 |
2022/12/07(水) 14:21:43.96ID:IWVEqXtW
PICの本を読んでいて質問があります。
↓この回路を見てください。
https://imgur.com/vAeIIoa.jpg
技術評論から出ている後閑先生の本のOP AMPの説明のページです。
質問は
1 「上書き入力選択」の上書きとは、何のことでしょうか。
2 出力の手前にあるスイッチは、どんなときに使用するものでしょうか?
 (回路で、OP AMPの出力を切断するときがわかりません)
レスを投稿する


ニューススポーツなんでも実況