16/03/04 03:21:17.78 1zfmgxa3.net
>>445
スレチだが暇だから答える
"every 8ms"は英文を素直に読めば「8msごとに」実行だから前者だと思う。
先輩は「8msの間隔をあけて」と解釈したのかもね。
でもそれなら"at 8ms intervals"という風に書くと思うので。
英文だけではなくて、ハードを含めた他に示されている仕様や条件からもよく読み取ってください。
457:774ワット発電中さん
16/03/04 03:29:14.51 x+LPtgEu.net
>>445
every 8msという表現なら後者です
つまり処理と処理の間を8msあけろ、と言う意味です
458:774ワット発電中さん
16/03/04 05:51:56.10 brZ51gzi.net
先輩登場?
459:774ワット発電中さん
16/03/04 10:16:15.02 YikbjIwg.net
MPLABXで出力イメージ名って変更できないのか。
ググったらビルド後マクロでDOSコマンドでコピーする方法があったけど
ブートローダー込みのunified.hexに対応できない。うがーっ
460:774ワット発電中さん
16/03/04 10:55:30.04 pyeyFp5X.net
今から、PIC24FJ64GB002でBT接続で遊ぼうと思っている
arduinoにUSBシールドの方が禿げないかな。。。
461:774ワット発電中さん
16/03/04 12:05:31.98 reedTp7l.net
日本語で
462:774ワット発電中さん
16/03/04 12:13:57.62 NkLnszYJ.net
>>449
makeファイルを編集すれば良いと思う
463:774ワット発電中さん
16/03/04 14:24:16.24 YikbjIwg.net
>>452
makeって編集しても自動生成で元に戻っちゃわね?
~\MPLAB.X\nbproject\Makefile-PICxxxxx_PIM.mkは修正しても戻っちゃう
でもヒントになって一応汚い方法で解決した、
Loadablesにブートローダーを設定した時のmakefileで増えるhex作成(hexmate)を
ビルド後マクロのDOSコマンドにコピーして自力でhex作成、Loadables設定は消した。
464:774ワット発電中さん
16/03/04 21:03:10.64 NkLnszYJ.net
>>453
自動生成をオフにできたはず。
465:774ワット発電中さん
16/03/04 21:16:04.62 YikbjIwg.net
>>454
うーむ、自動に慣れると面倒そうだねw
設定や構成をちょこちょこ変更しているうちは自動がいいかな
プロジェクトが落ち着いて微修正だけになったら良いかもしれん
466:774ワット発電中さん
16/03/06 05:09:11.88 kORd0frT.net
初心者ですが教えてください。
PIC24FとPICKit3でICSPで書き込んでいます。
回路を作ったので、早速書き込もうとPICKIt3を認識させました。
PICKit3は認識できたのですが、その先のPICを認識しません。
当然プログラムも書けません。
回路は、ICSPのPGED, PGECのピンもI/Oとして使いたいので、
にデジタルトランジスタ(PNP)を付けています。
PIC PGED------------(B)デジトラPch(E)------ +5V
デジトラは東芝のRN1201(4.7k-4.7k) です。
467:774ワット発電中さん
16/03/06 05:55:00.07 Tqn+WTJI.net
PchのデジトラとかPNPのデジトラとか大丈夫かよ。
そこに原因があると思うならデジトラを外してやってみたら?
468:774ワット発電中さん
16/03/06 06:18:52.78 OJ2i4PE8.net
デジトラって言うのはよく分からないけどとりあえずそれが壊れてるかもしれないから
外してみたら?それで問題なく動くようならデジトラが壊れてるって事でしょ
469:774ワット発電中さん
16/03/06 07:05:44.02 B7WT6HaR.net
PGC/PGDって双方向通信でダイオード入れるのもNGじゃないっけ?
470:774ワット発電中さん
16/03/06 09:42:28.98 OoCgFVOy.net
PNPのデジトラのBは内部抵抗で5Vにプルアップされてるねぇ
471:774ワット発電中さん
16/03/06 09:59:28.03 J5fe6bIP.net
>>456
PCEDに、最初に特定のビットパターンを送って、書き込みモード等に入るから、プルアップしてはだめ。
472:774ワット発電中さん
16/03/06 09:59:34.98 rshvqe1e.net
473:>>456 書き込みの配線はあってるの? 外せるなら一度全部の配線を外して確認してみてはいかがかと
474:774ワット発電中さん
16/03/06 11:51:58.78 JfAnGWFA.net
MAPLAB-Xの使い方で分からないところがあるので教えてください
PICに温度センサーを繋いだ場合と湿度センサーを繋いだ場合で
core.cは共通、温度センサの場合は ondo.c を使用、湿度センサの場合は temp.c
を使用します
1
475:つのプロジェクトフォルダにこれらをまとめる場合、MAPLAB-IDEだとプロジェクト ファイルmcpを複数作ってcore.cとondo.cを含む proj1.mcp と、core.cとtemp.cを含む proj2.mcpを作る事で対応していました 同様の事をMAPLAB-Xでやるにはどうすればいいんでしょうか?
476:774ワット発電中さん
16/03/06 15:24:47.15 Gp863c7o.net
>>456です。
みなさん、ありがとうございます。みなさんのアドバイスのおかげで、
無事に直りましたので、結果をご連絡します。
1. 書込出来なかった原因
私の配線ミスで、ICSPの線のうち本がGNDに落ちていました。
直したら、あっさり動きました。トホホ。
2. PNP(Pch)デジトラの影響
デジトラがあっても、無くても、失敗ゼロで書込が出来ました。
でも、波形を見ておかないといけないと思い、手持ちのオシロで波形を撮りました。
URLリンク(imgur.com)
上側の波形が、デジトラ付きの状態です。
デジトラの内部抵抗と、PICKIt3の内蔵抵抗の綱引きで、2Vくらいに浮き上がる期間がありますが、
PICKit3の出力Bufferが起動すれば、デジトラがあっても、完全にGNDまで落ちています。
下側の波形が、デジトラを外した状態で、もう2Vの浮き上がりは見られません。
この期間は、PGCとPGDの線は、PICKIt3の内部で4.7k程度でpull downされているようです。
>>461の言うように、プリアンブルっぽい動作をすると予想しますが、
出力Bufferを使わずに行うとは考えにくいので、もしかしたら、
あの期間だけなら2V浮いても良いのかもしれません。
でも、PICKit3が何をしているのかわかりませんので、ICSPと関係無いピンに変えました。
ICSPの信号線は、専用で使って、触らないほうが良いかもしれません。
みなさん、どうもありがとうございました。
477:774ワット発電中さん
16/03/06 18:26:59.12 Tqn+WTJI.net
>>456
RN1201はNPNトランジスタだけど本当に大丈夫なのかな?
それからバイポーラトランジスタにPchはない。
478:774ワット発電中さん
16/03/06 18:52:15.41 Gp863c7o.net
すみません、間違えました。
RN2201でした。
デジトラでも、PとNはあるので、Pchという言い方はアリだと思う
479:774ワット発電中さん
16/03/06 18:53:40.37 HUo3DXoX.net
アリ、ナシでいえばナシ
PNPもNPNもバイポーラですからキャリアは正負両方あるので
480:774ワット発電中さん
16/03/07 02:28:47.97 EmWUGMgX.net
>>464
個人でそのオシロ持ってるのか?
481:774ワット発電中さん
16/03/07 04:14:44.29 r2dayf91.net
今時個人でオシロやロジアナ持ってても珍しくもなんともないだろ
482:774ワット発電中さん
16/03/07 05:11:46.89 FvSqBKTA.net
>>464
デバッグにも使えるから、ピンに余裕有れば、専用にしておいた方が良い。
483:774ワット発電中さん
16/03/07 15:35:34.65 3B5FGGEB.net
PIC18+XC8で開発をしています
シリアル受信データが最上位1bitがフラグ、下7bitが値のような場合に今までは
a = (x >> 7);
b = (x & 0b01111111);
みたいに書いてaの値で条件分岐していたんですが、先輩から「このような場合は
ビットフィールドを使った構造体をストラクトして使ったほうがオプティマイザが
オプティマイズドしてくれるのでより上質なバイナリになる」と指摘されました。
実際さまざまな角度から検証した結果、ビットフィールドを使った方はBTFSS命令を
使ってよりスマートな最適化がされていました
484:774ワット発電中さん
16/03/07 15:36:08.53 3B5FGGEB.net
さてここからが質問の本題です
485:774ワット発電中さん
16/03/07 15:39:22.60 3B5FGGEB.net
こういう感じの「コンパイル後に出力されるバイナリの最適化具合まで想定した
上でのより良いC言語でのコーデングノーハウ」みたいなのが集め
486:られている ページはありませんでしょうか? あるいは「こういうケースではこっちの記述をした方がコンパイラがより最適な コードをオプティマイズドする」みたいなコード例が集められたサイトです
487:774ワット発電中さん
16/03/07 15:50:19.93 jkPWbvtZ.net
教える事も先輩の仕事の一つなのでどんどん聞くべし。
488:774ワット発電中さん
16/03/07 16:50:34.55 NXluu/Ga.net
質問です。教えて下さい。
Cで、
a = (x >> 7);
と記述すると、実際のPIC CPUでは、どのように処理されるのでしょうか?
真面目に7回シフトするのでしょうか?
それとも、
7bitシフトするようなアセンブラ命令があるのでしょうか?
489:774ワット発電中さん
16/03/07 17:07:32.59 u7jx4Nys.net
>473 そういうページの、存在を知らない
>475 よくしらんけど、ローテート命令七回実行するだけじゃないの?
ていうかそもそも、7ビットもシフトせんでも
a = (0 != (0b10000000 & a)); て書けば済む話だと思うけど…
490:774ワット発電中さん
16/03/07 17:14:30.31 NXluu/Ga.net
>>476
ありがとうございます。
僕もそう思いました。and取って、0か否かで良いと思います。
491:774ワット発電中さん
16/03/07 19:26:03.76 7Kb3creI.net
16ビットシリーズだとバレルシフタ持ってるので1個のシフト命令になるんかな
8ビットシリーズだと、オプチマイザの仕事次第な気がする
人間オプチマイザ的にはマスクしてからキャリ込みの左ローテート2回とか、ビットテスト命令とか?
492:774ワット発電中さん
16/03/07 19:33:03.06 1wIC/M9Q.net
>>478
バレルシフトになるよコンパイラがアホじゃなければ
a代入条件式に渡すだけならif (x&0x80)だけでいいし
つーかアセンブラ出力確認すれよ
493:774ワット発電中さん
16/03/07 20:17:02.30 NXluu/Ga.net
なるほど、<<2 は、賢いやり方ですね。
494:774ワット発電中さん
16/03/08 03:08:47.97 E9MRYZKO.net
XC8で
「hex contains code that is located at addresses that do not exist」
という警告が出るのですがこれは無視しても構わないんでしょうか?
というかなぜこの警告が出るのか全く理解出来ないんです
495:774ワット発電中さん
16/03/08 06:41:19.08 aN8434cc.net
有り得ないアドレスにコードが置かれてるからそれ注意してくれてるんだろ。
CPUの型番指定間違ったとかないか?
496:774ワット発電中さん
16/03/08 06:53:32.68 NDYDCxHE.net
質問失礼します
PIC16F1827マイコンの2端子から極性が反対の波形のPWMを出力したいと思っています
データシートを読む限り、ステアリング機能で出来るんじゃないかと考えたのですが、出力が反転しません
PSTRレジスタでP1AとP1Bの出力を有効、極性はCCPxの<1:0>で設定するとあるのですが……
PSTRxCON = 0x03;
CCPxCON = 0x9D;
レジスタは上記のように設定しています
どこが間違っていたのでしょうか、あるいはステアリング機能以外が必要なのでしょうか?
497:774ワット発電中さん
16/03/08 08:22:24.22 JiYhI1t6.net
>>483
CCPxCON = 0x9C;
じゃない?
P1AがoffのときにP1Bがon(="H")つまりもともと反転となるから、
それを反転させる必要はない
498:483
16/03/08 12:21:34.98 ROEarpKY.net
>>484
0x9Cで動作させてみましたが波形は反転しませんでした。
念のため9C~9Fまで試しましたが波形は反転せず。
ハーフブリッジではないのかとも思いシングル出力やフルブリッジも試してみましたが駄目でした。
オートシャットダウンやディレイ機能は試していませんが……やはりステアリング機能では駄目なのでしょうか?
補足すると、欲しい波形はオシロスコープ観測でGNDラインを重ねた時に反転した波形同士で長方形のような形になる波形です
499:774ワット発電中さん
16/03/08 12:59:36.60 LVzW5HD3.net
>>481
プロセッサ間違えて選択してるとかそういうミスは無いの?
500:774ワット発電中さん
16/03/08 13:33:46.24 Y3b8HjOT.net
MPLABXにやっとしたんだけど、
clean and build build main project
clean ってどうゆう意味なの
501:774ワット発電中さん
16/03/08 14:40:42.94 FM7097wu.net
>>487
普通のビルドは変更されたソースのみ再構築
クリーンビルドは全て再構築
例えばソースファイルをバックアップから戻した時(=ソースが古くなる)
普通にビルドすると「ソースは古いから再構築不要だな」ってスルーしちゃう。
502:774ワット発電中さん
16/03/08 15:04:32.78 aN8434cc.net
MPLABだってそれ位あるだろ
503:774ワット発電中さん
16/03/08 16:49:32.22 Y3b8HjOT.net
>>488
どうもありがとう
504:774ワット発電中さん
16/03/10 14:23:19.43 oTPZsLmn.net
URLリンク(www.microchip.co.jp)
「日本語資料」の一部がリンク切れしてるんだけど
問い合わせフォームにメールアドレスを入力するのがイヤなので
誰か代わりに報告しといて
┗リファレンスマニュアル
┗PIC24F
┗【70195C_JP】PIC24F ファミリ リファレンス マニュアル、セクション 35. 専用タイマ付き出力コンペア
┗リファレンスマニュアル
┗dsPIC33F/PIC24H
┗【39723A_JP】dsPIC33F/PIC24H ファミリ リファレンス マニュアル、セクション 19. I2C (Inter-Integrated Circuit)
┗アプリケーションノート
┗【01202B_JP】'01202B_JP' AN1202 - PIC10F を使用したキャパシティブ センサー
┗製品パンフレット
┗【70324E_JP】dsPIC デジタルシグナル コントローラ
┗製品パンフレット
┗【39754J_JP】PIC24 マイクロコントローラ ファミリ
505:774ワット発電中さん
16/03/10 14:25:43.31 cWEB+UwR.net
適当な捨てアドにしときゃいいんですよ(棒)
506:774ワット発電中さん
16/03/10 18:19:32.73 kXbJ+06S.net
誰も読まない日本語資料なんて…
507:774ワット発電中さん
16/03/10 18:59:49.02 rIGv88Vt.net
まだ使い物になるだけ良いって、某AD社日本支店のサポートは普通に英語の資料で帰してくるぞ。
しかも日本語の資料では丸々削られてる記述とかあって笑えない…。
さらに、案件で専属一人で付くんじゃなくて、来たメールを来た順番で処理してる模様、前のメールの履歴を付けないと同じ答えが返ってくる。
マイコンじゃないけど、もっと大掛かりなサイズでサポートしてた身分としては信じられないほどお粗末だった。
情報共有とかできないって、どんなチームだよって感じで。
英語ができて本社で直に教われるとかでもそれを国内に戻ってきて展開できない時点でおかしいと気がつくはずだと思うんだけど、足の引っ張り合いでもしてんのかと。
508:774ワット発電中さん
16/03/11 19:58:44.07 3fcPFUk+.net
節電のためにスイッチのプルアップ抵抗を100KΩにしたんですが、どうなんでしょうか
100KΩの抵抗というのは?
最近どうもスイッチ反応が悪いんでこれが原因なのか疑ってるんですが。
509:774ワット発電中さん
16/03/11 20:15:44.10 9ySykZ8L.net
最近→抵抗値の問題ではない気がするが気になるなら変えたら?
510:774ワット発電中さん
16/03/11 21:25:15.53 S/zUcbJJ.net
>>495
スイッチにはある程度電流流さないと、接点の接触悪くなりやすい。
511:774ワット発電中さん
16/03/11 22:05:00.20 GquPTMP9.net
>>495
余ってるポートがあればポートを使って読むときだけプルアップする
方法もあるよ
512:774ワット発電中さん
16/03/11 22:23:28.15 LrQoY/Gm.net
>>495
PICの内部プルアップが数十kΩ相当だから、異常に高いわけじゃない�
513:ェ高すぎるのもあまりオススメはしない ところで消費電力を気にしての選定との事だが、相当の頻度で押されるスイッチなのか? PICの入力端子は電流をほとんど吸い込まないから、プルアップに電流が流れるのはスイッチを押している間だけだぞ
514:774ワット発電中さん
16/03/11 22:55:14.87 3fcPFUk+.net
>>499
> PICの入力端子は電流をほとんど吸い込まないから、プルアップに電流が流れるのはスイッチを押している間だけだぞ
え、そうなの
じゃ100KΩは別に10KΩの抵抗でもよかったのかな
515:774ワット発電中さん
16/03/11 22:58:46.29 3fcPFUk+.net
>>498
> 余ってるポートがあればポートを使って読むときだけプルアップする 方法もあるよ
それって内部プルアップのこと?
516:774ワット発電中さん
16/03/11 23:30:50.92 08PfB9p0.net
>>501
よく読もう。
抵抗アレーのcommonにポートから5Vを供給するんだ。
スイッチを取り込むときだけね。それ以外はOFF
517:774ワット発電中さん
16/03/11 23:40:59.53 3fcPFUk+.net
>>502
なーるほど、それはいいアイディア
どうもありがとうございます
518:774ワット発電中さん
16/03/12 02:25:59.27 +x9rnrla.net
>>500
例えば18F1XK50の入力リーク電流は5nA(typ.)、100nA(max.)となっている
仮にプルアップを1桁上の1MΩにしてもスイッチ電流はuAオーダーでリークはその1~3桁下だ
入力リーク気にするなら、デバイス自体の動作電流から気にしなければならないレベルじゃないかな?
詳しくは使用するデバイスのデータシート見てくれ
519:774ワット発電中さん
16/03/12 04:31:58.73 wZg5A+jJ.net
delayが使えなくて一週間悩んでたけど、どうやらMCLRの接触不良が原因だったようだ
他の機能が大体使えてたし、回路側の問題とは思わなかったから気づくのが遅れてしまったよ
初心者は問題の切り分けができないからマイコンボードを買ったほうがいいかも
520:774ワット発電中さん
16/03/12 05:10:14.84 Bq+enMte.net
なんでMクリアの接触不良でディレーが使えなくなるのか全く理由が分からない
あのディレーって無意味な命令を繰り返し実行して時間を稼いでるだけでしょ
521:774ワット発電中さん
16/03/12 05:51:37.14 wZg5A+jJ.net
>>506
俺に聞かれてもわからんよ
522:774ワット発電中さん
16/03/12 05:55:24.45 BmiL3Rtc.net
>>ID:wZg5A+jJ
delayが使えなくてその理由がMCLRの接触不良らしい
その際に他の機能が大体使えてた
ありえない
どっちかが勘違い
523:774ワット発電中さん
16/03/12 06:24:15.97 Bq+enMte.net
>>507
あのさ
そういう考え方と言うか思考というか、止めたほうがいいよ
理由はよく分からないけど何とかなったからまあいいや。そういうのって良くないよ
言っちゃ悪いけど多分君の生き方、人生もそうなっちゃってるんじゃないかなって思う
ちゃんと理由を考えて、こうこうこういう理由でダメだったんだなって考えられるように
しないとそういういい加減さは君の生き方にまで悪い影響を与えるよ
524:774ワット発電中さん
16/03/12 06:32:30.21 F7VzaDJL.net
多分学生だろ
社会人になる前にそういう癖は直しておかないとまずいよ
525:774ワット発電中さん
16/03/12 07:41:10.67 lN0TUubo.net
説明が付かなくて気持ち悪いと思わない時点で終わってる
技術者にはならん方がいい。当人も周りも苦労するので
526:774ワット発電中さん
16/03/12 07:48:20.44 x5FoESRF.net
>>511
そんなこと言い出したら、宗教を信仰するなんて出来なくなるぞ?
527:774ワット発電中さん
16/03/12 08:37:41.99 +hI2V9N2.net
>>512
神様とか運とか血液型のせいでマイコンや機器が動作しませんって言うやつはマジやめてほ
528:しい いるんだよそういうの、しかもかなりの割合で。
529:774ワット発電中さん
16/03/12 08:38:09.13 YfRmZ1V3.net
MCLRが不安定で数ミリ秒動くうちにリセットされる状態だったとか?
530:774ワット発電中さん
16/03/12 08:40:21.70 3P5Kq1Z3.net
すぐいらいらしちゃうんだからっ
おつかれさまでした
531:774ワット発電中さん
16/03/12 09:20:27.74 3gYpt3Xd.net
>>513
底辺だからじゃないの?
532:774ワット発電中さん
16/03/12 10:03:33.70 Gjubt0iE.net
バグや配線ミスは一つだけってことはない
コツコツやれ
533:774ワット発電中さん
16/03/12 11:45:37.62 kbp474pC.net
MCLRと__delay()の関係が、どうしても知りたい。
534:774ワット発電中さん
16/03/12 13:44:55.54 LV3lL25r.net
.
昔、ラッピング線でハンダ付け不良をさせたことがある。
潤工社のAWG30のジュンフロンラッピング線、よく使うんだけど、
付ける前に予備ハンダメッキが必要。
でも配線に熱中してくると、それを忘れて直接付けてしまうことがあった。
いつも接続したあと引っ張ってハンダ付け確認しているけど
ヤニで固まっていて、引っ張っても取れないだけで、実際には電気抵抗が
大きく、導通していなかったというもの。泣いた。
いちいちハンダ上げしてから接続するのも面倒だけど、我慢して使っていた。
ある日、友人から、アメリカ製のラッピング線の話を聞いた。
予備ハンダ無しに、そのままハンダ付けOKらしい。
買ってやってみたら、まさしくその通り。すごく便利。 以来、そればっかり使っている。
535:774ワット発電中さん
16/03/12 15:56:54.30 I1jtTW6x.net
PICにスピーカーを繋いでPWMで音を出してみた。
タイマー割り込みを使って、音色なんかも変化させて遊んでる。
初老でも楽しい。
ところで、一点質問。
スピーカーとGNDの間に直列にコンデンサを挟んでみたら、音が大きくなった。
余計な直流を通さなくなるのは分かるけど、音が大きくなる理由が分からない。
アナログの世界なのでプログラムロジックとは違うけども、理由が知りたい。
536:774ワット発電中さん
16/03/12 16:15:20.05 aRaHeLC5.net
そうですか
537:774ワット発電中さん
16/03/12 16:26:01.29 3P5Kq1Z3.net
最近釣り系質問流行ってるからなぁ
538:774ワット発電中さん
16/03/12 16:44:56.94 I1jtTW6x.net
サーセン。
539:774ワット発電中さん
16/03/12 17:00:24.13 QvmCVlwp.net
>>520
片方をGNDに繋いでたってことはシングルエンド出力だったわけでしょ
それがコンデンサ入れることでGND側も作動っぽく電圧が変動するわけだから
スピーカーに掛かる電圧も特定周波数部分は増幅されて多分低音域は大きく聞こえたんじゃないかと
正逆位相のPWM2つでスピーカー鳴らすのに近いことが起きてる
540:774ワット発電中さん
16/03/12 17:02:08.83 3P5Kq1Z3.net
そんなバカな
541:774ワット発電中さん
16/03/12 17:11:05.57 I1jtTW6x.net
>>524
参考になる
542:774ワット発電中さん
16/03/12 17:23:19.89 I1jtTW6x.net
コーンがアクティブに戻るという認識で合ってるかな
543:774ワット発電中さん
16/03/12 17:31:26.45 LV3lL25r.net
>>520
PICとSPは、コンデンサなしで直接つないでいるの?
そもそもが、コンデンサを入れた上でスピーカーをつなぐべきだと思います。
Cを入れると差動で動くとか、そういう事はありません。
544:774ワット発電中さん
16/03/12 19:26:05.07 3P5Kq1Z3.net
>>526
いやいや
>>520
スピーカーにDCがかかった状態だと、ボイスコイルの振幅が片側にバイアスされた
状態で駆動されることになるので、場合によっては振幅限界に達して音量が小さく聞こえたり
歪みの原因になる可能性がある
なので、普通はCを入れてDCカットして使うか、PWMx2を逆相駆動してBTLにしないとだめ
釣りだったら数す
545:774ワット発電中さん
16/03/12 20:02:39.97 I1jtTW6x.net
片押しキャリパーでコーナリング侵入前にブレーキをダフるようなものですか。
546:774ワット発電中さん
16/03/12 20:06:57.40 I1jtTW6x.net
なかなかそういう情報ないので、参考になった。
あたりまえのようにコンデンサ直列に繋ぐ絵ばっかりよく見るけど、
その理屈がどこにも見当たらないので。
普通のアナログ信号のオーディオだとACでバランスするけど、
マイコンのパルスだとひっついたまま戻ってこないので、
ちょいと戻してあげるということなのか。
547:774ワット発電中さん
16/03/12 20:25:24.43 LV3lL25r.net
>>531
>その理屈がどこにも見当たらないので。
少し考えればわかるので、書いてないのだと思うよ。
スピーカーは、直流でも動く部品なので、
1) +電圧でスピーカーの紙は出っ張る
2) 0Vでスピーカーの紙は真ん中
3) -電圧でスピーカーの紙は引っ込む
5Vと0Vしか出せないマイコンでは、上記の1)←→2)の間を動作することになる。
よって紙が均等に前後しない。
548:774ワット発電中さん
16/03/12 21:47:58.39 eQ6lCNaj.net
これから始めようという者ですが
アセンブラ用のレジスタ名の定義ファイルの名前はどのように知るのでしょうか?
MPLABのマニュアルや使う予定のマイコンのデータシートを調べても見つけられません
それともアセンブラ用のそのようなファイルは存在しないのでしょうか・・・?
使う予定のマイコンはPIC16F1937です
549:774ワット発電中さん
16/03/12 22:49:15.09 zxlblE60.net
>>533
28章
550:774ワット発電中さん
16/03/12 22:56:34.43 d/VWGvgG.net
>>533
インストールフォルダのmpasmxの中とかは掘ってみた?
551:774ワット発電中さん
16/03/12 22:59:29.40 oHMLt//i.net
>>532
均等に前後しないことによる弊害は何も無いよ。
音声信号を忠実に再生しようということじゃないからね。
コンデンサを入れて均等に近づいたから音が大きくなったってわけでもない。
ここまで誰もインピーダンスを語らないところが、アナログに暗いスレ住人の特徴かな。
音が大きく感じたのは、耳につく帯域の虚部がコンデンサでキャンセルされたから。
552:774ワット発電中さん
16/03/12 23:00:15.72 eQ6lCNaj.net
>>535
ああ!なんかいっぱいファイル見つけました!この中からそれっぽいのを探せばいいのか・・・!
ありがとうございます!
553:774ワット発電中さん
16/03/12 23:07:42.52 d/VWGvgG.net
>>537
自分はCしかやらないんですが、まず、
Microchip/MPLABX/mpasmx/MPASMXMasterIndex.htm
から始めるのが筋かという気はします。
554:774ワット発電中さん
16/03/12 23:17:50.51 eQ6lCNaj.net
>>538
成程
ひとつ利口になりました
555:774ワット発電中さん
16/03/12 23:26:49.18 Gjubt0iE.net
Hの時にコンデンサに充電された電気がLの時に放電されて負電圧をスピーカーにかける
程よい容量なら直結の時より振動板が大きく動くと言うわけ
556:774ワット発電中さん
16/03/12 23:35:21.38 3P5Kq1Z3.net
>>540
それをカップリングというのだが...
Cをシリーズに入れてDCカットする意味はそれ以外の何物でもない
後半の
> 程よい容量なら直結の時より振動板が大きく動くと言うわけ
の意味はよくわからない
容量は通したいカットオフ周波数に応じてスピーカーの負荷インピーダンスとの関係で決めるだけ
557:774ワット発電中さん
16/03/12 23:37:59.66 oHMLt//i.net
>>540
不正解
558:774ワット発電中さん
16/03/12 23:42:08.88 3P5Kq1Z3.net
うーん、あなた>>536もイマイチ言ってることよくわからないけどね...
559:774ワット発電中さん
16/03/12 23:44:02.63 oHMLt//i.net
出力されてる周波数でのスピーカーのインダクタンスと、直列に加えたコンデンサで直列共振(つまり虚部がゼロ)となれば最大音圧が得られる。
わからないならしょうがない。
560:774ワット発電中さん
16/03/12 23:46:40.04 3P5Kq1Z3.net
>>544
そう言ってくれればわかるw
561:774ワット発電中さん
16/03/12 23:50:15.74 3P5Kq1Z3.net
ただ>>536について一つコメントさせてもらうと、
何も弊害がないというのは言い過ぎ
結局DCが重畳されたPWMそのままを入れるのは、ボイスコイルの振動が
オフセットするので、限られた振幅範囲(ダイナミックレンジ)を有効に使えないので
結果的に実用的な音圧レベルの最大値が制限される
またそもそもDC電流をボイスコイルに流し続けるのはよくない
562:774ワット発電中さん
16/03/13 00:00:10.55 gAY3stss.net
わかってくれてありがとう
ただ
限られた振幅範囲をめいっぱいドライブできるほどの能力がPICには無いので
DCカットの有無だけの違いなら全く弊害は無い。
1ポート30mA程度しか流れないのでそもそもフル振幅のドライブは無理。
で、鳴らさない時は流さないようプログラムすればボイスコイルに負担は無いしそもそも壊れるほど流せない。
563:774ワット発電中さん
16/03/13 00:02:36.93 e3XktBDo.net
>>547
なるほどね
確かに今回の案件に関しては、そういった設計検証をした上で
カップリングのCを外すという判断をするなら、それもありだとはおもうね
564:774ワット発電中さん
16/03/13 00:46:23.06 LKqd63Ty.net
でも、スピーカーにDCは、良くないよね
565:774ワット発電中さん
16/03/13 02:19:37.71 22mN0803.net
>>541
直列LC回路は、共振周波数で電流が最大
566:774ワット発電中さん
16/03/13 16:26:20.42 LKqd63Ty.net
スピーカーに直流印加は、いけません
567:774ワット発電中さん
16/03/13 16:52:30.39 T/HlBPO2.net
圧電ブザーも入れた方がいいのかな?
部品点数少なくする意味で省いてたけど
568:774ワット発電中さん
16/03/13 17:09:21.10 LKqd63Ty.net
圧電も入れるべき
569:774ワット発電中さん
16/03/13 17:31:53.79 gAY3stss.net
>>552
PICで直接駆動ならスピーカーはどうでもいいが、圧電サウンダは必ずDCカットが必要だよ。
カットしないとマイグレーション発生の可能性が出てくる。
570:774ワット発電中さん
16/03/13 17:46:58.73 esVoarL8.net
>>554
そこで言うマイグレーションて何?
>マイグレーションとは、移行、移転、移住、移動、乗換などの意味を持つ英単語。ITの分野では、ソフトウェアやシステム、データなどを別の環境に移転したり、新しい環境に切り替えたりすることを意味することが多い。
571:774ワット発電中さん
16/03/13 17:56:27.03 9oENPODG.net
>>555
なぜマイグレーションだけで検索しようと思ったの?
572:774ワット発電中さん
16/03/13 18:39:54.52 gAY3stss.net
めんどくさい人だなぁ
URLリンク(www.fdk.co.jp)
573:774ワット発電中さん
16/03/13 18:48:12.93 XgaV/bWM.net
LCDに表示する際のC言語の記述について疑問があるのですが、
お詳しい方のアドバイスをお願いします。
現在、LCDの使い方を学ぼうとネットで見かけた作例を再現しています。
現在、下記のページのコードを理解しようと思っています。
URLリンク(www8.plala.or.jp)
この中でchar buf[16]と宣言したbufと言う配列ですが
measurement()関数で得た値を表示するのに、下記のように
記載されています。
msec = measurement(mode);
LongToStr(msec, buf);
buf[12] = 0x00;
buf[11] = buf[10];
buf[10] = '.';
Lcd_Custom_Out(2, 1, buf);
最終的にはLcd_Custom_Out(2, 1, buf);で表示されますが、
Lcd_Custom_Out(2, 1, buf);で表示される場合、どのような挙動になるのでしょうか?
buf[16]で書いた内容は、LCD上でbuf[1]からbuf[16]まで自動的に順番に読み込んで
表示されると言う事でしょうか?
配列で宣言しているのにLcd_Custom_Out(2, 1, buf);の中では配列で必要な[]が無いので
疑問に思っています。
また、上記の例では、
buf[12] = 0x00;
buf[11] = buf[10];
buf[10] = '.';
この3行と
LongToStr(msec, buf);の関係も良くわかりません。
LongToStr(msec, buf);のmsecは、buf[]の何番目に読み込まれるのでしょうか?
574:774ワット発電中さん
16/03/13 18:52:15.02 T/HlBPO2.net
>>553>>554
銀マイグレーションというのか、壊す可能性があるのね。
PWMの出力ダイレクトで鳴ったからOKと思ってたが
バグとか変なタイミングでリセットされたりとかで流れっぱなしになると嫌だな。
575:774ワット発電中さん
16/03/13 19:01:41.82 T/HlBPO2.net
>>558
配列10,11,12の処理は小数点1桁を追加しているのだと思う
12345 → 1234.5
最後の0x00は文字列の終わり
[ ]無しは大雑把に言えば「全部渡す」という事
その配列の先頭のポインタを渡している、
576:774ワット発電中さん
16/03/13 19:12:23.99 gAY3stss.net
>>559
オレ最初は知らなくて、圧電サウンダは早めに壊れるもんだと思ってた。
577:774ワット発電中さん
16/03/13 19:38:12.14 XgaV/bWM.net
>>560
大元のページで
URLリンク(www8.plala.or.jp)
小数点以下一桁の表示となっているので、
buf[12] = 0x00;
buf[11] = buf[10];
buf[10] = '.';
なのですね。
得たデータの数字に対して、小数点以下二桁なら、
buf[12] = 0x00;
buf[10] = buf[10];
buf[9] = '.';
で、良いのでしょうか?
それと[]無しで配列を全部渡すと言う事だったのですね。
手持ちのC言語の解説本やコンパイラのヘルプでは解りませんでした。
全部渡すと言うことは、Lcd_Custom_Out(2, 1, buf);で2行目の1列目に
表示と指定していますが、そこから、bufの配列数の分だけ並べて表示と
言う認識で合ってるでしょうか?
578:774ワット発電中さん
16/03/13 19:58:01.51 T/HlBPO2.net
>>562
上 小数点2桁にするならbuf[11]=buf[10]; buf[10]=buf[9]; buf[9]='.'
つまりは1文字ずつ移動させて、空いた所にピリオドを入れている
下 惜しい、「配列数の分だけ」ではなく、配列の0x00まで表示する。
両方ともC言語の基礎的な本なら文字列・配列・ポインタなどで説明されていると思う。
579:774ワット発電中さん
16/03/13 22:23:54.84 esVoarL8.net
>>557
>(9)圧電サウンダに直流電圧を加えないで下さい。
>圧電サウンダ(圧電振動板)に直流電圧を加えると、銀マイグレーションが発生し絶縁抵抗が低下して機能を果たさなくなる事があります。
これかー
お手数お掛けしました
電子関係の用語って一般用語と別の意味で使われたりよく判らないわ
この場合の銀マイグレーションも意味は判らないんけど
壊れるってことだけは理解した
580:774ワット発電中さん
16/03/13 23:07:45.19 XgaV/bWM.net
>>563
ありがとうございます。
教えていただいた事を元に書籍やWEBで調べてみます。
581:774ワット発電中さん
16/03/14 06:28:49.15 WMIFuEPQ.net
>>564 この場合の銀マイグレーションも意味は判らないんけど
どうして調べようとしないの?
移行、移転、移住、移動、乗換であってるよ。
URLリンク(www1.coralnet.or.jp)
582:774ワット発電中さん
16/03/14 11:06:14.24 Icm9vyi2.net
>>564
よくわかんないけど、この場合のマイグレーションは、
分極だと思う。交流駆動を想定した部品に直流をかけると、
部品中で均等に分布していた何かが、
どちらかの電極に吸い寄せられて、具合が悪いということ。
この「何かが移動すること」をマイグレーションという。
マイグレーションの別解には、ソフトウェアのバージョンアップのことを
マイグレーションと呼ぶ。
キットにも、マイグレーションにも、いろいろあるんですよ。
583:774ワット発電中さん
16/03/14 12:53:59.91 wG8Paz6v.net
>>547
出力ピンの2本だけ100mA流せる品種もあるから大音量もいける
このあたりの対応の細かさはさすがPIC
584:774ワット発電中さん
16/03/14 15:19:25.66 ku9p8TUX.net
1つのSPIに3つのスレーブ(SDカード、別PIC、モーター制御IC)を接続すると
SDカードの初期化が失敗する、何が考えられるだろう?
・各スレーブのCS(SS)を全てHighにしてプログラム最初のSD初期化で失敗する
・スレーブ1つならどれも正常動作する、2つだと時々失敗、3つだと高確率で失敗
・SDカードの電源間に0.1uFや、各信号線を10KΩプルアップしても変わらず
・試しにSDカードを別のポート(SPI2)に接続すると問題なく動作する
・3秒毎にリトライ処理するうちに稀にSD初期化成功すると、その後は何も問題なく動作する
・別PICの配線を30cmぐらい延長すると2つでも高確率で失敗、3つでは成功しない
・SDカードの失敗内容はバラバラ、コマンドがタイムアウトしたりエラー通知だったり。
症状的に別PICのによって入出力信号の減衰か競合などが起きて
SDの初期化がおかしくなっている気がするが、何をどう調べれば良いか行き詰まってる。
585:774ワット発電中さん
16/03/14 21:15:41.45 Icm9vyi2.net
>>569
>1つのSPIに3つのスレーブを接続すると
これってどういう状況?
SPIって、1対1じゃないの?
/CSで切り替えているのなら、SDカードの出力が ひ弱 だとか、反対に
/CSで非選択中では、どこかの出力が生きてるとか
586:774ワット発電中さん
16/03/14 21:50:56.79 ku9p8TUX.net
>>570
URLリンク(www.geocities.jp)
これと同様にSDI/SDO/CLKを3分配、CSは個別です。
試しにSD以外のスレーブ(「別PIC」と「モーター制御IC」)のCSを直接VPPに
接続しても変わらなかったので、CSの切り替えミスではなさそう。
別PIC側のSSPCONもスレーブでSSを使う設定にしてあります。
ご指摘通り、SDの出力がひ弱かどこかの出力が生きていると予想したのですが
普通のテスターぐらいしか持ってないので原因を判断できない、
仮定して対処しようにも対処方法を知らないので適当にプルアップしてみたりの状況です。
587:774ワット発電中さん
16/03/14 22:17:50.28 8f61lapt.net
>>571
SDカードはCSでなく、クロックの有無で選択する。
588:774ワット発電中さん
16/03/14 22:30:40.55 Icm9vyi2.net
>>571
>普通のテスターぐらいしか持ってないので原因を判断できない、
オシロがあると、HとLの中間もわかるので、解決が速いと思うけどね。
589:774ワット発電中さん
16/03/14 23:04:06.34 MLmQwO3Z.net
HとLの中間が、どんな波形になってれば正常と言えるのか
きちんと判定できる目が無いと、結局のところ良否判定はできないわけです
リンギング、なまり、中間値あり、いろいろあるからねぇ
590:774ワット発電中さん
16/03/14 23:14:43.04 8pH7TUa/.net
信号自体が正常なのかロジアナ・レベルではチェックした?
591:774ワット発電中さん
16/03/14 23:52:59.93 ku9p8TUX.net
レス感謝
>>572>>575
SDライブラリ内でCSを切り替えた後1バイト送信(強制クロック切り替え)する処理はあります。
ただ実際にこれが正確に動作しているかは調べ切れてなかったです。
PICKIT2の簡易ロジアナがあるので、これで可能な限り追ってみます。
前に簡単に調べた時は正常時と異常時で波形が大きく逆転するような違いは無かったですが
クロック落として上記のような1コマンド1クロックまで精査すれば解明するかも。
>>573>>574
オシロ必要ですね
簡単な直結回路しか作ってないので必要性も感じてなかったけど、
こんな行き詰まりが長引いて悩むぐらいなら買っちゃった方が幸せかも。
あとは現在唯一の正常な方法=SPIを2つに分けてしまうかも。
設定上も分けた方が良いんだけどIOピン数が足りなくなるので
一回り大きな石にするとか含め色々考えてみます。
592:774ワット発電中さん
16/03/15 01:50:01.77 7NEnkaCO.net
PICの内蔵EEPROMで、3日間悩んで解決したので、人柱として報告しておきます。
MPLAB 8.92です。
書込のテストとして、
main{
wri
593:te_eeprom( 0, 0x1234 ); // 0番地に0x1234を書く write_eeprom( 2, 0x5678 ); // 2番地に0x5678を書く // printf("0=%04x ", read_eeprom( 0 ); // 0番地を読んで表示 // printf("2=%04x\r\n", read_eeprom( 2 ); // 2番地を読んで表示 while(1){} // 待機 } として、eepromに書いて(書いたつもり)、ソースを変更して main{ // write_eeprom( 0, 0x1234 ); // 0番地に0x1234を書く // write_eeprom( 2, 0x5678 ); // 2番地に0x5678を書く printf("0=%04x ", read_eeprom( 0 ); // 0番地を読んで表示 printf("2=%04x\r\n", read_eeprom( 2 ); // 2番地を読んで表示 while(1){} // 待機 } として、電源on。正しく書かれていれば、ターミナルに 0=1234 2=5678 と表示それる予定。 ところが、
594:774ワット発電中さん
16/03/15 02:35:42.63 MdS0ueU6.net
>MPLAB 8.92
人柱?
今頃?
Xの3.26で頼むわw
595:774ワット発電中さん
16/03/15 04:20:43.45 TQk/RcYK.net
>>578
相変わらず人間が小さいな。
どんなVerでも関係ない。無駄なことなど1つもない。全てが有用。
情報として内容を聞いておけば良い。
596:774ワット発電中さん
16/03/15 04:29:11.52 +u/bhsJ6.net
じゃ、あんたに任せるから、頼むわ
597:774ワット発電中さん
16/03/15 04:38:21.36 BXTx9WRG.net
>>579
今更マップラブ・イデア使ってる奴なんかいない
みんなⅩに移行してる
そんな中でイデアの8.92固有の問題とか書かれたところでもはやそんな情報は
誰も欲して無いし何の役にも立たない
598:774ワット発電中さん
16/03/15 05:23:35.13 O4sbalVL.net
581「マップラブ・イデアはグラディェーションしちゃったよ」
だそうです
599:774ワット発電中さん
16/03/15 08:26:50.43 1AZoaipm.net
Xなしは保守用だよね
600:774ワット発電中さん
16/03/15 10:16:19.58 ofl71mqA.net
みんなXで苦労してて、なんとか他人を沼に引きずり込もうとしてるんだね
601:774ワット発電中さん
16/03/15 10:34:07.39 TQk/RcYK.net
無理して X 使う理由がわからない
602:774ワット発電中さん
16/03/15 12:13:50.48 7+DjHVxm.net
最初期のXは確かに惨かった
あと糞重すぎてやってられんかった
しかしバージョンアップを重ねて問題ないレベルに安定したし、その間に
マシン環境も良くなって今使う分には安定度も速度も全く問題ない
未だにXが重くて辛いようなゴミマシン使い続けてるユーザは別として、それ以外の
ユーザがXを忌避する理由が正直分からん
603:774ワット発電中さん
16/03/15 12:17:54.72 NtPzdkBo.net
新しいものはまず否定して掛かるのが老人だし、
16F84でLチカしかしない人にはX関係ないよなw
604:774ワット発電中さん
16/03/15 12:31:15.70 1AZoaipm.net
自分はむしろXの方が快適だわ
605:774ワット発電中さん
16/03/15 13:02:46.34 F2nBkFE2.net
Xのがいろいろと便利だよね
ただ古いバーションのCCSが使えないのが難点
606:774ワット発電中さん
16/03/15 13:58:33.83 jyIn24/t.net
UTF8が使えない時点でね
607:774ワット発電中さん
16/03/15 14:39:41.89 nry4XeSE.net
ID:TQk/RcYK
>無理して
って、最初からX使ってます。
実際問題、8.92なんて掘らにゃ出て来んでしょw
608:774ワット発電中さん
16/03/15 16:20:03.50 /zgT1crY.net
>>577
ところが、 の後が気ににる。
609:774ワット発電中さん
16/03/15 19:17:24.80 J0cFhifk.net
1~1.5mほど離れたPIC間で通信したい、
具体的にはただのリモコン(ジョイパッドみたいな物)
SPIやUART直結では遠いよね?
610:774ワット発電中さん
16/03/15 20:23:03.95 vrTVqN0H.net
>>592
コンパイルが通りませんでした><
611:774ワット発電中さん
16/03/15 21:25:14.90 lhryq9jb.net
>>593
出力側に抵抗入れて9600bpsくらいならいけるんじゃないかな。
オシロがあればわかりやすいけど結構なんとかなるよ。
612:774ワット発電中さん
16/03/15 23:31:23.45 p
613:78daEVV.net
614:774ワット発電中さん
16/03/15 23:46:16.12 J0cFhifk.net
>>595
9600でも十分そうです、超連打しても毎秒300バイト程度か。
「出力側に抵抗を入れ」というのは、
送信側(TX端子の直後)に数十~数百Ωの抵抗を直列で入れる事でしょうか?
615:774ワット発電中さん
16/03/15 23:55:27.13 J0cFhifk.net
>>596
信頼性は不要です、まるで伝送できないと困るけど、
ボタンやジョイスティックの情報なので1割ロストしても多分違和感ないでしょう。
趣味でちょっと操作部を離したい程度の構想なので、
危なそうなら50cmぐらいに短くしてもいいか程度です。
あまり本格伝送するとリモコン作成がメイン回路になってしまいそうなのでw
616:774ワット発電中さん
16/03/16 00:07:02.83 CHPhINjn.net
で、>>577はどこ行っちゃったの?
617:774ワット発電中さん
16/03/16 01:10:51.11 ZspRFoj9.net
>>594
カッコが足りないなw
618:774ワット発電中さん
16/03/16 01:40:48.23 hIB6Z18y.net
>>598
PS/2(昔のキーボードとかマウスとかつなげてたヤツ)はTTLレベルで16kHzクロックのシリアル通信
1~2mぐらいなら行けるっしょ
ダメっぽかったらツイストペアのシールド線でも使えば大丈夫。多分。
619:774ワット発電中さん
16/03/16 01:55:22.50 frJD41R8.net
パソコンのパラレルポートがTTLレベルだから2~3mは可能だろ
620:774ワット発電中さん
16/03/16 03:18:41.71 k5pd38nP.net
>>577です。
続きを書いている時に寝てしまいました。
でも、書き込むのはやめます。
本質と関係のないツールのバージョンのことで馬鹿にされたので、腹が立ってきました。
Xでなくて悪かったな >>578
621:774ワット発電中さん
16/03/16 03:53:09.72 CHPhINjn.net
>本質と関係のないツールのバージョン
大間違い。
622:774ワット発電中さん
16/03/16 07:49:42.08 CbVNQa9u.net
>>603
救いようのない馬鹿だな
623:774ワット発電中さん
16/03/16 08:07:19.31 3T5+UqqU.net
ライトイネーブルしてなかったとかいうオチでは?
624:774ワット発電中さん
16/03/16 12:04:46.11 l/I+8okH.net
僕もMPLAB IDE 8.92しか使っていないのですが、MPLAB Xは、
バグとか問題ないのでしょうか?
いつかは変わってしまうから、そちらに移行しなければと思っていますが、
このスレの評判を見ていると、きいいかと思ってしまいます。
・今まで8.92で作ったCのソースは、何もせずにそのまま流用できるのでしょうか?
・8.92と、かなり操作性が違うのでしょうか。
・MPLAB Xの使い方について書かれた、本やwebサイトがあれば教えて下さい。
625:774ワット発電中さん
16/03/16 12:30:31.08 ZHA5joHM.net
ソース 変更なしでok プロジェクトはコンバートが必要
操作法 基本的には変わらない。対応する操作はすぐ見つかる筈
626:774ワット発電中さん
16/03/16 12:34:16.18 6jVSaA75.net
>>607
だからMPLAB Xが出て何年経ってると思ってるの…
627:774ワット発電中さん
16/03/16 12:53:03.49 l/I+8okH.net
>>608
どうもありがとうございます。
ソースがそのまま使えるのは嬉しいですね。
#include "xxxx.h"など、ヘッダーとかを入れ替えなければならないのか心配していました。
割込の __attribute....なども、よさげなんですね。
どうなってもいい別のPCに Xをダウンロードして、一度やってみます。
ありがとうございました。
>>609
ありがとうございます。
>だから
だからって言われても、以前どこかでアドバイスもらいましたか?
この件について、僕は初めて質問していますので、だから と言われる理由はないと思います。
>何年経ってると思ってるの…
知りませんよ、そんなこと。
8.92の資産がそのまま使えて、バグが無ければ、
今年でも去年でも関係ありません。何年経つかには興味ないし。
質問者にとって何の情報も得られないコメントですね。
いつもそんなコメントしているんですか? >>609
628:774ワット発電中さん
16/03/16 12:53:41.78 xpiJ+5/l.net
Xを嫌ってる人って、他の人の昔の製作例をコピペする人くらいでしょ
629:774ワット発電中さん
16/03/16 13:26:52.37 lqFBfrSH.net
だったらそのまま8.92使い続けてればいいだろ
なにこのアスペ
630:774ワット発電中さん
16/03/16 14:03:23.73 NQ2EbSE2.net
ID:l/I+8okH
開発環境をむやみに更新する必要は無い
そのこととあんたがいままで情報収集を疎かにして来たこととは別
尋ねていることは自分でやってみりゃすぐに分かる事ばかり
フリーの環境でリリース後もうだいぶ経過しているのにもかかわらず
何のアンテナも張っていなかった自分を棚に上げて
突っ込まれると逆切れする自分をどう思うのかな
そのままずっと一人でそこに立ってろ!
631:774ワット発電中さん
16/03/16 15:10:31.31 l/I+8okH.net
だったら、>>612, >>613 は、Xで何も問題が出ていないとでも言うの?
632:774ワット発電中さん
16/03/16 15:16:28.45 IG9T6IuD.net
>>614
何も問題が出ていない開発環境がこの世に存在するならぜひ教えてください。
633:613
16/03/16 15:28:36.60 +3CAAW+/.net
>>614
情弱をカミングアウトしたあと、突っ込まれて逆切れ、そして最後は屁理屈をたれはじめる
フル装備の予想通りの反応ですね
もう一度だけ書きますね
自分で試してみたらいかがですか、ただで配ってるんだから
634:774ワット発電中さん
16/03/16 15:53:53.87 To6KJvjr.net
>>613
新しいデバイスは使わないの?
635:774ワット発電中さん
16/03/16 16:07:37.26 l/I+8okH.net
>>617
新しいデバイスは使わないつもりです。8bitは3年前に捨てました。
よく使うのは、PIC24FJ256かHJ256です。dsPICも使いません。
外部バスの使える品種を試してみたいと思っています。
あとは、code configratorを試してみたいです。
636:774ワット発電中さん
16/03/16 16:15:02.98 l/I+8okH.net
>>615
>何も問題が出ていない開発環境
それはないでしょう。
でも、不具合が多いか少ないかは、あると思います。
Verを重ねた環境のほうが、不具合は少ないみとは容易に想像できますよね。
>>616
>自分で試してみたらいかがですか
だから、一度試してみますよ。それが何か?
自分で試せば良いという考え方を持ち込んでしまったら、
世の中に質問など1つもなくなりますよ。そういうこと言ってます?
このスレに質問禁止と書いてあるわけではないし、IDEの質問がNGとも書いてない。
>>613と言い、>>616と言い、質問者に何の情報ももたらさない発言は、
あなたの程度が知れますよ。
637:774ワット発電中さん
16/03/16 16:16:25.38 l/I+8okH.net
仕事に戻りますので、もう返事できません。
638:774ワット発電中さん
16/03/16 16:22:50.82 lqFBfrSH.net
今日一番の笑いどころw
『仕事に戻りますので、もう返事できません。 』
639:774ワット発電中さん
16/03/16 16:23:42.16 scVN61tG.net
ID:l/I+8okH
情弱をカミングアウト
突っ込まれて逆切れ
さんざん屁理屈をたれる
さっそうと去って行く
かこいいなw
640:774ワット発電中さん
16/03/16 16:25:16.89 scVN61tG.net
>>621
わらっちゃだめよw
尊敬の念をこめて敬礼したまま見送るのw
641:774ワット発電中さん
16/03/16 16:53:23.93 hv3xIYi5.net
>>ID:l/I+8okH
>自分で試せば良いという考え方を持ち込んでしまったら、
>世の中に質問など1つもなくなりますよ。
この人、出来る範囲で試してみてから、その結果を踏まえて質問する、というあたりまえの感覚が無いんだな。
それでなんでマイコンとかいじってるんだろ。
642:774ワット発電中さん
16/03/16 16:53:49.07 /hyVEPhq.net
ID:l/I+8okH
ハイハイ。二度と来ないでね。
643:774ワット発電中さん
16/03/16 18:43:31.00 VoaweSI5.net
PICに50msecと100msecのパルスが入った場合の見分け方を
考えているのですがタイマーを使わずに処理する簡単な方法ってあるでしょうか?
全く別の話題でこのスレの上のほうに出ていた、>>315の方法で出来そうにも
思うのですが、この場合時間の計算が良くわかりません。
本を読むとPICでは1命令でクロックの4サイクルの時間と見かけますが、
これは、アセンブラでの話でしょうか?Cでどのコンパイラでも4クロック分の時間なのでしょうか?
アドバイス、また、作例の紹介などよろしくお願いします。
644:774ワット発電中さん
16/03/16 18:54:24.40 lqFBfrSH.net
ボーリングでもいなら1周期1ミリセックのるーぷの中で
入ry区ポートを監視して入理ィクが変かした時に
ループをんんしゅうしてかで判断すえばいい
645:774ワット発電中さん
16/03/16 18:54:32.22 qXIH5HOX.net
>>626
雑な判断でいいなら適当なdelay入れてカウント数だけで判断すれば?
while(1) {
if( !SW1 ) {
SW1count++;
}
else {
if( SW1count> 50 ) {
100msの処理;
}
else if( SW1count>1) {
50msの処理;
}
SW1count = 0;
}
その他の処理(処理時間1ms以下)
__delay_ms(1);
}
646:774ワット発電中さん
16/03/16 20:29:41.49 l/I+8okH.net
今日一番の笑いどころw
→ >>627 何言ってるかわかんない
647:774ワット発電中さん
16/03/16 20:43:52.98 nIzF94ms.net
焦りすぎ&めんどくさがりすぎ&スマホ乙
648:774ワット発電中さん
16/03/16 21:10:20.75 ZHA5joHM.net
だいたい>607はIDEが変わっただけでソース変える必要があるとか考えちゃう奴だしな、
ロードランナーのマイコン版なんだろう。
649:774ワット発電中さん
16/03/16 21:12:28.66 ooZ1zwf/.net
>>629
なんの情報ももたらさないレスおつw
650:774ワット発電中さん
16/03/16 21:14:32.22 qpxwTLri.net
Xを一度でも試していたら>>607みたいな書き方にはならんわな
651:774ワット発電中さん
16/03/16 21:34:25.48 l/I+8okH.net
>>626
タイマー割込を使わないで、という条件だと、結構厳しいものがありますね。
50ms, 100msの監視以外の処理が、どれだけの時間かかるかで、
50ms, 100msを取り逃してしまうので。
>>628のようなソースで、なんとかなりそうですが、
「その他の処理(処理時間1ms以下)」という条件が、ついて回ります。
タイマー割込が使えない制約があるのか、
使ったことがないので不安なのかわかりませんが、
ここはぜひ、タイマー割込を使ってみてください。
簡単な設定で、驚くほど正確に制御できます。
あるいは、マイコン外部のハードウェアに「クロック」みたいなものが用意できるなら、
それもまた簡単です。そのクロックを、外部割り込みにつないで、その割り込みごとに数値を加算。
メインで数値を評価すればよいですし。
外部割り込みを使わなくても、メインでなんとか監視するように工夫すれば、実現できます。
また別の方法では、
外部に抵抗とコンデンサで充放電回路を作って、それを使って、粗い時間信号にすることもできます。
・出力ピンをL→Hにする。充電が始まる。
・CRの接続点を入力
652:に取り込んで、L→Hに変化したら、出力をLにしてコンデンサを放電・・・・ を繰り返します。
653:774ワット発電中さん
16/03/16 22:19:58.97 4ximpyTl.net
>>626
あなたの環境がわかりませんが、
MPLAB X IDEで言えばデバッグの機能の中にストップウォッチがあるので、
ループにブレークポイントを仕込んで繰り返し時間をシミュレートすることが出来ます。
50msか100msかという大雑把でいいなら、
プログラムを書いてみて実際に1つカウントする時間を計って閾値とする数を決めれば十分かと思います。
654:774ワット発電中さん
16/03/16 22:21:44.96 4ximpyTl.net
すみません>>628のコードが前提です。
>50とかの50の決め方の話です。
655:774ワット発電中さん
16/03/16 22:35:27.04 pwX2FVBd.net
二度と来ないでねと言われて
�
656:]う人はいないだろうね
657:774ワット発電中さん
16/03/16 22:45:48.23 l6Nq0zQ2.net
>>626
8bitのPICなら4クロックでアセンブラ1命令を実行。
Cの一文は必ずしもアセンブラ1命令にコンパイルされるとは限らない。
>>636
>>626は1~2msのループだからそのまま>50でよいはず
658:774ワット発電中さん
16/03/16 22:48:03.03 85NEifxY.net
俺>>607とは別人だけど、昔、Xを試してダメダメで、環境をIDEに戻すのに苦労したから、いまだにXにはあげてないな。
IDEで困ってないし、ソースとコンパイラが同じでも、makeの既存設定やリンク条件変えられてバイナリが変わって再評価も嫌だしな。
それ以上のメリットがあれば考えるが、X使ってるやつの話聞いても、そんなにメリットがあるとは思えない。
IDEもサポートされてないわけじゃないし。
OSも石橋叩いて渡らないほうだから、環境をころころ変えてく人とは合わないんだろうけど。
659:774ワット発電中さん
16/03/16 22:49:21.59 l/I+8okH.net
>>636
「その他の処理(処理時間1ms以下)」の1ms以下というのは、どのように処理しますか?
「その他の処理」のところで、while(SW2 != on){} とか、されたとき、
1ms程度以内で脱出する方法が必要ですよね。変数置いて if(w++ > 0x1234){ exit }
みたいな感じでしょうか
660:636
16/03/16 23:21:50.29 TtXmXijD.net
>>638
はい、「その他の処理」のところが1ms未満ならいいですね。
質問者がアセンブラとCとの扱いの違いをお尋ねなので、
CでもIDEのデバッグ・ツールを使えば時間の勘定はある程度出来ますよという話です。
処理を追加して1msでなくなったときに仮に5msだったら<10でいいのかというと
<8かな<11かなとかを大雑把に決めるのにストップウォッチは有用なので。
まあ、アセンブラな人に言わせるとちゃんと計算しろよってことでしょうけど。
661:774ワット発電中さん
16/03/17 04:59:58.39 ur39617t.net
>タイマーを使わずに処理する簡単な方法
タイマーを使うのが簡単なんだけどね
662:774ワット発電中さん
16/03/17 05:19:37.93 HEVAezMh.net
Xを使う人 = 環境をころころ変えてく人 = チャラ男 = 頭悪そう
だってよーwww
663:774ワット発電中さん
16/03/17 06:42:40.91 8PfcmGq6.net
MPLABだけが IDE とか思い混んでる時点でこいつの頭の悪さが露呈してるわ
664:774ワット発電中さん
16/03/17 06:43:10.47 8mopgBcq.net
>>626
>>638も書いているけど、アセンブラレベルの話。分岐命令とかは2サイクルだったりするし、
サイクルを自分で計算したうえでアセンブラでプログラムを組むしかないだろうね。
コンパイラのバージョンが変わって吐き出すコードが変わる事もあり得るし。
他にはタイマー割り込みは使わなくてもタイマーの数値は利用できるから
タイマーを自分で監視する方法もあると思う。
665:774ワット発電中さん
16/03/17 14:01:29.53 Py52SkTQ.net
質問
Xじゃなくても新チップ使えるの?
666:774ワット発電中さん
16/03/17 14:33:28.67 PPQW4CMU.net
>>645
>アセンブラでプログラムを組むしかない
え?
667:774ワット発電中さん
16/03/17 14:35:21.12 nF2o+026.net
>>646
何を持って新チップというのでしょう?
668:774ワット発電中さん
16/03/17 14:38:21.95 NmOkXuNP.net
アセンブラ以外は認めない
MPLAX 8.92以外は認めない
84A以外は認めない
669:774ワット発電中さん
16/03/17 16:15:15.65 A5/4QXQz.net
今日、pickit3買って
もう、ファーム飛ばした(泣)
670:774ワット発電中さん
16/03/17 17:05:04.20 nF2o+026.net
>>650
僕は予備を買ってある。夜中に壊れたら困るし。
671:774ワット発電中さん
16/03/17 17:24:38.44 5KU/3Yx/.net
うちのpickitは出先でデバッグとかすると、帰ってきてから良く蒸発している
同じ客先に行って筐体をバラスと、なぜか発見したりもする
たまに12Vかけたりしてるから仕事がきつくてバックレてるのかもしれん
気がつくと2�
672:ニ3あわせて4台くらい持ってる
673:774ワット発電中さん
16/03/17 17:49:31.93 eHPRMr9K.net
何度も飛ばしたと思ったことあるけど結局使えるようになってる不思議なやつ
674:774ワット発電中さん
16/03/17 17:57:17.89 8PfcmGq6.net
>>649
お爺ちゃん、晩ご飯もう食べましたよ
675:774ワット発電中さん
16/03/17 18:38:13.63 mosStzmR.net
pickit2が壊れたら3を買おうと思っていたのに今日まで買う機会のない俺
676:774ワット発電中さん
16/03/17 18:40:28.59 WZd225o1.net
>>650
ボタン押しながら、USB 挿してもだめ?
677:650
16/03/17 19:24:32.20 A5/4QXQz.net
>>656
駄目です
全LEDが点灯しっぱなし
aliexpressにファーム修復用に10ドル位の安い互換機注文しました
678:774ワット発電中さん
16/03/17 20:41:38.04 8mopgBcq.net
>>647
Cでもタイマーを使わずに正確に時間を測ることが出来るならCでもいいだろうけど。
アセンブラよりもめんどくさそうだなぁと。
679:774ワット発電中さん
16/03/17 21:01:45.18 M9oiVCYC.net
壊れたときのために中華パチモンを買ったけど
まだ一度も壊れてないというか
普段パチモンの方を使ってるw
680:635
16/03/17 21:11:43.56 P6Tla8Qb.net
>>658
>アセンブラよりもめんどくさそう
自分はアセンブラできないんでどっちがとか比較は出来ないです。
適当にコードを書いてからStopwatchを使ってシミュレートして結果を見て微調整です。
どうせインストラクション・サイクル以上に細かくは調整できないんだからって感じです。
今の話の50msだの100msだのって大雑把でいいなら全く問題ないです。
681:774ワット発電中さん
16/03/17 22:21:21.19 5KU/3Yx/.net
>>658
Cでも、とか2回も繰り返すって、あなたの中ではよっぽど大事なことなんですね
682:774ワット発電中さん
16/03/17 22:40:20.13 sDSnVIJm.net
>>658
Cでは正確でないという根拠がわからない。
どっちにしたってHEXになってPICに書き込まれりゃ
それ以上でもそれ以下でもなく言われた仕事を繰り返すだけでしょ。
ということは1サイクル分長くするか短くするかってだけのこと。
それともアセンブラだと何かすごい方法でもあるの?
683:774ワット発電中さん
16/03/17 22:55:29.68 Aes4giMf.net
>>662
コンパイル結果のコードが完全に予測できるとはさすがです
684:774ワット発電中さん
16/03/17 23:47:58.30 sDSnVIJm.net
>>663
残念ながら、それは私が予測するんじゃなくて、IDEのシミュレータが予測します。
685:774ワット発電中さん
16/03/17 23:53:23.72 Hvpah7VF.net
50msか100msかっていう程度の話じゃ、1命令サイクル毎に
調整できなくたってかまわんわな。
てか、ループ回数で時間測っているとその間別の割込みを
受け付けることもできなかったりするし、かえって不自由。
686:662
16/03/18 00:01:31.23 K75ENWrz.net
>>665
そうです。
本当のところは質問者にタイマー割り込みを使うことを勧めるのがいいと思います。
でもどんな事情なんだかわからないし。
アセンブラのことはよく知らないのでこれを機に便乗して質問させてもらってます。
687:774ワット発電中さん
16/03/18 03:19:04.04 s6GOoUK6.net
IDEのシミュレータだって予測なんかしてないよ
コンパイルしてバイナリ(HEX)になったものをシミュレートしてるだけ
Cで問題になるのは、コンパイルオプション変えたりリするとシミュレーション時と結果が変わってくる事がある
特にこういう時間待ち系のループなんてのは、最適化でバッサリ削られちゃったりする場合もある
客観的に見れば、単に時間潰しで意味も無い繰り返ししてるだけだからね
個別の、たとえばこういう50msと100msを弁別するというコードを書いてシミュレータで検証して
それでOKになったとしても、他の部分を書いて全体として動かした時に、速度的に厳しくて速度優先で
オプティマイズするとか、コード量が多くてサイズが厳しいからとサイズ優先にしてみたりすると
最初のシミュレータでの検証が意味を成さなくなってしまう事もある。
コンパイラがバージョンアップして出て来るコードが変わってくる事だってある。
コンパイルされてバイナリになってしまったものが突然速くなったり遅くなったりなんて事はもちろん起こらないけど
同じソースをあるプログラムに組み込んだ時と別のプログラムに組み込んだ時。同じプログラムを別のPC環境で
コンパイルした時。同じプログラムを5年後にもう一度コンパイルした時に、結果が変わってくる事もある。
そんな「運が良ければ動きます」みたいなコードを書いてちゃダメ。
だからアセンブラで書きなさい・・・って話ではなく、出て来るコードが変わり得るコンパイラを使うなら
・タイマ割り込みを使う
・フリーランカウンタ値を見る
・delay()系の速度を保証された関数を使う
といった、コンパイラが吐き出すコードに依存せずに常に同じ結果が得られる方法を選択すべき
688:774ワット発電中さん
16/03/18 03:42:55.92 thipX1Ge.net
>Cで問題になるのは、コンパイルオプション変えたりリするとシミュレーション時と結果が変わってくる事がある
>特にこういう時間待ち系のループなんてのは、最適化でバッサリ削られちゃったりする場合もある
最適化されると問題になる部分だけ最適化しないようにすればいいだけでは?
689:774ワット発電中さん
16/03/18 04:32:20.56 K75ENWrz.net
>>667
オプションを変えたり、コードを書き変えたり、コンパイラがバージョンアップしたり、
別のプログラムに組み込んだ時はシミュレーションし直せばいいってことですね。
ええ、もちろん、言われなくてもそうしますとも。
それと、幾度も言ってるように、>>626が
>タイマーを使わずに処理する簡単な方法ってあるでしょうか?
って言ってるからその前提で話をしてるんですよ。
タイマー割り込みを使うなら、そもそもアセンブラである必要性も皆無でしょ。
690:774ワット発電中さん
16/03/18 05:18:24.42 3wZ+fePf.net
>>667
シミュレーションってのは予測のこと。
コードがチップに書き込まれてブートアップしたときにどのように動作するかを予測してIDE上で模倣する。
最初の2行を読んだだけで続きを読む価値がないことがわかる。
691:774ワット発電中さん
16/03/18 05:26:12.44 VyGQITRV.net
>>626
>タイマーを使わずに処理する簡単な方法ってあるでしょうか?
ありません。タイマーを使ってください。
692:774ワット発電中さん
16/03/18 05:33:34.31 s6GOoUK6.net
>>669
>シミュレーションし直せばいいってことですね。
>ええ、もちろん、言われなくてもそうしますとも。
だから、その考え方がダメだって言ってんだけど。
シミュレーションしなおさなきゃいけない所が10ヶ所になったら、コンパイラがバージョンアップするたびに
10回シミュレーションするの?
コンパイラが更にバージョンアップしたら、もう10回しなおすの?
何回もシミュレーションしなおして、毎回OKだったらそのうち「まぁずっと大丈夫だったから多分そのままでもいいよね」
ってなるよね。人間どんどんサボる事覚えるから。
もっと時間が経ったら、シミュレーションし直さなきゃいけない事も忘れるよね。人間だから。
で、ある日大規模なバージョンアップがある訳さ
で、「何だかわからないけど動かなくなってしまったコード」が手元にあって途方に暮れる事になる
そんな事になるぐらいなら、最初から現物合せなんてしなくても良いコード書いとけばいいじゃん。
50msと51msとか、ごくわずかなマージンしか無いのなら現物合せで合せ込まないと仕方ない場合もあるけど
50msと100msみたいに倍半分マージンがあれば、きちんとタイミングを考慮したコードなら無調整で行ける。
693:774ワット発電中さん
16/03/18 05:34:25.67 s6GOoUK6.net
>>670
シミュレータが「予測」しているのはハードウェアの動きであってCコンパイラが吐き出すコードを予測している訳ではない
694:774ワット発電中さん
16/03/18 06:10:34.91 B0lpFJKr.net
>>673
>シミュレータが「予測」しているのはハードウェアの動きであって
つまりシミュレータは予測してるんですね?
あなた
>IDEのシミュレータだって予測なんかしてないよ
って書いてますけど、いったいどっち?
それから、
>Cコンパイラが吐き出すコードを予測している訳ではない
ハードウェアの動きはコードによって決まるんですよ。
動きは予測してるけどコードは予測しないってどういうことです?
コード無しにどうやって動きを予測するんです?
695:774ワット発電中さん
16/03/18 06:44:15.57 6j4MaTIK.net
>>672
高々50ms、100msを区別するだけのコードで、
>シミュレーションしなおさなきゃいけない所が10ヶ所になった
場合を想定し
>ある日大規模なバージョンアップがある
ことを予測した上でコードを書きなさいと、
>タイマーを使わずに処理する簡単な方法ってあるでしょうか?
と聞いてる初心者に勧めるわけだ。
なかなか壮大なスケールですね。
本当にそういう日がやってくるといいですね。
そして、その程度のソースで途方に暮れなかった喜びをぜひ噛み締めてください。
696:774ワット発電中さん
16/03/18 06:44:52.18 gnl1GVLs.net
Cがあるのにアセンブラ
Xがあるのに8.92
タイマーがあるのにnopぶんまわす
どうせ考えるなら
使わない屁理屈を考えるより
使いこなした利益を考えた方が良いと思う
697:774ワット発電中さん
16/03/18 07:03:32.75 lKK825QN.net
えーっと。
なぜタイマーを使わないのでしたっけ。
698:774ワット発電中さん
16/03/18 07:08:52.56 ZkOGaVaS.net
そういう設定だから
699:774ワット発電中さん
16/03/18 07:25:33.18 s6GOoUK6.net
>>674
ごめん
文脈というものを理解できないアスペとは会話が成り立たない事が経験上わかってるので
文脈を理解できないあなたとは対話する気が無い
700:774ワット発電中さん
16/03/18 07:30:19.71 s6GOoUK6.net
>>675
高々50ms、100msを区別するだけのコードで、
>シミュレーションしなおさなきゃいけない所が10ヶ所になった
場合を想定してる訳じゃない
一つ一つは高々50ms、100msを区別する程度の簡単なものでも、その簡単を積み重ねたのが
大きなプログラムだったりシステムだったりするんだよ
だから、簡単な事の段階で、いかに無駄を減らすか、後々の手間を減らすかというのが
大規模なプログラムを作れるようになるか、永遠の初心者Lチカで終わるかの差なんだよ
初心者だからこそ、「動けばOK」ではダメですよって話してんの。
永遠の初心者なんだったら、まあ好きにすればいいよ
701:774ワット発電中さん
16/03/18 07:56:48.96 y9dlYQqt.net
タイマーを使わないって条件自体が意味わからん。
16F84Aだってタイマーあるし、使い方分からんってんなら勉強すればいいだけ。
702:774ワット発電中さん
16/03/18 08:25:49.54 K2lQOBUA.net
きっとレジスタの説明が書いてるデータシートを見るのも嫌なんだよ。
PCで覚えたC言語だけを使いたいのかもしれない
703:774ワット発電中さん
16/03/18 08:34:23.32 Ozd5vTuV.net
>>671
外部からGPSクロックを分周して割り込みをかける
704:774ワット発電中さん
16/03/18 09:00:10.50 8I/7mpyP.net
実際、同じソースなのにコンパイラが吐くコードによって100msが50msに変わることなんてあるの?
705:774ワット発電中さん
16/03/18 09:20:21.06 thipX1Ge.net
>>684
ないよ
ちょっと頭のおかしい粘着質な奴が1人いるみたいだけど趣味の工作でナニ言ってんの?
って感じではある
C18は最適化のあり無しでそこそこ違うコードを吐くけど、XC8はFreeでもPROでも
ほとんど変わらないコードを吐く場合が多い(じゃあPROの存在意義って一体・・・
msオーダじゃなくてμsオーダのパルス計測でループカウント数える処理を
実際に書いて動かしてるけど、PROとFreeで違いは1命令だけだった。つまり1ループあたり
4TCYしか変わらない
706:774ワット発電中さん
16/03/18 10:00:12.45 qWmbEhQK.net
>>685
最適化の設定同じなら、結果も同じ。
スタンダードやプロだと、高度な最適化の設定が可能と言うだけ。
プロとスタンダードの意義は、サポートが有るかどうかだと思う。
707:774ワット発電中さん
16/03/18 10:34:07.69 thipX1Ge.net
ちなみにCで書いてコンパイルして、出来上がったLISTファイル見て生成された
コードを確認してループに1周に必要なクロック計算して、ループ1周がきっちり
希望の処理時間になるようにNOPを入れて調整してる
これってCで書いた事になるの?アセンブラで書いた事になるの?
ID:s6GOoUK6 に言わせるとこの手法だと「ある日大規模なバージョンアップ」
があったら全てが駄目になるらしいけど、いちいちコンパイラがバージョンアップ
するたびに再ビルドしてる訳でもないし俺はこれで何の問題も無いわw
708:774ワット発電中さん
16/03/18 12:12:50.96 K4RgExsc.net
なんでPIC関連スレって何の話題でもアセンブラ対Cに帰結してしまうのかね。
「AKBグループ、誰推し?」とか降ってもそっちに持って行きそうだなw
709:774ワット発電中さん
16/03/18 12:15:45.13 K2lQOBUA.net
そもそもXだとコンパイラを複数バージョン入れて設定で選べるから
コンパイラのバージョンアップがどうのこうのは関係ない
710:774ワット発電中さん
16/03/18 14:11:07.67 2TpIuQBi.net
>>ID:s6GOoUK6
タイマー割り込み使え
は正しいんだけど、そこまでの話の展開上にホラ、空想、妄想が多すぎて結論がかすむ
そもそも、>>669の言外に「アンタの言うような状況にゃならんよ」が含まれていることさえ読めない
そして最後にたどり着くのは、プロのプログラマとしての心得が云々で、結論は
>まあ好きにすればいいよ
所詮「PICを使った趣味の電子工作遊び」なのに何必死こいてんだかw
711:774ワット発電中さん
16/03/18 14:28:20.95 VyvrgaYz.net
>>680
>高々50ms、100msを区別するだけのコードで、
>>シミュレーションしなおさなきゃいけない所が10ヶ所になった
>場合を想定してる訳じゃない
そう、そのとおり
だからあんたの言うような心配は無用
712:774ワット発電中さん
16/03/18 14:45:34.01 8GnrbyGV.net
ID:s6GOoUK6
書きも書いたり1634文字
これ見てると、たいそうな御託をだらだら並べてる暇に
タイマー割り込みのコードの例でもちゃちゃっと書いてやりゃあいいのにって思う
こういうジイがはびこるから
趣味の電子工作の分野でArduinoに母屋を明け渡す羽目になったんだとつくづく思う
713:774ワット発電中さん
16/03/18 17:43:47.17 JCZjQYQa.net
PICスレもAVRスレも不毛の荒野だな
「性善説」を信じている人間も読めば考えが変わるだろう
714:774ワット発電中さん
16/03/18 19:10:02.83 fFAsgR9t.net
毎回おもうが初心者と上級者の棲み分けしようよ。タイマー使わないなら使わないでいいよ。初心者なんだから。
アセンブラやhexの話題はいらないわ。
715:nyannnyannko
16/03/18 19:15:44.13 4DsyICk0.net
PIC使いたいの?
手ほどきしよか?
716:774ワット発電中さん
16/03/18 19:48:02.84 a9J8rdsz.net
>>694
アセンブラでなきゃー
大規模なバージョンアップがあったときにー
コンパイラのオプションが変わったらー
こういうのは上級者じゃない
ただの上級者気取り
分けるならIDEのバージョンとかアセンブラかCかで分ける方がいい
717:774ワット発電中さん
16/03/18 19:58:25.10 NoGbcRTC.net
>>696
かなり古いCCSCなら認めてやってもいい、たまに同じソースでエラー吐くからアレw
718:nyannnyannko
16/03/18 20:07:16.63 4DsyICk0.net
c言語でも最終的にはアセンブラで動いている
翻訳されたc言語も逆アセしてた
浮動小数点数演算をアセンブルで書くのはナンセンスここはc言語の得意分野
実行時間がマイクロ秒が必要な演算ルーチンは場合は全てクロックを数えてた
適材適所 マイクロチップのc言語、翻訳されたアセンブラ割り込みを重点的に
全部読んでた?気に入らなかったらアセンブラで書き直してた
SHARPのX1が全盛時代だった頃のペンネームは
祝1/2平 祝さんの半分ぐらいかなって思ってたから
719:774ワット発電中さん
16/03/18 20:21:13.52 8I/7mpyP.net
祝一平はとっくの昔に死んだじゃんアホか
720:774ワット発電中さん
16/03/18 20:53:07.34 a9J8rdsz.net
>>697-699
検索かけないと何の話か分からんわw
721:774ワット発電中さん
16/03/18 21:32:09.56 8YZt2S4C.net
23時間ぶりに来たら殺伐としてたw
722:774ワット発電中さん
16/03/18 21:37:26.44 a9J8rdsz.net
殺伐が終わってカオスの時期に入ってるよ
723:nyannnyannko
16/03/18 21:44:41.45 4DsyICk0.net
PICをどの程度使いこなしたいかで話は変わる
外付け部品なしで簡単に使うなら c言語で実行時間無視でいいじゃん
PICを骨までしゃぶりたいならアセンブラ必須
ここまで私の意図にそうした行動してくれる事に感激
この時PICの動作周波数が最高速度ではないことにも注目ね
UARTの整数倍になってる
724:774ワット発電中さん
16/03/18 22:21:42.35 a9J8rdsz.net
PICkit3 がブリックした人どうなったかな?
725:774ワット発電中さん
16/03/18 22:31:21.92 a9J8rdsz.net
あ、ごめん、書き込み用互換機待ちだったね。
726:774ワット発電中さん
16/03/18 22:45:48.76 lKK825QN.net
PICを骨までしゃぶる必要がある人ってどれぐらいいるんだろう。
何万個も量産で使ってるような人かな。
OS自体を組む人ならともかく、PICでアセンブリ言語をごりごりやる必要性があるなら
もっと速いCPU使えば良いような気がする。
PICを使うこと自体が目的なら、アセンブリも楽しいだろうけれど、
こうでなくちゃいかんみたいに言っちゃ良くないと思う。おおらかにいこうぜ。
727:774ワット発電中さん
16/03/18 23:09:22.74 a9J8rdsz.net
>>706
あまり相手しない方がいいと思うよ
文章読んだ限りじゃちょっとあれだから
728:nyannnyannko
16/03/18 23:15:50.85 4DsyICk0.net
もう10年以上経つからね
後閑さんのHPに投稿しなくなったし
729:774ワット発電中さん
16/03/18 23:44:58.57 YBPuvPbA.net
今日も不毛な議論が続く
730:774ワット発電中さん
16/03/19 00:24:55.60 lnlBNVll.net
おじいちゃんの趣味
時間をかけて盆栽を育てるのと同じ
優しい植物の育てかたの井戸端会議で
盆栽のうんちくを語りだす
本人だけは満足
731:774ワット発電中さん
16/03/19 04:03:40.78 8HKYRpCT.net
.
みなさん、雑談するなら、PIC専用のスレ 52 に行ってください。
ここは、僕ら初心者が質問する場所です。
知ったかの先輩たちが、傷をなめ合ったり、知識自慢するところではありません。
X1とか言われても何のことだかわかりません。(CPU違うし)
むこうのスレに閑古鳥が鳴いています
お願いですので、雑談はあっちのスレでお願いします。
僕たち初心者が質問てきません。
732:774ワット発電中さん
16/03/19 06:41:21.58 dh6dpEYP.net
>>711
で、質問は何?
733:774ワット発電中さん
16/03/19 07:40:50.10 LyxoO7u4.net
人の作ったHEX書き込んで動かすので精一杯
734:774ワット発電中さん
16/03/19 08:06:15.10 635XmAGE.net
>>712
X1について知りたい様子
735:774ワット発電中さん
16/03/19 08:09:55.53 KyWjx3kV.net
いつものモンスター初心者か
736:774ワット発電中さん
16/03/19 09:43:31.32 4R+9MpKs.net
知ったかの先輩は永遠の初心者なんだよ
わかってやれよ
737:774ワット発電中さん
16/03/19 10:10:39.60 n1UbKQVv.net
パルスの定義が曖昧なんだよなぁ。デューティー比も書いてないし。
>>706
そのあたりは、その人の都合次第じゃないかねぇ。
一番早いCPUを使ってでもゴリゴリやらないと駄目な場合も有るだろうし、
パッケージの都合とか価格の都合とか、逆に余裕が有るからそこまでギチギチにしなくていい場合もあるし。
自分の場合はプログラムそのものを楽しむ方だから基本的にギチギチ派だけどw
これだけの処理速度が稼げるのならもっと詰め込んでしまえ!とw
目的が決まっているなら楽な方にする。
738:774ワット発電中さん
16/03/19 12:07:10.66 PQLehE14.net
>>706
パッケージサイズやピンサイズから来る制約(コンストライント)もあるね
使おうとしてたピックが14ピンなんだけど微妙に処理速度やメモリー(プログラム
メモリー領域やフラッシュエリア)が足りない、でも上位品種はピンの数がいきなり
28ピンまでピンの数が増えてしまってそうするとプリント基板のプリントパターンの
設計から見直さなきゃならなくなるのでパターンの設計は見直したくないので
出来るだけ今使ってる14ピンのピックのままで作業を進めたいとか
特にマイクロチップのピックはこの傾向
739:が強いね
740:774ワット発電中さん
16/03/19 12:21:36.03 ptTWuu9O.net
>>717 >>718
ギチギチ派だったり、そのCPUでなくちゃダメだから頑張るのは構わないんだが、
他人にもそうであれと言うのはおかしいなって言いたかった。
特に少量のものを作るぶんには、PICにそれほどの価格的な優位性はないんだし、
組みやすいもので組めば良いよね。
741:774ワット発電中さん
16/03/19 16:32:39.59 KWlgN4sB.net
>>718
実は基板作り直したほうが工数考えるとうんと安いんだけど、
素人乞食と文系上司は工数タダだと思ってるからな
742:774ワット発電中さん
16/03/19 16:45:42.34 Kt6iJiB/.net
>>718
初心者に最初からそんなギリを体験させる必要はない
仮に上級者だとして逆にそんな設計しか出来ない時点で何だかなって感じ
初心者は当面は16F1以降の18ピン以上を使えばいい
743:774ワット発電中さん
16/03/19 16:53:02.05 rf9d6UK6.net
初めてのPICでアセンブラで命令ワード数・実行クロックを数えながらギチギチで作るとか無理いわんといてw
744:nyannnyannko
16/03/19 16:53:44.84 GFNtIMIb.net
以前PIC18f452 とKL5C16030 のCPUのバグを指摘した事がある
その時の反応と同じだね
あんたなんかに我が社のCPUのバグなんか見つけられる訳がないって言われた
証拠をきっちり出したら驚かれた
ちなみに18f452の時は米国のPICフォーラムが大荒れして一時閉鎖された過去がある
金返せとかうんことか汚い言葉だらけになった
745:774ワット発電中さん
16/03/19 17:07:25.51 UobfF0En.net
分かってるなら回避すりゃいいのに
746:nyannnyannko
16/03/19 17:35:59.17 GFNtIMIb.net
回避すると上司の要求の8割ぐらいしか出来なくなる
CPUのバグでこれ以上は出来ないと言ったら
CPUにはバグなんてありえない
ちゃんと言われた通りに作れと言うだけだよ
747:774ワット発電中さん
16/03/19 17:38:13.99 17bEskpa.net
>>723
わかる気がする。16Fではスタックが4段しかなくCALL文がネストが浅くなる。Auto変数である引数が使えない。不動小数点Libがメモリパンクして
リンクできない、割り込みが入り変数に0を入力するとZ-flagが0になってしまう、コンパイラが作れない、・・・初心者にも中級者にも難し過ぎる。
USARTが内蔵されてないか、あってもパリティービットが使えない、タイマー割り込みが一定時間にならない・・・沢山の課題
748:774ワット発電中さん
16/03/19 17:40:22.81 17bEskpa.net
そんな悩みのうさばらしには、こちらをどうぞ!
燃え上がれガンダム
URLリンク(www.youtube.com)
『さすがゴッグだ、なんともないぜ』 for スーパーロボット大戦IMPACT
URLリンク(www.youtube.com)
749:nyannnyannko
16/03/19 17:40:37.28 GFNtIMIb.net
18f452は割り込みにバグがあって
HIGHグループとLOWグループの割り込みが同時に掛かると
LOWグループ割り込みを無視してリターンアドレスを2byte次に戻ってしまうというバグだった
ソフトでは回避不可能
750:774ワット発電中さん
16/03/19 17:45:58.78 DdjPBRy2.net
24FやdsPICやPIC32しか使わないから全然困らないや
751:nyannnyannko
16/03/19 17:48:00.59 GFNtIMIb.net
KL5C16030のバグは
割り込みから戻るとDレジスタを破壊するバグだった
752:774ワット発電中さん
16/03/19 17:50:42.49 F6lCJ7A3.net
16F5xとか12F509とかしか使わないから関係ないな。
なお、次のデジキーの注文は16F570の模様
MPLABに昔みたいにCCSCの一番下のランクただで付けてくれないかなぁ…
753:774ワット発電中さん
16/03/19 17:58:22.04 hApHM5ET
754:.net
755:774ワット発電中さん
16/03/19 18:17:16.65 bkAqdiQO.net
みなさん、
雑談するなら、PIC専用のスレ 52 に行ってください。
ここは、僕ら初心者が質問する場所です。
お願いですので、雑談はあっちのスレでお願いします。
僕たち初心者が質問てきません。
756:nyannnyannko
16/03/19 18:30:18.29 GFNtIMIb.net
大荒れ
757:nyannnyannko
16/03/19 18:31:51.94 GFNtIMIb.net
わたしゃKL5C16030だよ
758:774ワット発電中さん
16/03/19 18:32:00.30 mj5e6PAw.net
荒れるってことは人としてのレベルが低いってこと?
759:774ワット発電中さん
16/03/19 18:32:18.75 Mam8Lt5Y.net
質問しないで文句だけ言う人は相手にされないのです
760:774ワット発電中さん
16/03/19 18:37:12.39 17bEskpa.net
>>733
もし初心者向けというならば、ある程度マイクロプロセッサ構造が洗練されたCPU/MPU利用がお勧めです。
PICは、初心者にもそれ以上の人にも大変難しく時間を浪費・苦労し、生産性効率が下がり、教育向けでないので、
最初は、例えばモトローラ系のCPU/MPUアーキテクチャのものをお勧めしたいところです。
そうした教育過程をクリアすれば、応用に適したCPU/MPUを選別できる力もつけられると、経験ではそう思います。
もしPICが適材ならば適所があるかもしれません。
またメジャーなCPUでも大きな構造問題があるのがわかってくると思います。
761:774ワット発電中さん
16/03/19 18:40:47.37 GFNtIMIb.net
なぜ荒れたか?
マイクロチップはバグのあるCPUを保証しません
あなたの取引先と相談してください
ってこめんとしたからだよ
もう大荒れでした
sssp://o.8ch.net/9bsu.png
762:774ワット発電中さん
16/03/19 18:47:59.13 AUH3CGvM.net
8ピンの品種からPIC32まで十羽一絡げに話したがる奴がいるな、結構な人数。
763:774ワット発電中さん
16/03/19 18:52:04.67 4Fj/frgg.net
町工場の機械の制御ボード、スイッチボードを作っって納品するのが仕事だけど
ずっと使ってるからPICだわ。慣れてるし、こんな要件、案件ならこのくらいの工数で上がる、
とかも頭のなかで直ぐにわかるしなー。
今の時代、町工場の注文なんていつ無くなるかわかんねぇ、とかいつも思ってんだけど、
同業があんまり居ないらしく仕事はなくならん、不思議なもんだ。
764:774ワット発電中さん
16/03/19 19:02:48.31 o2gHqZIX.net
>>739
コメント…?
765:774ワット発電中さん
16/03/19 19:04:17.43 GFNtIMIb.net
わたしゃ最初に使った18が好き
16はキャリーフラグの判定が違う
16でもそこそこのプログラムはつくれるぉ
766:774ワット発電中さん
16/03/19 19:08:23.73 JCcAvyAu.net
>>739
分かったから名前欄をちゃんとnyannnyannkoにしとけ!
767:nyannnyannko
16/03/19 19:22:36.37 GFNtIMIb.net
後閑さんのページなどを見れば10年ぐらい前に活動していた痕跡がみつかるかも
あたしが変態的なプログラムを組めるのも@1回ぐらいです
@1回普通の人に理解不可能なプログラムを組んで見たい
無料でいいよ
768:774ワット発電中さん
16/03/19 19:46:12.28 6GH9xKmr.net
MPLAB Xについて質問させてください
buildするとdistフォルダの中に MPLAB.X.production.hex と言う名前でHEXファイルが
作成されますが、これを任意の名前にする事は出来ないのでしょうか?
全体の一部だけでもいいです
769:774ワット発電中さん
16/03/19 19:52:43.43 tS9/muci.net
>>746
プロジェクトの名前.production.hex
になります。
プロジェクト名がMPLAB.Xなのでその名前になります。
770:774ワット発電中さん
16/03/19 20:04:26.74 rf9d6UK6.net
>>746
できますん。
プロジェクト設定のBuildingのExecute this line after buildに下記を入力
copy ${ImagePath} 好きな名前.hex /y
771:774ワット発電中さん
16/03/19 20:33:26.04 DueG+Jt1.net
>>726
スタックって何ですか?
772:774ワット発電中さん
16/03/19 20:50:14.28 Mam8Lt5Y.net
タイヤが空回りして動けなくなることです
773:774ワット発電中さん
16/03/19 20:53:29.82 etdUKbtr.net
お前らいい加減あっちへ行け
774:774ワット発電中さん
16/03/19 20:59:14.87 x4wSme/d.net
それは論理的ではない
775:774ワット発電中さん
16/03/19 21:19:25.28 1YqkBR1s.net
ID:Mam8Lt5Y
クズ!
776:774ワット発電中さん
16/03/19 22:47:25.66 bkAqdiQO.net
みなさん、
雑談するなら、PIC専用のスレ 52 に行ってください。
ここは、僕ら初心者が質問する場所です。
お願いですので、雑談はあっちのスレでお願いします。
僕たち初心者が質問てきません。
777:774ワット発電中さん
16/03/19 23:38:51.43 hApHM5ET.net
ちゃんと質問には答えてるみたいだけど
778:774ワット発電中さん
16/03/19 23:40:06.04 DdjPBRy2.net
回答者を追い出すのか、最近の初心者は違うな
779:774ワット発電中さん
16/03/19 23:41:44.33 mj5e6PAw.net
やっぱり人間的なレベルが低い人が多いのですね
780:774ワット発電中さん
16/03/20 00:02:04.94 6dP7hZ8i.net
これからも一日2回ずつ書くんだろう
781:774ワット発電中さん
16/03/20 00:09:45.55 kl+3LrXx.net
ちょっと何言ってっかわかんないっすね
782:774ワット発電中さん
16/03/20 03:15:51.56 fhrGMRpg.net
>>755
スタック教えてください。どういう事を指しますか?
783:774ワット発電中さん
16/03/20 04:24:53.33 fd+5APco.net
ggrks
784:774ワット発電中さん
16/03/20 05:08:00.12 XV5bCoSe.net
>>760
ググっても本を読んでもわからないならばこんな所で他人に聞いても理解できるとは思えないが
暇なのでマジレスすると
スタックっていうのは一般的に、一時的に使う後入れ先出し型のデータ置き場で、
例えばサブルーチンを呼び出しする時に戻る場所を覚えて置いておくとか
レジスタを一時退避するとかそういう時に使われるもの。
PIC16Fではハード的にそれが8段分しか無くて、オーバーすると最初に積んだものから上書きされてしまうから、
サブルーチン内からさらにサブルーチンを呼び出したりするのには制限があって云々、
という話です
おわかりいただけただろうか…
おやすみなさい
785:774ワット発電中さん
16/03/20 08:47:11.26 ybmKNUTO.net
秋月で18F25K22が「キャンペーン価格」になってる、一体何のキャンペーンだ?w
786:774ワット発電中さん
16/03/20 08:58:19.75 jY/hl+4w.net
>>760
>>762の説明で理解できたのかどうか書かないといけないよ。
スタック自体はメモリの使い方、構造の一般的な呼称だけど、
PICという文脈では、762が書いてるサブルーチンの戻り場所の記憶の意味で使われることが多い。
なんでかというと、このあたりは他のマイコンと比べるとPICが特殊で(と俺は思う)、
特にPIC16以下だとPICの弱点として取り上げられることが多いから。
直接の関係はないけれど、英語由来の専門用語は、知ってる者同士ならカナ表記でも良いだろうが、
英字表記の方が意味を調べてもらい易くて良いと思うことがある。
メモリの方はstackだし、750がチャチャ入れしたようなにっちもさっちもいかない状態はstuckだし。
昔、パソコン雑誌で「現金払いは手続きが早いことになぞらえてキャッシュメモリと呼ばれる」みたいな
ことを書いてたライターがいて吹いたことがある。
787:nyannnyannko
16/03/20 11:08:31.28 p8XeadyY.net
スタック昔はサブルーチンかえらメインルーチンへの戻り場所を記憶するだけのもの
だった
プシュとポップの数を間違えなきゃ変数置き場としては重ならないから最適って気がついた人が
c言語なんかで良く使ってる
788:774ワット発電中さん
16/03/20 11:35:41.05 jY/hl+4w.net
>昔はサブルーチンかえらメインルーチンへの戻り場所を記憶するだけ
どれぐらい昔なのか(もしくは「いにしえの○○というCPUの時代には」とか)を
書いてくれると面白いのにな。
789:nyannnyannko
16/03/20 12:13:36.12 p8XeadyY.net
毎週金曜日に見たことも無い検定前のパチンコの機械が届く
毎週日曜日に送り返す
その間にした事は封印切ってROM取り出す
逆アセンブルして100バイト程度のプログラムを埋め込む
なぜかわからないがリッチになる
その繰り返しだった
790:774ワット発電中さん
16/03/20 12:28:21.83 XV5bCoSe.net
>>767
カバン屋さんですね
791:774ワット発電中さん
16/03/20 12:32:18.83 NrYQ6Rqb.net
俺の昔の知り合いがROMの内容を逆アセンブルして
書き換えられていないか調査する仕事をやっていた
やっぱりチョロイ仕事だと言ってたな
今日ここに目出度く需要と供給が完結したw
792:774ワット発電中さん
16/03/20 12:41:55.12 6dP7hZ8i.net
>>763
春のパン祭りです
793:nyannnyannko
16/03/20 13:22:01.89 p8XeadyY.net
ROM知らない人は 32 64 128 256の モードでしか読まない
フロッピーベースで渡す時 裏側を読めない ROMで渡すのが 当たり前だった
拡張子そのまんま BIN=素のまま 32=改変したROM
64 ROMを削り取って1ランクした偽装ROM
128 256 も同じ
ど素人の警察を欺く手段
でも PICから離れてないかい?
わたしゃPICの挑戦なら誰でも受ける
794:774ワット発電中さん
16/03/20 15:20:19.47 AyCIhD/7.net
一時期書き換え1回のEPROM内蔵のCPUだったけど、今は外付けROMに変わったの?
795:nyannnyannko
16/03/20 15:37:54.12 p8XeadyY.net
その前の無法ちたいのころー
796:774ワット発電中さん
16/03/20 16:56:26.15 PpUw+TTS.net
書き換え1回ならEPROMじゃないんだろ
なんで"E"が付いてると思ってんの?
797:nyannnyannko
16/03/20 17:40:28.46 p8XeadyY.net
E がつく前の
ワンタイムEPROMもあったんだよ
798:nyannnyannko
16/03/20 17:45:58.74 p8XeadyY.net
紫外線消去可能なROMが出始めたころ
特定の場所だけに紫外線照射すればソフトが盗めるって
きがつかれた その後紫外線消去は無くなった
ワンタイムCPUも削って消せるって気がつかれてから無くなった
799:774ワット発電中さん
16/03/20 17:46:39.09 AyCIhD/7.net
EEPROMとEPROM
800:774ワット発電中さん
16/03/20 18:20:23.92 ks7PB/XW.net
懐かしいね、16C84とかあったね
801:774ワット発電中さん
16/03/21 01:09:39.22 hX6Xsggk.net
E Electrically
E Erasable
P Programmable
ROM
1回しか書けない(=消せない)のはPROM
どんな方法でもいいから消せて書けるのがEPROM
消す方法が電気的方法限定のがEEPROM(UV-EPROMとの区別のために別の名前が付けたもの)
ワンタイムなEPROMなどというものはこの世に無い
ダイがEPROMと同じだけど、消去窓を無くす等で消せないようにしてるものはあったが
それはダイがEPROMと等価というだけでErasableではないのだから、EPROMではない
802:774ワット発電中さん
16/03/21 01:35:04.24 xzDs/hxA.net
>>779
言ってくれてありがとう。
胸がスーッとしたよ。
803:774ワット発電中さん
16/03/21 08:55:22.32 hvWE2GSz.net
>>779
言葉の成り立ちはそれで合ってる。
だけど "one time eprom" とか "otp eprom" 、"ワンタイム eprom"で検索してみたら、そう書いている製品があることがわかる。
昔はよくあったし、今でも(保守用だろうけど)カタログに残ってる。
URLリンク(www.atmel.com)
>ダイがEPROMと同じだけど、消去窓を無くす等で消せないようにしてるものはあったが
>それはダイがEPROMと等価というだけでErasableではないのだから、EPROMではない
EPROMと同じメモリ=EPROMのプログラマで焼ける、というのはとても大きいセールスポイントだったんだろうな。
言葉はいきもの。論理的解釈だけでおかしいと言っても仕方がないこともあるね。
照焼きバーガーとか豆乳ラテとか元々の意味なんてどこかに行ってるし。
804:774ワット発電中さん
16/03/21 11:22:00.13 ov6ZNK7k.net
お疲れ様でした
805:774ワット発電中さん
16/03/21 11:59:36.21 7j5SyYb5.net
窓無しの27xxシリーズとか無かったっけ?確かワンタイムEPROMって言ってた気がする。
27xxシリーズのROMライターが使えますって意味でそうだったんじゃないかと。
パチのROMを引っこ抜いて読み出し、別なROMにそのまま焼くと使えたけど、
その使えたROMに書き換えたプログラムを入れたらタイミング不定で止まっちゃったんだよなぁ。
セキュリティーだったのだろうか。
インタラプトルーチンに有るタイマーの最大値を書き換えただけだったんだけど。
806:nyannnyannko
16/03/21 12:50:12.10 2RZMWuTY.net
ここはPIC初心者の窓口 だれでも最初は初心者
質問があったら私は出来る限りの回答をしたい
807:774ワット発電中さん
16/03/21 14:39:40.56 HZsuucqD.net
>>784
同意
808:774ワット発電中さん
16/03/21 14:53:48.81 MHBXWlF9.net
あいかわらずレス番がよく飛ぶw
809:774ワット発電中さん
16/03/21 15:19:00.43 Ut2Y+/Gz.net
unsigned longの変数cntとkeisanchiが有り、
keisanchi = 60*(1/(cnt*100)/1000000);
と計算してLongToStr(1,1,buf);として
LCDに表示刺せると-60と表示します。
bufは char buf[16];として確保してます。
そもそもunsignedなので符号無しのはずが何故かマイナスでcntの値が変化しも0か-60のどちらかの表示です。
cntは0から2000の間で変化します。
原因はなにが考えられるでしょうか?
810:natu
16/03/21 15:43:34.36 MGHHnXV6.net
>>787
結果のマイナスは、コンパイラ次第だから置いておいて…
cntに0、1、2000を入れて手計算してみれば何となく見えてこないでしょうか?
811:nyannnyannko
16/03/21 15:50:42.35 2RZMWuTY.net
65536の半分で符合が変化する
これはc言語のバグの可能性がある
戻り値が2byte程度の変数ならアセンブラで書き直せばいい
c言語の開発者にバグを認めさせて書き換えろと言っても
半年ぐらいかかるよ
812:774ワット発電中さん
16/03/21 16:05:28.51 hX6Xsggk.net
>>787
LongToStrの第一引数の型はsigned longです
変数cntやkeisanchiをunsigned longと指定していても、singed longの引数を渡すべき所に書けば
暗黙の型変換が行われてsinged long値として渡されます。
unsignedとして扱って欲しいのであればunsigned long値を変換するLongWordToStr関数を使ってください。
あと、keisanchiへ代入している式の右辺ですが、全て整数値として計算される事に注意して
もう一度考え直してみてください。
813:nyannnyannko
16/03/21 16:16:36.02 2RZMWuTY.net
脱帽
814:774ワット発電中さん
16/03/21 16:48:51.58 DwxeU2gX.net
>>787
それだけはっきりした定数式なら変形した方が良いかもね
コンパイラ(オプティマイザ)の良し悪しを考えるより、意図的な書き方をすべき