PIC専用のスレ Part 57
■ このスレッドは過去ログ倉庫に格納されています
______ /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/ >>534 プログラムアドレスの下位バイトが 0xff から次の 0x00 にまたがないようにコーディングする必要があります。 早速ありがとうございます。でも IrDA のプロトコルスタックを PIC 側に自作する根性は湧きません。PC側をもっと低水準で Lチカしたくなります。 >>533 >>543 8bitで保守性と再利用性が最重要視? 知らない癖に語るなよ恥ずかしい >>547 え?御社には開発基準が存在せず、ドキュメント管理の効率化もやっていない、 と言っているようなものですよそれ… >>526 とりあえず通信は完了しました! 色々皆さんありがとうございました! 助かりました >>549 理由も書かずに揚げ足とって煽るやつが一番トンチンカンw >>547 横からごめん、東芝の4ビットでも保守性と再利用性は最重要視されてます。@車両関連メーカー 速度とか機能は仕様の問題だよね。そんなの仕様を満足してればまったく重要視されません。 あとはコストとのバーターだけど、コストの話になると保守と再利用できないと、いまどきのメーカとしてはダメなんだよね。 そこらは営業と調達ががんばるだけ。 仕様 信頼性 コスト 開発期間/納期 これらよりも コードの保守性や再利用性を重視するアホなメーカーがあるのね >>553 お前ほんとにわかってないんだな。 仕様と保守を同一に語るメーカーがあると思ってるのか? 違いがわからないのかな >>554 特注の単品しかやった事が無いんだと思います。 最重要視 この言葉の意味がわからないのか自分で書いてて 他のいろんな事を犠牲にしてでも保守性や再利用性を確保する っていう意味だぞ なにも犠牲にせずに単に 保守性や再利用性を考えたコード っていう感じで使ったのなら 当然だろうね 保守性や再利用性を考えないコードなどあり得ない 一部上場電機メーカーで量産品をたくさん作ってるよ 他部署や顧客に 「保守性や再利用性を最重要視して開発しました」 なんて言ったら笑われるよ普通 一人でコツコツ趣味でやっていて、この仕事できると勘違いしちゃっ子なんだろうね。 能力はありそうだけど、職場じゃいらない子ちゃんだなぁ…自営でもなさればよいかと 能力ありそうだからなんとかなるよ どれに重点置くかは業界によっても違うだろ。 統一解無いと満足しない人なの? ここでの書き込みで能力がありそうなさそうなんてわかるわけがない。 >>561 俺もそう思う。 何を重要視するかどうかは業界によっても変わるし、製品によっても変わる。 自分が思っているものと違うものを、アホだ、わかってない、あり得ないなんて言うのは 「見聞が狭い」 ということを公言しているようなものだと思う。 >>562 >自分が思っているものと違うものを、アホだ、わかってない、あり得ないなんて言う「見聞が狭い」ひと 典型的な一緒に仕事したくないタイプだな 経験則的に、人当たりの良い yes マンでプログラミングが上手い人は殆ど見かけない気がする。 まあ、細かいことはいいんだよ、っていう人は、人をまとめる仕事に回されるんだろうな。 即ち重箱の隅をつつきまくるような繊細さと 攻撃的な性格を持ち合わせたプログラマーが優秀であると どの業界でもイエスマンで仕事が出来る人なんていない プログラマ限定の話しでは無いが、 チームを組んで仕事してると、トラブルで行き詰まったときに、 思いもよらないような斬新な、目からウロコのアイデアを出してくる人がいる。 逆に、話を聴くのは時間のムダ、って人もいるが、 そういう人が受注先のエライさんだと、無視するわけにもいかず、 一通りご高説を拝聴して、実際にダメなところをやって見せないとけないのがツライ I/Oが多いの探していて、 PIC18F45K20が18のくせに安すぎる(秋月\180)のだが 何か理由があるのでしょう蟹 ●良品で普及してるから安い ●糞で売れないから安い 他の類似のPIC18に比べると周辺機能が少なくなっている。 それで構わなければお買い得。 >>508 関数ポインタは8bitでも当然使える。 相対ジャンプの距離をインデックスにしておいて飛び先で 関数アドレスロードしてそこへジャンプする 定石だね 保守性や再利用性、最悪だな まともなコンパイラならswitch caseで自動でやるよ テーブル、二分検索、if else 方式を臨機応変に切り替える そだねー マイクロチップのコンパイラは頭良くないからね >>576 そういえば 1個のswitchで 連続部分はテーブルで、不連続部分は二分検索 みたいなハイブリッド処理をコンパイラがやってて 感心した覚えがある 下の方は機械に任せて、 機械が出来ない上の方を人間が考えれば良いよ >>528 みたいに基本設計がダメなものは コンパイラが進化してもどうにもならない >>537 あなたのような方を天才ハッカーと崇拝します。 >>544 とりあえず、ここまでたどりついたけど、ここで足踏み。次の一歩へのヒントをいただけると嬉しい。 https://technet.microsoft.com/en-us/library/cc961385.aspx >>508 ステートマシンですね。 関数ポインタは、定石ですね。 代替で、switch case を使うしかないかな? アセンブラの展開見ると、コンパイラによってオーバヘッドが余計にでたり、 分岐ごとのオーバヘッド差が出たりして、レイテンシに問題が出る場合には注意が必要。 PICでは、cc5xを愛用していますが、 cc5xでは、skip goto という、プログラムカウンタにオフセットを増分するやり方が簡潔で、 可搬性に欠けますが、非力なマイコンなので目をつむっています。 優秀な、gccがpic用にあればいいんだけど.... >>582 自分でデバイスドライバ書く前提なら IrDAのプロトコルをサポートしなくてもいいんじゃね >>584 自分は長いものには巻かれろ、派 スタンダードに合わせておいた方が後々何かと楽 >>583 数クロックの差で動作に影響を与えちゃうような作り自体が問題 そんな作りじゃ割り込みなんか使えない とは思わないのかな? PICユーザーは >>586 >PICユーザーは 一部のPICユーザーは、だね >>586 GPSDOの位相比較と制御をPICでやってるけど1クロックもずれない。 むしろPeripheral Interface Controllerとして本来の使い方かも知れない。 >>584 自作アプリで FIR Driver もしくは TrSIR.sys を 直接叩けば良さそうなんだけど、その叩きかたが 判らんとです。 >>588 内容がずれてると思うのだが 少なくとも>>586 とは 数クロックの差で動作に影響を与えちゃうような ソフトを作るべきではないという見解も、作った ものが1クロックもずれないので、これぞ P.I.C. と思った書き込みも、夫々理解できるのですが、 自作アプリからミニポートドライバをこうやって 叩くんだとコメントができる人は居ませんか? >>588 何Hzのクロックが何に対してずれないって? XC8のマニュアル読んでみたんだが、 ベースライン・ミッドレンジだと関数の引数がスタックじゃなく固定の場所に置かれるんだな 関数が再入不可能だし、関数が増えるほどにメモリ使用量が増える なかなか思い切った仕様だ >>594 ミッドレンジ以下ってそもそもコールスタックしかないと思ったが。 FSRも一つしかなくてソフト的にスタックを作るのも現実的でない。 >>595 突然そういえばPICの呼び出し規約どうなってるんだろうって気になって >>596 うん、C Compiler Optimizedじゃないことの意味をやっと理解した そもそもC言語じゃない 規格を満たしてないから アセンブラで組む時代の時代遅れなコア CCSC買えば? あっちもANSI準拠ではないけどっていう組み込み関数多いけど PICと掛けて小池百合子東京都知事と解く。その心は? 大年増(古いコア)の厚化粧(各種I/O) by 都知事選挙の石原慎太郎w 8ビットのコアをAVRに変更して、16ビットと32ビットにもっと注力すればいいのに・・・ 株主か大口顧客になってから言えば ここで言っても何も変わらん 時価総額いくらか知らないけど、多分、私の小遣いで大株主になるのは無理だと思う。 小遣い以上に掛かるならカミサンの許可を貰わないと・・・。 >>599 CCSCだとベース・ミッドでも引数スタックに置かれるの? 特に今再入可能な関数をCで書きたいわけじゃないんだけど どんな呼び出し規約してるのか知りたい >>601 余計なコストをかけずに売れ続ける商品を 経営の世界では「かねのなる木」と言う。 俺が経営者でも、コアを AVR に変更して 既存ユーザーに、今後はこちらに移行して くださいと頼んで回るような無駄なコストか ける判断はしないと思う。 8ビットなんて先細りなんだから 今から投資するアホはいない >>607 と、投資したことない貧乏人が言ってます 投資と聞くと株や不動産の事しか考えられない短絡脳が居るようで >>605 「大年増の厚化粧」はこれからも続くのか、やれやれ もっとも、私は趣味の電子工作でありPICを使っていないから被害は無いけど >>611 フッフッフ、もしかしたら「イヤよイヤよも好きのうち」? とフト思ったりしちゃったりしてw ま、PICだろうとAVRだろうとCPU界が繁栄すればOK、という事で宜しく >>612 まあ君みたいに炊飯器や電気ポットの中身を気にしてるのは世の中のごく少数だよ >>596 デフォルトは変数のアドレスは固定で、再帰呼び出し不可。 >>616 CCSCでベースライン・ミッドレンジの話? デフォルトはってことは変数をスタックに置くこともできるのか 8bitのPICでスタック? ミッドレンジ以前で使えるのか XC8 global options -> Statck options -> Stack type: Compiled / Reentrant / Hybrid fsr1 を使ってるっぽいけど、それ以上は追うつもり無いんで "どれで使えるのか / 使い物になるのか" 等に付いては、自分で確認しろや >>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. >>617 再帰呼び出し可にすると、ソフト的にスタック作ってそこにローカル変数を入れる。 >>621 ふむ、XC8ではPIC18とEnhancedミッドレンジでしかやってないやつを CCSではベースラインとミッドレンジでもやるってことかな CCS Cのリファレンス見たら When compared to a more traditional C compiler, PCB, PCM, and PCH have some limitations. As an example of the limitations, function recursion is not allowed. って書いてあるぞ リニア・アドレスの拡張が無いヤツ、にまで無理に対応したとしても パフォーマンスが残念な結果になるのは見えてるからな >>625 表で呼ばれる関数を実行中に割り込みでその関数が呼ばれることもある。 memcpyとかな 再入も再帰もスタック無しでできないのは変わりなくね? >>626 割り込みの中で、何十バイトものメモリー転送する事有る? 転送量の多い組み合わせだと、割り込みとDMAの組み合わせは普通にあるな なんにしてもcの標準関数は普通使わないだろ たまに、全部タイマー割り込みの中で書いてる奴を見かけるがw 設計思想次第 ほとんどの処理をISRでなんてこともある dsPICなんかでは特に 初心者はISRは出来るだけ軽くと思っておいた方が良いのは確か Cの標準関数は普通使わない? それはどうかな 関数と意識しなくても中身が関数だったりする場合もあるし 除算とか >>631 レアケースと一般論を一緒にして比較とか書いてる時点でコミュ障 プログラムの実行時間をキチンと把握していれば、<割込み内で全て処理する>を避ける必要は無いと思う。 割込み内で処理できるのに、<フラグを立ててバックグランドでポーリングして・・・>なんてかったるい。 処理時間が厳しいプログラムなら、プログラム完成後に各処理の実行時間が設計通りになっているかどうか、 オシロなどで実測して確認すればいい。 >>633 そうなんだけど、その”プログラムの実行時間をキチンと把握”するのが、それ程簡単じゃないことが 問題なんだよね。 その裏付けを取る手間を掛けたくないから、出来るだけ<フラグを立ててバックグランドでポーリングして・・・> になっている。 トラブルを避けるためには、ますリスクを避けることが第一になっている。 実験環境で”xx時間の検証でも問題ありません”は何の説得力もない。 裏付けも何も 割り込み周期(周期だよね?)の間に単位の処理が終わらなきゃ ポーリングもへったくれもありませんがな リスクとか何とかの話は意味不明だな オシロが無ければ安いロジアナ(ebayでパチモンなら数100円で買える)でもいい 処理単位の開始でport=H,終わりでport=Lとして(トグルでもいい) その間隔を測ることは基本 割り込み使わなければテスト的にルーチンをループさせてもいい 自分が何やってるのか意図したとおりになっているか順次把握することが大事 全ての割込みが一定周期で起きるわけじゃない。 どんな最悪条件でも”絶対に”問題ありませんと言い切るのが簡単なレベルとそうじゃいレベルの境界を 見いだせるかどうか。 少なくともその境界に対して十二分なマージンがありますというデータを示すことが できるならいいけど、単にごく単純なケースだけを想定して話しているじゃないの。 最悪条件の見極めはそんなに単純じゃないよ。 わすか数分程度のオシロで観察しましたでは、説得力の欠片すらないレベルの話に聞こえる。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる