X



トップページ電気・電子
1002コメント338KB

PIC専用のスレ Part 57

■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/02/03(土) 23:52:05.99ID:EM0c0L1y
     ______
   /Microchip ./|
 / ( ゚∀゚)   /  | アセンブラのアの字もわからない
 |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
 |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
  ||. ||. ||. ||
大人気のPICマイコンのスレ
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富
使いやすくて、しかも安い。やっぱりPICだよね
例の如く基本リンクだ
http://www.microchip.com/  マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
http://www.microchip.com/maps/microcontroller.aspx Microchip Advanced Part Selector (Maps)
またーりやっておくんなまし
種類が多くてワカランって奴は上記パーツセレクタで、機能から最適製品を絞り込め!
教えて君はとりあえずGoogle( http://www.google.co.jp/ ) くらい使おう

テンプレ内の秋月小売価格も在庫が捌ければ、次の仕入れからは昨今の為替相場変動にならって
適宜価格改定されてます。ここの表記価格とは違うかもしれないのでそのつもりで

回答者する人の注意
.  最初に回答したい気持ちは分かるけど、質問者の内容を、落ち着いてよく読もう。
質問者する人の注意
.  あなたの周囲しか通じない変な省略語は使わずに、なるべく詳しく説明してね

前スレ:
PIC専用のスレ Part 56
https://rio2016.5ch.net/test/read.cgi/denki/1501476623/
0521774ワット発電中さん
垢版 |
2018/03/24(土) 21:01:41.47ID:b8u8WUUR
>>519
とりあえず問題の切り分けはできましたありがとうございます

結局のところPIC側ではなくて、モジュールの問題かもしれません

送信はうまく行くのですが、受信をすると電源が落ちてリセットしてしまうことがわかりました。

理由はこれから調査しますが、不良品の可能性もあるのかな?
0523774ワット発電中さん
垢版 |
2018/03/24(土) 22:08:15.09ID:Kty3MHA/
>>521
質問する前にモジュールのデータシートは読んだ?
いや、俺は読んでないけど。
0524774ワット発電中さん
垢版 |
2018/03/24(土) 22:28:40.03ID:b8u8WUUR
>>523
モジュールのデータシー読み込めてないです(泣)
英語ばっかで、つなぎ方などを見ただけで

一度読み込んで見ます

ありがとうございますm(_ _)m
0525774ワット発電中さん
垢版 |
2018/03/24(土) 23:20:20.15ID:ZChT3Wwu
まずは
PC <===> PIC
PC <===> モジュール
で動作確認

PIC <===> モジュール
はその後で
0526774ワット発電中さん
垢版 |
2018/03/24(土) 23:26:08.28ID:b8u8WUUR
>>525
了解しました

とりあえずpcとPICの通信を完全にします

色々ありがとうございます
0528774ワット発電中さん
垢版 |
2018/03/25(日) 00:12:50.86ID:mWqzvsF5
あまりのレスの多さに感動です

>>503
随分インプリメント依存の所への質問ですね。
今回は、約 125μs ごとに赤外線パルスの有無を
チェックし、1ms以上パルスが続けばリーダーと
判断。その後、パルスが止まってから次のパルス
が始まるまでが 1ms以上なら NEC か AEHA、1ms
未満なら SONY と判定するロジックにしました。
2ms 以上パルスが来なければ終わりと判断。

>>504
とりあえず受け取った bit 数と MAX 6 バイトを
丸ごとレジスタに保存。この内容を後で適宜判断
します。

>>505
PIC には、そもそも STATUS というレジスタがあ
るのでそう書くのを躊躇いました。

>>507
以前は割り込みの無い PIC (12F510) を使ってい
たもので、そのくせというかなごりで、TMR0 の
とあるビットを監視してタイミングをとる形で、
全てポーリング処理で作りました。

> CPUを占有してよくて…解析が簡単なのか?

私はそう思っています。マルチタスクは CPU占有
ではありませんが、ひとつのことに専念している
ようにプログラムを書けるので簡単に作れる気が
するのではないでしょうか。

>>508
8 bit PIC の常套手段かと思いますが、プログラ
ムカウンターに対して状態変数を加算することで
複数のアドレスに一発で分岐できます。その分岐
先には、一般的に GOTO を並べておきます。

addwf pcl,f で検索するとワラワラ見つかります。
0529774ワット発電中さん
垢版 |
2018/03/25(日) 00:32:11.73ID:mPfq9Gm7
>>528
せっかくのキャプチャー割り込みを使わないで
ポーリングでやってるのか

メインループの他の処理によってサンプリングタイミングがずれるし
1000命令かかる処理が他に有れば完全に取りこぼすわけだ

125usと言えばPIC16ではトップレベルで応答性が要求される処理
これで割り込みを使わないで何に割り込みを使うの?

アセンブラの前にもうちょっと基本的なことを学んだ方が良い気がする
0531774ワット発電中さん
垢版 |
2018/03/25(日) 01:14:39.79ID:mWqzvsF5
割り込み機能の全くない 12F510 が 50円だった頃
20個買ったやつがまだ結構余ってるんですよ。
今回は割り込み機能のある 12F1501 をハンダ付け
してしまってから間違いに気が付いたのですが、ま、
いいかとそのまま 12F1501 でプログラムを作成。
余ってる 12F510 にもダウングレ−ド移植をしやす
いようにとポーリングでやったんですよ。

全ての処理はイベント処理的に 125μs 以内に終わ
るようにコーディングしてます。割り込みを使えな
いわけではなくて、割り込みを使わないで作ったと
いうだけのことです。
0532774ワット発電中さん
垢版 |
2018/03/25(日) 11:40:34.40ID:BOg+2r5T
超小規模なプログラミングでも
ホビーと業務レベルとの差は大きいな
アセンブラってところがまた泣かせる
0533774ワット発電中さん
垢版 |
2018/03/25(日) 13:25:26.97ID:lrSYKSS5
業務用のは保守性と再利用性最重要視してるから
冗長過ぎて眠くなる
趣味のは各個人の技巧やら独自記法満載で
読んでえ辛くなる
0534774ワット発電中さん
垢版 |
2018/03/25(日) 13:33:12.42ID:3ONxWJnp
>>528
>8 bit PIC の常套手段かと思いますが、プログラ
>ムカウンターに対して状態変数を加算することで
>複数のアドレスに一発で分岐できます。その分岐
>先には、一般的に GOTO を並べておきます。

通常のCPUならそうなんですが、PICのレジスタバンクまたいでアドレスジャンプやGOTOして
かつ、ちゃんと帰ってこれるのかなと思って。
0535774ワット発電中さん
垢版 |
2018/03/25(日) 13:46:34.46ID:mWqzvsF5
赤外線リモコン受光信号にちょくちょく
ちょっかいを出してくるヤツが居る。
何か?と思ったら、Win10 にしてあるも、
ちょっと古いノートPCが、近くに相手が
居ないか定期的に赤外線で声掛けをして
いるようなのだ。

これを使えば PC-PIC 間で赤外線通信が
できるじゃん、と思って技術資料を探そ
うとググってみても中々みつからない。

参考になりそうなサイトをご存知の方、
とりあえずヒントだけでも教えていただ
けませんでしょうか。
0539774ワット発電中さん
垢版 |
2018/03/25(日) 14:04:57.39ID:mWqzvsF5
>>534
プログラムアドレスの下位バイトが 0xff から次の 0x00 にまたがないようにコーディングする必要があります。
0540774ワット発電中さん
垢版 |
2018/03/25(日) 14:36:33.68ID:mWqzvsF5
早速ありがとうございます。でも IrDA のプロトコルスタックを
PIC 側に自作する根性は湧きません。PC側をもっと低水準で
Lチカしたくなります。
0544774ワット発電中さん
垢版 |
2018/03/25(日) 16:54:08.29ID:SORJJxgJ
PC用のIrデバイスドライバがありゃ良いんだな
0545774ワット発電中さん
垢版 |
2018/03/25(日) 16:55:14.71ID:SORJJxgJ
PIC側でbluetooth使うのもありか
0546774ワット発電中さん
垢版 |
2018/03/25(日) 17:18:10.56ID:AuEketqe
memo

https://taroumaru.jp/main/irda_windows10
https://github.com/irkit
https://github.com/kerikun11/IR-Station
https://github.com/iguanaworks/iguanair
https://www.driverguide.com/driver/download/SigmaTel-USB-IrDA-Dongle
http://mcn.oops.jp/lab/machines/irda-dongle/index.htm
http://hp.vector.co.jp/authors/VA005810/irda/link_irda.htm
http://tech.nikkeibp.co.jp/it/free/NT/WinReadersOnly/20050721/1/
https://support.microsoft.com/ja-jp/help/3150989/an-irda-networking-device-does-not-work-in-windows-10-version-1511
0548774ワット発電中さん
垢版 |
2018/03/25(日) 19:58:35.66ID:qua2RALn
>>547
え?御社には開発基準が存在せず、ドキュメント管理の効率化もやっていない、
と言っているようなものですよそれ…
0550774ワット発電中さん
垢版 |
2018/03/25(日) 20:06:49.41ID:SHaSvhaJ
>>526
とりあえず通信は完了しました!

色々皆さんありがとうございました!

助かりました
0552774ワット発電中さん
垢版 |
2018/03/25(日) 21:03:42.50ID:3ONxWJnp
>>547
横からごめん、東芝の4ビットでも保守性と再利用性は最重要視されてます。@車両関連メーカー
速度とか機能は仕様の問題だよね。そんなの仕様を満足してればまったく重要視されません。
あとはコストとのバーターだけど、コストの話になると保守と再利用できないと、いまどきのメーカとしてはダメなんだよね。
そこらは営業と調達ががんばるだけ。
0553774ワット発電中さん
垢版 |
2018/03/25(日) 21:59:16.88ID:34OP5Ze7
仕様
信頼性
コスト
開発期間/納期

これらよりも
コードの保守性や再利用性を重視するアホなメーカーがあるのね
0554774ワット発電中さん
垢版 |
2018/03/25(日) 22:15:20.75ID:3ONxWJnp
>>553
お前ほんとにわかってないんだな。
仕様と保守を同一に語るメーカーがあると思ってるのか?
違いがわからないのかな
0556774ワット発電中さん
垢版 |
2018/03/26(月) 01:13:49.99ID:XHOfX23W
最重要視

この言葉の意味がわからないのか自分で書いてて
他のいろんな事を犠牲にしてでも保守性や再利用性を確保する
っていう意味だぞ

なにも犠牲にせずに単に
保守性や再利用性を考えたコード
っていう感じで使ったのなら
当然だろうね
保守性や再利用性を考えないコードなどあり得ない
0557774ワット発電中さん
垢版 |
2018/03/26(月) 01:17:23.60ID:XHOfX23W
一部上場電機メーカーで量産品をたくさん作ってるよ

他部署や顧客に
「保守性や再利用性を最重要視して開発しました」
なんて言ったら笑われるよ普通
0559774ワット発電中さん
垢版 |
2018/03/26(月) 04:15:03.65ID:feh8Yv3J
とにかく戦わないと気が済まない人っているよね
0560774ワット発電中さん
垢版 |
2018/03/26(月) 04:21:31.59ID:FQp9EZ8h
一人でコツコツ趣味でやっていて、この仕事できると勘違いしちゃっ子なんだろうね。
能力はありそうだけど、職場じゃいらない子ちゃんだなぁ…自営でもなさればよいかと
能力ありそうだからなんとかなるよ
0561774ワット発電中さん
垢版 |
2018/03/26(月) 06:51:54.73ID:WKP3Z2E4
どれに重点置くかは業界によっても違うだろ。
統一解無いと満足しない人なの?
0562774ワット発電中さん
垢版 |
2018/03/26(月) 07:07:36.21ID:iPG2wmh3
ここでの書き込みで能力がありそうなさそうなんてわかるわけがない。

>>561
俺もそう思う。
何を重要視するかどうかは業界によっても変わるし、製品によっても変わる。

自分が思っているものと違うものを、アホだ、わかってない、あり得ないなんて言うのは
「見聞が狭い」
ということを公言しているようなものだと思う。
0564774ワット発電中さん
垢版 |
2018/03/26(月) 11:18:07.69ID:AyFe6chz
>>562
>自分が思っているものと違うものを、アホだ、わかってない、あり得ないなんて言う「見聞が狭い」ひと

典型的な一緒に仕事したくないタイプだな
0565774ワット発電中さん
垢版 |
2018/03/26(月) 12:28:31.48ID:JC3K7XTA
経験則的に、人当たりの良い yes マンでプログラミングが上手い人は殆ど見かけない気がする。
まあ、細かいことはいいんだよ、っていう人は、人をまとめる仕事に回されるんだろうな。
0567774ワット発電中さん
垢版 |
2018/03/26(月) 12:38:45.19ID:dLGY9z2p
即ち重箱の隅をつつきまくるような繊細さと
攻撃的な性格を持ち合わせたプログラマーが優秀であると
0569774ワット発電中さん
垢版 |
2018/03/26(月) 13:33:35.61ID:k6zu2F8v
プログラマ限定の話しでは無いが、
チームを組んで仕事してると、トラブルで行き詰まったときに、
思いもよらないような斬新な、目からウロコのアイデアを出してくる人がいる。
逆に、話を聴くのは時間のムダ、って人もいるが、
そういう人が受注先のエライさんだと、無視するわけにもいかず、
一通りご高説を拝聴して、実際にダメなところをやって見せないとけないのがツライ
0571774ワット発電中さん
垢版 |
2018/03/26(月) 16:59:03.17ID:zDhlItNO
I/Oが多いの探していて、
PIC18F45K20が18のくせに安すぎる(秋月\180)のだが
何か理由があるのでしょう蟹
0572774ワット発電中さん
垢版 |
2018/03/26(月) 17:09:29.57ID:Sw7iEgdq
●良品で普及してるから安い
●糞で売れないから安い
0573774ワット発電中さん
垢版 |
2018/03/26(月) 17:34:45.05ID:xTGmPMlP
他の類似のPIC18に比べると周辺機能が少なくなっている。
それで構わなければお買い得。
0575774ワット発電中さん
垢版 |
2018/03/27(火) 17:42:43.13ID:gq/fr8Du
相対ジャンプの距離をインデックスにしておいて飛び先で
関数アドレスロードしてそこへジャンプする
定石だね
0576774ワット発電中さん
垢版 |
2018/03/27(火) 18:24:37.88ID:3nEB+9Dr
保守性や再利用性、最悪だな

まともなコンパイラならswitch caseで自動でやるよ
テーブル、二分検索、if else 方式を臨機応変に切り替える
0578774ワット発電中さん
垢版 |
2018/03/27(火) 20:21:41.24ID:3nEB+9Dr
そだねー
マイクロチップのコンパイラは頭良くないからね
0580774ワット発電中さん
垢版 |
2018/03/27(火) 21:18:53.61ID:3nEB+9Dr
>>576
そういえば
1個のswitchで
連続部分はテーブルで、不連続部分は二分検索
みたいなハイブリッド処理をコンパイラがやってて
感心した覚えがある
0581774ワット発電中さん
垢版 |
2018/03/27(火) 21:29:28.65ID:3nEB+9Dr
下の方は機械に任せて、
機械が出来ない上の方を人間が考えれば良いよ

>>528みたいに基本設計がダメなものは
コンパイラが進化してもどうにもならない
0583774ワット発電中さん
垢版 |
2018/03/28(水) 11:50:09.45ID:yNywI8K8
>>508
ステートマシンですね。
関数ポインタは、定石ですね。
代替で、switch case
を使うしかないかな?
アセンブラの展開見ると、コンパイラによってオーバヘッドが余計にでたり、
分岐ごとのオーバヘッド差が出たりして、レイテンシに問題が出る場合には注意が必要。

PICでは、cc5xを愛用していますが、
cc5xでは、skip goto という、プログラムカウンタにオフセットを増分するやり方が簡潔で、
可搬性に欠けますが、非力なマイコンなので目をつむっています。

優秀な、gccがpic用にあればいいんだけど....
0584774ワット発電中さん
垢版 |
2018/03/28(水) 12:20:58.19ID:RJ7XhbH5
>>582
自分でデバイスドライバ書く前提なら
IrDAのプロトコルをサポートしなくてもいいんじゃね
0585774ワット発電中さん
垢版 |
2018/03/28(水) 12:53:24.89ID:jVF8EhGs
>>584
自分は長いものには巻かれろ、派
スタンダードに合わせておいた方が後々何かと楽
0586774ワット発電中さん
垢版 |
2018/03/28(水) 13:30:29.19ID:wkTDt4VO
>>583
数クロックの差で動作に影響を与えちゃうような作り自体が問題
そんな作りじゃ割り込みなんか使えない

とは思わないのかな?
PICユーザーは
0588774ワット発電中さん
垢版 |
2018/03/28(水) 15:34:08.84ID:O6A9YPEs
>>586
GPSDOの位相比較と制御をPICでやってるけど1クロックもずれない。
むしろPeripheral Interface Controllerとして本来の使い方かも知れない。
0589774ワット発電中さん
垢版 |
2018/03/28(水) 15:42:59.22ID:HkzvRci2
>>584
自作アプリで FIR Driver もしくは TrSIR.sys を
直接叩けば良さそうなんだけど、その叩きかたが
判らんとです。
0591774ワット発電中さん
垢版 |
2018/03/28(水) 19:28:05.25ID:HkzvRci2
数クロックの差で動作に影響を与えちゃうような
ソフトを作るべきではないという見解も、作った
ものが1クロックもずれないので、これぞ P.I.C.
と思った書き込みも、夫々理解できるのですが、
自作アプリからミニポートドライバをこうやって
叩くんだとコメントができる人は居ませんか?
0594774ワット発電中さん
垢版 |
2018/04/07(土) 22:41:44.69ID:rb4MlxDv
XC8のマニュアル読んでみたんだが、
ベースライン・ミッドレンジだと関数の引数がスタックじゃなく固定の場所に置かれるんだな
関数が再入不可能だし、関数が増えるほどにメモリ使用量が増える
なかなか思い切った仕様だ
0596774ワット発電中さん
垢版 |
2018/04/08(日) 02:13:43.80ID:fCv0/IQ8
>>594
ミッドレンジ以下ってそもそもコールスタックしかないと思ったが。
FSRも一つしかなくてソフト的にスタックを作るのも現実的でない。
0597774ワット発電中さん
垢版 |
2018/04/08(日) 03:39:25.77ID:NRCs0eYG
>>595
突然そういえばPICの呼び出し規約どうなってるんだろうって気になって
>>596
うん、C Compiler Optimizedじゃないことの意味をやっと理解した
0598774ワット発電中さん
垢版 |
2018/04/08(日) 11:11:11.35ID:mus4SCqw
そもそもC言語じゃない
規格を満たしてないから

アセンブラで組む時代の時代遅れなコア
0599774ワット発電中さん
垢版 |
2018/04/08(日) 11:13:47.75ID:Vr1aTdT1
CCSC買えば?
あっちもANSI準拠ではないけどっていう組み込み関数多いけど
0601774ワット発電中さん
垢版 |
2018/04/08(日) 14:57:30.90ID:jbo1rgvn
PICと掛けて小池百合子東京都知事と解く。その心は?

大年増(古いコア)の厚化粧(各種I/O) by 都知事選挙の石原慎太郎w

8ビットのコアをAVRに変更して、16ビットと32ビットにもっと注力すればいいのに・・・
0602774ワット発電中さん
垢版 |
2018/04/08(日) 15:08:16.14ID:iKDoXfBc
株主か大口顧客になってから言えば
ここで言っても何も変わらん
0603774ワット発電中さん
垢版 |
2018/04/08(日) 18:02:22.98ID:jbo1rgvn
時価総額いくらか知らないけど、多分、私の小遣いで大株主になるのは無理だと思う。
小遣い以上に掛かるならカミサンの許可を貰わないと・・・。
0604774ワット発電中さん
垢版 |
2018/04/08(日) 20:21:25.07ID:NRCs0eYG
>>599
CCSCだとベース・ミッドでも引数スタックに置かれるの?
特に今再入可能な関数をCで書きたいわけじゃないんだけど
どんな呼び出し規約してるのか知りたい
0605774ワット発電中さん
垢版 |
2018/04/08(日) 23:01:16.91ID:mERxy63L
>>601
余計なコストをかけずに売れ続ける商品を
経営の世界では「かねのなる木」と言う。
俺が経営者でも、コアを AVR に変更して
既存ユーザーに、今後はこちらに移行して
くださいと頼んで回るような無駄なコストか
ける判断はしないと思う。
0607774ワット発電中さん
垢版 |
2018/04/09(月) 00:49:13.12ID:ivwmnFmu
8ビットなんて先細りなんだから
今から投資するアホはいない
0609774ワット発電中さん
垢版 |
2018/04/09(月) 12:22:51.80ID:uJLbOMuC
投資と聞くと株や不動産の事しか考えられない短絡脳が居るようで
0610774ワット発電中さん
垢版 |
2018/04/09(月) 14:45:00.13ID:agduwzU/
>>605
「大年増の厚化粧」はこれからも続くのか、やれやれ
もっとも、私は趣味の電子工作でありPICを使っていないから被害は無いけど
0612774ワット発電中さん
垢版 |
2018/04/09(月) 15:53:49.04ID:agduwzU/
>>611
フッフッフ、もしかしたら「イヤよイヤよも好きのうち」?
とフト思ったりしちゃったりしてw
ま、PICだろうとAVRだろうとCPU界が繁栄すればOK、という事で宜しく
0614774ワット発電中さん
垢版 |
2018/04/09(月) 18:44:33.26ID:uJLbOMuC
>>612
まあ君みたいに炊飯器や電気ポットの中身を気にしてるのは世の中のごく少数だよ
0617774ワット発電中さん
垢版 |
2018/04/09(月) 21:17:22.65ID:v4jha2ib
>>616
CCSCでベースライン・ミッドレンジの話?
デフォルトはってことは変数をスタックに置くこともできるのか
0619774ワット発電中さん
垢版 |
2018/04/10(火) 10:44:57.70ID:9pPo8i30
XC8 global options
-> Statck options
-> Stack type:
Compiled / Reentrant / Hybrid

fsr1 を使ってるっぽいけど、それ以上は追うつもり無いんで
"どれで使えるのか / 使い物になるのか" 等に付いては、自分で確認しろや
0620774ワット発電中さん
垢版 |
2018/04/11(水) 01:43:04.42ID:ob3nN/aa
>>619
XC8でベース・ミッドで(普通の、Compiledでない)スタックが使えないのは知っている
5.8.1.3 REENTRANT AND NONREENTRANT SPECIFIERS
Functions encoded for baseline and mid-range devices always use the non-reentrant model and the compiled stack.
0621774ワット発電中さん
垢版 |
2018/04/12(木) 10:45:24.51ID:AQEXhOfT
>>617
再帰呼び出し可にすると、ソフト的にスタック作ってそこにローカル変数を入れる。
■ このスレッドは過去ログ倉庫に格納されています

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