初めてのPIC 0x23
レス数が1000を超えています。これ以上書き込みはできません。
.
_ _ PICをさわるのは今日が初めて、という超初心者のためのスレです。
(O>――<O) PIC選び、PICを使った回路は、誰でも最初は不安なものです。
/ (・) (・) ヽ 恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
○ /▼\ ○ 質問のしかたは、初心者質問スレの発言1を見てくださいね。
|(ヽ二フ ) |
/  ̄ ̄ ̄ ヽ
f ヽ / | PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
ヽ \ / ノ ・PIC専用のスレ
| \_ )(_/ ! 本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
| | ここの話がわかるようになれば、あなたはもう一人前のPICerです。
| | ・マイコンソフト 悩み事相談室
| | ̄ ̄| | マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
(_ノ ヽ_)
質問するときは…
・PICの型番と開発環境を明記しましょう。
・プログラムは、レス内に直接書き込まず下記を利用しましょう。
ttp://codepad.org/ ttps://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〜
では、質問どうぞ >>4
0b00100011 の方がよくなくない? C99で0b接頭語で2進数表記は取り入れられてるのではないの?
XC8でも使えたはず。 XC16でもXC8でも、昔から0b00000000は使えたと思う。
他の言語のように、0b0000_0000_0000_0000 という表記ができると便利なんだけど。 >>1
何という大幅譲歩・・・
ついに、質問者は顔文字オッケーになったんですね!!(^p^) まだMPLAB のXが付かないIDE使ってる人居る? >>7
2進リテラルが公式に入ったのはC++14
XC8のは独自機能
gccやclangにもあるんかな? 顔文字優遇スレと聞いて来ました(`・ω・´)シャキーン >>18
( ´。•ω•)ノ"(っ <。)
>>17
🥺 >>14
え? おれ様がテンプレ改変犯説とな・・・
な、なんという愉快犯www それおもろいな。
よし、それでいこう。俺だよオレオレ(^p^) 顔文字やめてください。
顔文字やめてください。
>>20
こんな感じでいいですか? 最近「電気・電子」板も絵文字使えるようになった❤
Windowsで🔰絵文字😚だしたいひとは【win】+【.】で出るよ(*´з`)
>>31
顔文字とか使った方が楽しい雰囲気でコミュニケーション取れるよね\(^o^)/ >>32
>顔文字とか使った方が楽しい雰囲気でコミュニケーション取れるよね
んなわけねーよ。
顔文字、いいかげんにやめろ
こんな感じでいいですか? >>31 そんなに嫌なら顔文字がダメな理由を書けばいいんじゃね?
俺は顔文字全く気にしなけどさ 顔文字がダメな理由を想像して、整理してみよう!(^p^)
・年齢=彼女いない歴
・高齢童貞
・低所得
・なんか臭い
・・・なんかアンチが正しいような気がしてきたゾ(^p^; どっちでもいいけどPICの話をしないなら出てくんな 人の嫌がるのを見るのが好きなやつ
嫌だ厭だとわめくのが趣味のやつ
どっちも迷惑なカマッテちゃん、多分同一人物だと思うが
少なくとも同じ品性。民度の連中であることに違いはない PICのLチカで空中に文字描くときに
絵文字対応するかとかUnicodeのIVS対応するかとか悩む >>39
フォントデータを持たせるのか。今はSPIフラッシュで大きいのがあるからできるのだろね。すごいな。
>>37-38
万人の一切の不快を排除しようとするのは無理。実社会の裁判でもその環境(高級住宅街とか工業地帯とか商業地帯とか)に
応じた受忍限度が問われる。5chという環境で、顔文字が受忍限度を超えるとは、とてもじゃないが思えない。 空中に文字って・・・霧にレーザーか!?
それとも凹面鏡組み合わせて虚像出力か!?
夢が広がリング!! いわゆる バーサライター だと思った。
バーサライターって誰が言い出したんだっけか。
俺が最初に見たのは、トラ技の昔のPIC特集。 無駄な抵抗はやめろ! 男は黙って内蔵プルアップぅ〜(^p^) 内蔵プルアップは、初期化が済むまでは定まらないしね。
ラズパイPICOが、リセット時にプルダウンって居酒屋ガレージさんに書いてあった。
これが本当ならそれを前提に設計すれば、初期化までのためだけに外部抵抗を付けなくて済むじゃないか。 初期化が済んでから、内蔵プルアップ抵抗機が機能するまで何ms? A列を一方向に走る光点(暗め)。
数回に一度有色の点が走り、
その有色の点に注視すると
B列(明るめ)の残像で画像が表示される。
モーター機構を要しない、制止型バーサライタ
いや、光点はA列を往復するのも手か・・・
>>47
それはリセット機構によるのでは、内蔵のものを使う場合は、そのマイコンのデータシートを見て。
外部リセットデバイスを使う場合は、そのデータシートも見て。 >>49
今みたいに大画面のLEDディスプレイがなかったころに、
パチンコ屋さんに、縦に密になったLED列を、横方向に隙間をあけて並べたディスプレイがあった。
隙間だらけだったのに、動きがあったらけっこうつながって見えていたよ。 バーサライタってどれくらいの周期で光らせばいいですか? >>51
人間の目は、補完する機能があるからです。 バーサライタを振っている時間とその間に表示したいドット数で
オーダーが違わない程度には仮置きできるだろ 誰かプルアップまでの時間調べてる?
誰もやらないならやろうかな 初期化プロセスにより違うのでは...
アセンブラで書いてみてください! >>56
nWPUEN = 0;
にするまでの時間だが、メイン関数に入るまでの間に、
グローバルな変数の初期化が自動で入るから、
環境依存になると思うよ。
その間、デフォルトクロックで動作するんだろうか、
そしたらけっこう遅くなりそう。 >>58
やっぱり環境依存になりますよね
やる必要も無いかなぁ
そんなにPICの種類持ってないし比較の対象にならないと思うし pull-up最速選手権が開催されると聞いて来ました\(^o^)/ くそ、PIC10F322がチェック端子ついた基板になって有ったからこれでやろうと思って数行書いて止まってる
なんかねーハイインピーダンスの物で測るとHiになってて、アナログテスターみたいなものでLoになってる
何がいかんんじゃろねー
チキチキ最速プルアップ選手権を一人でやったのに自爆してら 先にpull-up選手権にエントリーさせていただきます\(^o^)/
https://i.imgur.com/eCDV0h0.png >>62
>ハイインピーダンスの物で測るとHiになってて
この場合は適当な抵抗(220k~1M ?)でプルダウンしておくと良いですよ 紫の電源グラフの肩(立ち上がった直後)に毎回現れる謎の髭はなんなのだろう・・・??? >>66
VDDの立ち上がりが遅くなるのを避けるためパスコンに1nFのコンデンサ使ったのが原因ですね
一般的な0.1uFだと出ないです、また0.01uFだと僅か150mV位のヒゲがでますね >>63
今見たら画像右下の「橙VDD・紫PORT」逆です /(^o^)\ <なんてこった
>>69
電源の代わりにファンクション・ジェネレータ繋いでます 別のマイコン(16F1705)で申し訳ないんだが、
ついでにアセンブラ詳しくないんでさらに申し訳ないんだが
movlb 1
bcf 21,7
jmp main
0番地からこうすれば2クロック目でプルアップが全ポートにかかると思うんだけど、
違う?
4番地もつぶれないし
1572は内蔵発振なら500kHzがデフォなので、1命令の処理には8usかかりそうですね。
だから、4番地をつぶしたのとつぶしてないので、2クロック分16usかかってるのは
正しそうです。 ヤバい。穴があったら入れたい…じゃなくて入りたいだわ
Pickit繋げてたら駄目なのね。
6ピンの中で5ピン書込みに繋いでるんだからそのピンに触れてたら変竹林な値になるよね
Pickit外して電源端子(これは基板に私がつけた)から供給したらあれまーちゃんと出るじゃない
オワタ >>71
内部発振です
外部に高速な発振器が有ればもう少し早く出来るかも
>>72
Pull-upを有効にするためにはnWPUEN=0と対象のPORTのPull-upを有効にする必要があるので
00h MOVLB 1
01h BCF OPTION_REG,7
02h MOVLB 4
03h BSF WPUA,2 ;PORT A2の場合
最低4Word(4サイクル)必要なんです
今考えたら04hでgotoしてうまく条件分岐させれば問題なく使えるかも
(そもそも最速pull-upはネタなので実用的な意味は無いのだが・・・・) >>74
WPUAレジスタはデフォルトで1で埋まってますよ >>75
あっ本当だ初期値0だと思い込んでました(*ノωノ)
サンクス('ω')ノ それにしても、データシートを読むと
(秋月から持ってきた)276ページですが
Oscillator Start-up Timer Period(1)
1024クロックとありますが、
そんなに時間かかってないように見えますね。
HFINTOSCのPLL値を待っているのでしょうか・・・ >>77
ちょっと気になって別のPIC(16F18346)のデータシートを見てたんですが
7.2.1.3にOscillator Start-up Timer (OST)の項目が有りまして
If the oscillator module is configured for LP, XT or HS modes, the Oscillator Start-up Timer (OST) counts 1024 oscillations from OSC1.
This occurs following a Power-on Reset (POR), Brown-out Reset (BOR), or a wake-up from Sleep.
The OST ensures that the oscillator circuit, using a quartz crystal resonator or ceramic resonator, has started and is providing a stable system clock to the oscillator module.
別のPICでも同様の仕様だと思うのでLP,XT,HS以外の発振の場合はOSTは適応されない様に思えます で、オシレータは何を使ってるんだっけ?
一般的な話をするとCR発振回路は起動が早くてLCは安定するまでちょっとかかる、水晶発振は(周波数や発振強度にもよるけど)結構かかるっていうイメージ
だから内部CR発振の時はスタートアップタイマーはほとんどいらなくて水晶発振だとやや長めのタイマーで安定するのを待つって感じだな みんあ細かいことまで 注意が向けられてて すげぇなぁ・・・
アセンブラーじじーへの道は細やかな配慮と発見の感動という小石で敷き詰められている(^p^)
初心者スレとは世を忍ぶ仮の名前、しかしてその実態は・・・あせんぶらーじじー養成スレ!! サッと矩形波作れるのはLTC1799位しかないわ
10MHzから調子悪いんだよね
外部クロック入力でオーバークロックしてチョクセンバンチョーしてやると思ったんだけど
今修理中 電源の立ち上がりをガツンとできませんでした
詰んだので、初心者スレ行きます 今日のエントリー分\(^o^)/
https://i.imgur.com/wyjL4mP.png
クロック外部入力にして測定してみました〜
すまん>>63の数値3箇所ウィンドウ操作した時にカーソルがずれてて5us分誤差が出てる(*ノωノ) ほえー PICでオーバークロックしている人初めて見たYO
しかし24u秒あたりのヒゲ、(キャパシタで殺せるにせよ)
投入クロック数が倍でも位置が変わらないところを見ると、
クロックに支配されたプログラム動作の過程によるものではなく
それとは別系統のハードウェア起因ということか・・・
あれ? PIC側じゃなくて電源(ふぁんくしょんぜねれーた)側が原因のヒゲだったって可能性もあるのかしら?
しかし、内部うぃーくぷるあっぷが有効にできるまでの短期間を懸念しての
大抵抗をぶら下げる必要や価値やテ゛メリットって結局ありそうなんですかね?
やぱーり無駄な抵抗(?)という認識が正しいのでしょうか・・・(^p^; そもそもなんでWPUが必要なの?
貫通電流うんぬんなら、出力ピンも最初は入力だから必要だよね?
いらないのはアナログが出せるピンのみ。
貫通電流以外だとすると、たとえば
電源オフってたら、インピーダンスは20~50MΩ程度になるけど
あれはまずいの?
ファンクションジェネレータ起因かどうかなら、PICを外してみればいいね。 処理が重く、どうしても16bit以上のマイコンが欲しいのですが、
1.DIPで
2.MCCが使え
3.ROMをEEPROMとして使える(大容量のユーザーROM領域が欲しい)
4.よければPPS機能が付いたPIC
(5.UART必須・・・ってこのくらいになると標準でついてると思います)
ってありませんか?Pickitは4でも大丈夫です。
32bitのArduinoでもいいんですが、ROMをユーザが書けましたっけ? >>88
IOピン数は幾つ要る?
Vdd Gnd 等を除いて >>89
ピン数は14PINのDIPでも十分足ります。
>>91
ありがとうございます。こんなマイコンを待っていました。
最高ですね。 「備忘録」と称してるブログなら
いいんだけど、
ウェブ上のPIC記事って
どうしてこんなゴミばかりなんだろなw
質問されると逆ギレするやつまでいるし。
「愚者は教えたがり、賢者は学びたがる」
の言葉通りだな 一番PICの扱ってるWebで笑ったのがソースコードをイメージで表示させてるところあって、そんなにコピペされるの嫌なの?嫌なら載せなきゃいいじゃんと思った 俺様くらい行間を読みすぎて行間のワームホールから異次元の先までみつめるレベルにたっすると、
おそらくブログ著者はコピペされること自体は構わなくても、環境設定(CPU選択)とかはしょって
なにこれうごかない!ごどうさする!いんちき!!とかクレームつけてきた人が
過去に居たりしたのかなぁ・・・という状況設定を脳内補完して勝手に気の毒がるぞ しらんけど(へQへ) どんな形であれ情報発信している人を匿名でゴミだと言っている人の方がよっぽどゴミ。
情報発信者にお金を直接出しているわけでもないよな。図々しい。 テキストがイメージになってるぐらいなら、OCRでテキスト化できるだろうに。 >>97
違う違う出来るじゃなくて、そこまでして公開するのに痛さを感じるのよ まあコピペされるのが嫌なのかもしれんが
普通のブログだとプログラムの貼り方がよくわからん可能性もある
インデントが崩れたりHTMLの特殊文字扱いされたり あとあれもあるんじゃね?開発環境の制約での、漢字の文字化け懸念;
PICじゃないけどSTMのCUBEIDEとかIOC変更後の展開でコメント部が原形をとどめない文字化けしてワロタ(涙 >>93
わざと質の悪い(間違った)情報を流して人々を混乱させてる
悪意ある私の仕業だ\(^o^)/ >痛さを感じるのよ
そんなことに痛さを感じるのは、他者の情報公開に対するあなたのリスペクトが元々低く、批判気質が高いからじゃないですかね。性格の問題だと思います。 質問スレでありがちなレス、よく分からないブログからのコピペで質問なんかすんな!データシート読め! >>93
ガチ愚者は愚痴ばかりでなんもせんぞ
お前みたいなやつだな >>100
プロジェクトの文字コードの設定が何であっても、Cubeのコード生成がシステムのデフォルトの文字コードを前提にするみたい。
プロジェクトの文字コードをシフトJISにするか、IDEのiniファイルの設定でデフォルトの文字コードを変えることで、
生成時に化けないようにできたはず。 何もしない愚者は無視すれば良いだけ
働き者の愚者が一番の敵 亀レス。
>>86
>そもそもなんでWPUが必要なの?
>貫通電流うんぬんなら、出力ピンも最初は入力だから必要だよね?
>いらないのはアナログが出せるピンのみ。
(1)内蔵プルアップ+外部スイッチで最少部品にするケース
(2)未使用ピンを動作中に不安定な状態に置かないようにするため。
「出力ピンも最初は入力」というのはもっともな話なんだけど、それは短時間で終わるし。
いろいろな事情で短時間では終わらない、初期化までの時間を短時間とみなせない、ということなら
WUPには頼らない。未使用ピンについては、出力に設定する習慣もあります。 >>107
未使用ピンは、入力でプルダウンが正しい方法ですよね。 >未使用ピンは、入力でプルダウンが正しい方法ですよね。
「正しい」は、部品点数や経済性、装置が使われる用途で変わってくるものなので一通りじゃないよ。 何故入力が優れているのか
なぜプルダウンの方が優れているのか
それらの根拠をお教えくだされば認識は広がりえるのかもしれませんが
今の時点ではわけわかめ、ですー
ひょっとすると、ロスとなる電流量? ファンイン ファンアウトのように
同一ICに対する流入・流出量の余裕度の話なのかなぁ・・・しらんけど; 出力にするのが習慣だと言いながら
入力が正しいと言われたら正しいのは一通りじゃないと言う
何でこうまどろっこしい回答しかできないのか??
習慣とか正しいとか言うその理由を説明すれば一発なのに そうそう、理由をシッカリ述べれば大抵の陰謀は瓦解するよね。
ぼくもむかし、わざと質の悪い(間違った)情報を流して人々を混乱させてる
悪意ある輩から、女性の局部には穴が三つあるとか吹聴されて、ながらく
信じてしまっていましたが、情報を元に論理的に考えて迷信を打ち破る事が出来ました。
女性アイドルも女性である。アイドルはうんちなんてしない。故に、女性に肛門なんてあるはずがないのです。
三段論法という奴です、正義や真実は、必ず勝つのです!! Σ G(^p^) >>111
「出力に設定する習慣もあります」を読んで「出力にするのが習慣だと言いながら」と解釈するんだ。
ものごとをシンプルに考えたがるバイアスのせいでこういう間違いをおかすんじゃないのかな。
いろいろな正解やいろいろなベストがあることを受け入れておいて、条件に応じてそれらを使い分ければいいのに。 習慣なら人によって違うんじゃねぇの?
朝ウンコする人もいれば夜の人もいる。 >>114
そのまどろっこしい書き方のクセ直した方がいいぞ
お前仕事できないだろ? >>115
この文脈なら「一般的には(特段の理由でもなければ)そうする」って読めるんだよ
お前の言ってることは屁理屈だ 朝ウンコをする人もいれば
朝ウコンを飲む人もいる(どやぁ >>117
まあ、人によっては極端だけど
会社によって違ったりするんじゃないの?
世間一般の共通習慣があると思うのは滑稽。 し! _ -── ‐- 、 , -─-、 -‐─_ノ
小 P // ̄> ´  ̄  ̄ `ヽ Y , ´ ). P .え
学 U L_ / / ヽ U |
生 が / ' ' i !? マ
ま 許 / / く ジ
で さ l ,ィ/! / /l/!,l /厶,
だ れ i ,.lrH‐|'| /‐!-Lハ_ l /-!'|/l /`'メ、_iヽ
よ る l | |_|_|_|/| / /__!__ |/!トi i/-- 、 レ!/ / ,-- レ、⌒Y⌒ヽ
ね の _ゝ|/'/⌒ヽ ヽト、|/ '/ ̄`ヾ 、ヽト、N'/⌒ヾ ,イ ̄`ヾ,ノ!
l は 「 l ′ 「1 /てヽ′| | | 「L! ' i'ひ} リ
ヽ | ヽ__U, 、ヽ シノ ノ! ! |ヽ_、ソ, ヾシ _ノ _ノ
-┐ ,√ !  ̄ リ l !  ̄  ̄ 7/
レ'⌒ヽ/ ! | 〈 _人__人ノ_ i く //!
人_,、ノL_,iノ! /! ヽ r─‐- 、 「 L_ヽ r─‐- 、 u ノ/
/ / lト、 \ ヽ, -‐┤ ノ キ 了\ ヽ, -‐┤ //
ハ キ { / ヽ,ト、ヽ/!`hノ ) モ |/! 「ヽ, `ー /) _ ‐'
ハ ャ ヽ/ r-、‐' // / |-‐ く | > / / `'//-‐、 /
ハ ハ > /\\// / /ヽ_ ! イ ( / / // / `ァ-‐ '
ハ ハ / /! ヽ レ'/ ノ > ' ∠ -‐  ̄ノヽ /
{ i l ! / フ / -‐ / ̄/〉 〈 \ /!
・・・って言われてる気がして、不安なんだよきっと;しらんけど;^p^) マイコンですらないが8255は色々あってプルダウンしたなぁ… >>120
「PU が許されるのは N-MOS までだよね~」だったら学があったのに。 電源が入ってなかったら、どこかに接続するのは、いらない? >>123
その疑問が出てくる前提として、どういうケースで必要かもしれないと思うの? 長くても十数行程度の文章を長文と感じてしまうような
処理能力しかない頭の奴はtwitterでもやってろ 処理能力がないから長文になる
処理能力があれば簡潔に書けるがそれが出来ないから長文 あるいは、端子として出るピンだったらそこに対する接触による静電気 ESD対策が取られていますと書いてあっても、日常的に静電気にさらされていていいとは書いてないはず。端子を外に出す必要があるピンは、GNDやVCCに抵抗を介して接続しておくと少しはましになるのかなと思って書いているわけで。 >>131
空きピン処理の話じゃないのですね。
外部プルアップ、ダウンで、より避けられるのは通電時に入力端子が不安定になること。
端子への静電気放電によるダメージを防ぐならTVSダイオードなどの方が格段に強くなる。 近接位置での磁気パルス兵器炸裂による誤動作(^p^;)
・・・は、ループを形成しないという意味でむしろ外部プル云々、は
無い方が強い可能性もあるのかな?しらんけど; Pickit4高いSNAP秋月に売ってない
という事でPickit3の互換機を買うのが良いのだろうか? PICkit+とPICkit-という選択肢もあるにはあるが… >>135
誰もが思うところは
パチモンを止めはしないが、お勧めもしない
高くても純正品を買った方が良い(買えるかは別)
でしょう >>135
1行目の条件なら必然的に2行目の結論になる
良い悪いの問題ではない
ちなみに中華クローンを2台持ってるけど純正品との違いは感じたことない >>139
互換機を一つ持ってるんだけど、VDDに5V加えることが出来ない
ただ、4.75Vなら加えられるので良いかなぁと ガンダムの互換機一つ持っているんだけど・・・の台詞が赦されるボーダーライン
MkII:OK
リックディアス:シャアのみOK(小説版)
ジムスナイパーカスタム:微妙
ガンキャノン:NG
ガンガル:OK(^p^) SNAPおすすめしないよ
LVPモードでしか書けない。
買ってきたばかりでLVPONになっていないものは書けない。 PICKit3もおすすめしない。
PIC18F27Q43とか最新といっても秋月に売られてるけど
このあたりもう対応してない。
買うならPicKit4 1823とか、LVPONにして、MCLRをOFFにしても
RA3をGNDに落とすとリセットがかかってしまうのは仕様? >>148
仕様だったと思う\(^o^)/
MCLRを無効化するにはLVPをOFFにする必要があったはず
データシートのコンフィグレーションワード辺りに書いてあると思う そうそう思い出したことが有ってPICKit3で書き込むとき
[ Program Options ]->[ Use low voltage programming mode entry ]✅チェック入れてても
MCLRに一瞬高電圧印加するのよね(LVP ONでも)・・・怖い /(^o^)\
書き込み中のPICから距離を取れ〜高電圧にやられるぞ〜\(^o^)/ CVBS入力したデータをSDカードに書き込みたいんですが、PICで実現できたりしますか? >>149
はず、ということは最近の新しいPICではそんな糞仕様なくなったということでOK? >>152
LVPで書き込みモードに入れる為には、、リセット解除のタイミングで、特定のビットパターンを書き込み用端子に入力する必要あるから、リセットを無効には出来ない dsPIC33EP256MC502
外付け水晶12MHz
PLLがうまくいきません
PLLしなければHSモードで動きます。
推測:ソースもコピペなので外付け水晶が8Mhz以下でないとダメなのでしょうか?
#pragma config FNOSC = FRC // select internal FRC at POR
#pragma config FCKSM = CSECMD // enable clock switching
#pragma config POSCMD = HS // configure POSC for XT mode
int main()
{
// Configure PLL prescaler, PLL postscaler, PLL divisor
PLLFBD=74; // M = 76
CLKDIVbits.PLLPOST = 0; // N2 = 2
CLKDIVbits.PLLPRE = 0; // N1 = 2
// Initiate Clock Switch to Primary Oscillator with PLL (NOSC = 0b011)
__builtin_write_OSCCONH(0x03);
__builtin_write_OSCCONL(0x01);
// Wait for Clock switch to occur
while (OSCCONbits.COSC != 0b011); //←ここで無限ループ
// Wait for PLL to lock
while(OSCCONbits.LOCK != 1);
} >>156
動かないのは実機で?
MPLABX+xc32のデバッグ環境で? >>157
実機をPICKit3 PMLAB XC16でデバッグかけてます。
Debug Projectで書き込んでステップしたり、ブレークしたり。 >>156
PLLFBDの数値が(もしくは他との関係での数値が)
12MHz / 2 * 76 / 2 = 228MHz (FOSC)だと思う
PLLPREが2なら6MHz * 1:20~56(PLLFBD =18~54)
(120MHz < FVCO < 340MHz)
たぶん\(^o^)/ >>159
ありがとう、パラメータ設定値がそもそもダメですね。
PLLFBD=30; // M = 32
CLKDIVbits.PLLPOST = 0; // N2 = 2
CLKDIVbits.PLLPRE = 0; // N1 = 2
FPLLI 6Mhz(0.8~8Mhz)
FVCO 192MHz(120~340Mhz)
FOSC 96MHz(f <120Mhz)
でやってみたんですが、ダメでした。
自作ハードなのでそちらも疑いの余地あり。 少し進展しました。
スルーホール基板にdsPICを実装しているので
電源パスコンを見直し 0.1uF→1uFに大幅アップしたところ
無限ループから抜けられなかったwhileから抜けました。
しかし次段のPLL_LOCKのwhileチェックでフェーズロックしないためループ抜けられず
ともあれ
おおよそ原因は自作回路の電源廻りであることがわかりました。
スルーホール基板で10Mhzを超える周波数では電源回路のGND容量を十分に
とらないとダメですね。
たぶんオシロで電源を観測するとスパイクや周波数成分が出ているかもしれません。 >>161
それ、ほんとに配線原因ならよっぽどやぞ >>161
もしもユニバーサル基板を使っているなら
秋月の電源パターンあり基板を使って見たら? >>161
高周波数なら、パスコンは 1F より寧ろ 0.01uF を 0.1uF に追加で付けた方が良いんでないの? Pickit3.5ってのが気になる。どう認識してどう使えるかも
でもさ、ゴミが来そうだから自分からは買わない >>168
8051系の怪しい中華マイコンが入ってる
一応MPLABXで認識するが、本家みたいに書き込み対象のシリーズに応じて内部ファームを書き換える機構とかは無いから
新し目のデバイスは対応できない
俺が去年買ったのは16F4桁は無理なの多い >>169
互換品(パチモン)はそういう問題があるのですね
純正Pickit3なら対応してますか? >>169
やっぱりゴミやったw
3.5の方が高いのよね。詐欺や
Pickit2とPickit3の互換機は持ってるけどちゃんとそれなりに動くよ
中華の闇や >>171
今売ってるPickit3互換機は
(アリエクではこれもPickit3++って紛らわしい名前の場合あるから注意)
中華製のバタモンのSTM32が載ってるのが多いな
>>169よりは若干まともで、16F18857とか18F57Q84みたいな最新に近い石も焼ける >>172
16F5桁製品買わないとなあ
一応純正のPickitは3と4が有るんだけど、やらかしてぶっ壊れるのが嫌なので互換機使ってます
5桁のは魅力は有るけど18F57Q84ってのは知らない
マイコンばっかり揃えても仕方がないしなあ >>173
何をすると純正品が壊れるのでしょうか?
どこが壊れるのでしょうか? >>174
それ、愚問じゃね?
壊れる時は壊れるのに 人生の達観者、悟りを開いた人の問答無用の究極の回答を見たw
「壊れる時は壊れる」 ゴメン、ちょっと意地の悪い書き方になってしまった、
色々な原因が考えられる、みたいな事を言いたかったのかな? >>174
やらかしたらだろ。そう書いてある
その上で何をすればなんて聞いて良いのは5歳児まで ボード側の接続を間違えてしまうとか、うっかり接触させてしまうとか、ハード的に壊れることはあるね。
別のデバッグツールだけど、デバッグラインに+12Vが接触して、ツールもCPUも死なせたことはある。
やったことないけど、Pickit自体のファームウェアアップデート中に、なんらかのトラブルでUSBラインが切れたらどうなるのだろう。 >>179
そんな理由なら、なんちゃってPICKitだって壊れるじゃん。
壊れるのが怖いから純正品を保管しておくって、
なんか変な感じ。普通に使えばいい。 >>177
あ、ドライバーが一瞬だけ当たっちゃったけど大丈夫かな?とかあるあるでしょ?
自分でやらかしたのに壊れてたとか不注意はある話で、道具の予備が無いよりは有る方が良いに決まってるのよ >>180
>そんな理由なら、なんちゃってPICKitだって壊れるじゃん。
思い込みが集中しがちでほかの事情や条件とかに気を散らせない人なんかな?
>>173は「なんちゃってPICKitは壊れない」とは書いてない。
>一応純正のPickitは3と4が有るんだけど、やらかしてぶっ壊れるのが嫌なので互換機使ってます
を読んで、
「この人は純正品の方が壊れやすいと考えている」
とがっつり思い込んで、そこから離れられなくなったんだね。
気を散らすべきときに気を散らさないと。集中は理解を妨げることがあるよ。 Pickit3の互換機を開腹したけどPIC24FJ256GB106が入ってた
Pickit2の互換機を開腹したけどPIC18F2550が入ってたよ
あれ、当たりか?
ただPickit3の互換機貰ったやつだから多少不具合あっても何も言えない ドライバーって金属のが多過ぎる
全部木製やプラ製のドライバー使うのが多い日も安心 PIC16F18325だったっけかな。うちにあったのは
これ新しい方なん?
一応5桁製品あったよ。いつ買ったんだか覚えてない 秋月で2016/09/19から売られてる。
古いんじゃない? ねぇねぇ教えて
PICでステッピングモータを駆動するのにいいデバイスの型式はどれですか。
マイクロステップの制御出来るとなおいいですね。 書き忘れました、バイポーラ型のステッピングモーターです。 確かに実例の多さといえば右に出るものはありませんね。
回転に専念すれば問題なさそうですね。 何故かは知らないんだけど、PIC16F84Aって高い
安くならないかな? 新しい品種を使えよ。
Microchipはディスコンにはしないが、古いチップは値段上がってLT長くなる。 普通に安いやつ使ってるよ
手直しちょこちょこやると動くから有り難い >>191
目的は?勉強用なら色々試せば良いと思うんだけど
手っ取り早く動かしたいならモータードライバー(A4988,TMC2208,TMC2209,TMC2225)とか使えばいいと思うの
3DプリンターやCNC用のモジュール使えば簡単だよ
たぶん\(^o^)/ >>198
勉強用です。
ソフトの変更でブラシモータ、ブラシレス、ステッピングに対応出来るような
汎用モータードラバー基板が作りたいですね。 >>199
勉強目的なら仮に2相のバイポーラステッピングモーターを動かすとして
フルブリッジの回路2個とゲートドライブ回路を全てディスクリート部品で作るとするなら
使うPICはECCPx3もしくはCCP,PWM+CWGx3を搭載モデルが良いと思うの(3相(ブラシレスDC)除くならx2で)
(PWMx3でも問題ないけどECCP or CWG(COG)使うとFETのハイサイド・ローサイドの切り替えに遅延を設定できてうめぇ)
CWG(COG)x3 -> 16F18857,1778
フルブリッジx2=ハーフブリッジx4なので3相ブラシレスにも対応出来るとおもう
たぶん\(^o^)/ ↑試した事が無いので自信ない(;´・ω・) >>201
この荒らし最近見ないから死んだと思ってた 書いたた人が誰だかすぐに分るように
次回からも顔文字、続けてね。 >>200
>(PWMx3でも問題ないけどECCP or CWG(COG)使うとFETのハイサイド・ローサイドの切り替えに遅延を設定できてうめぇ)
これは知らんかった、なるほどです。
>>202
書き込み内容からすると、お前の方が荒らしだと思うけどね。 CWG等のロジックをCLCに通せば、論理その他いろいろも変更できて最強。
ゲートドライバごとのICの仕様に合わせたりとか。
どんなモータをどんな素子で制御するのか知らんけど、
12Vくらいの電源でPNPとNPNのバイポーラトランジスタで制御するんかねぇ。
NchのMOSで全部駆動しようとすると、いろいろ大変な気がする。
IC買えば終わりかもしれないけど・・・
ほんと思うけど、アマゾンとかのステッピングモータドライバはあの値段であの性能は優秀。
多段階電流制御、マイクロステッピング、可変速もついてる。 ステピンモーターじゃなくて
ラジコンのモーター回すにゃ何がええの
マブチ540とか昔のが出てきたお シンクロ那須モタ
ブラレスモタ
サボモタ
マブモタ >>206
ごきげんよう
どの様に動かすかでお勧め機種変わりますの
単純なOn/Off、回転方向、回転数(出力)制御により必要な機能が変わるんですわ〜
恐らく、おPIC本体選びより周辺回路が重要ですわ〜
貴方様の目的を教えてくださいまし
\(^o^)/ < ですわ〜 マブチモーターとか一見簡単そうに見えるんやけど
マイコンと同一電源な誘導性負荷に潜む誤動作トラップ・・・
きみは この先生 キノコることができるか!?m9(どーん) >>212
うーんちょっと大きめの電池積んでルンバもどき作りたいw
ライントレーサみたいにして床に紫外線反応するペンで線を書いてチマチマ走らせよう\(^o^)/ うーんちょっと大きめの糞を捻り出して糞園作りたいw
糞トレーサみたいにして床に糞反応するペンで線を書いてチマチマ走らせよう\(^o^)/ >>215 = 201 = 顔文字やめておじさん
惨めになるだけだぞ!( ;∀;) >>215
おじちゃんはね、ここんとこ便秘なんだよ
何が糞園作りたい、チマチマ走らせようだよ
もう激おこプンプン丸だからねw >>214
ごきげんよう〜 \(^o^)/ ←みんなを笑顔にしますわ〜
おPIC選びより先に周辺回路や本体(ボディ)を設計した方が宜しいと思いますわ〜
車輪を動かすには540では少々大きすぎる気がしましてよ
540はお吸引用にすれば宜しいのではないかと思いますわ〜
わたくし詳しくは存じ上げませんがお車輪用にはタミヤの左右独立ギアボックスが良いと聞きますわ〜
一先ず試作には多機能な16F18346等で試し頂きまして完成が近くなりましたらおPICを選びな直しては如何でしょう?
わたくしルンバと聞いて「ミス・モノクローム」を連想しましたわ〜
正直このしゃべり方疲れる・・・(;´・ω・) >>219
マブチ180も発掘したので左右の動きと
吸引で3つかな
前進を1つにしてステアリングはサーボにして
吸引の2個でもいいけど
1つサーボ制御するのはどしよ
ちょっと考える(;´Д`) みんな、こんにちわ〜 \(^o^)/
今日もよろしくね \(^o^)/
\(^o^)/
\(^o^)/
\(^o^)/ どうでもいいけど、やさしいCっていう教科書があるんだが、
昔は「えっち!」と言われたらしい。
いつの話だよ・・・ Aは、中3ね \(^o^)/
Bは、高2 \(^o^)/
Cは、高3の夏休みだったあー \(^o^)/ \(^o^)/ >>229
それは開発言語の事なのか性的経験の事なのか
Aがアナル処女喪失
BがSEX
Cが開発言語かな?
(;´Д`)ハァハァ >>230
初版のへのへのもへじみたいな表紙は
何処からどう見てもHowToSex本にしか見えんかった、と
というハナシを、むかし蘊蓄本で読んだな。
同じ本に、Assembly Basic C言語と進んだ方が
理解しやすいという学生同士の話題が
はしょりすぎてAからBでCに進むべきと
電車の中で学生同士で話していたら 居合わせたご老人に
猥褻な話を公共の場でする名!と、怒鳴られたとかいうハナシも
掲載されていたような気がする。書名も忘れたが; 初めてDIPでなくSOICなチップ使った基板を中華基板屋に頼んだは良いのですが、
DIPならプログラムを焼いてから半田付けすれば良いのに甘んじてました。
SOICなチップにプログラムを焼く環境がありません。
ICSP付けておけば良かった。 質問教えてください。
MCCでUARTを追加するとき、同じUART番号なのに2種類あります。
PIC24F.... と
Foundation... の2つです。
この2つは何が違って、どちらにすれば良いのでしょうか? MPLAB X Ver5.50で、XC16でコンパイルすると、
Info: Project is using a large data memory model
when small data memory model is sufficient.
というお知らせが出ます。
これが何を言っているのかわかりません。
charで十分なのにint16を使ってる変数があるよ、ということでしょうか。
また、どのようにしたら出ないようになるでしょうか?
エラーではないのて放置でよいのでしょうけど、
勉強のために知っておきたいです。 そのメッセージそのまま全部でGoogle検索してみては?
いろいろ英語のページがヒットする。英語に堪能でなくても今は翻訳ができるしね。 >>241
ありがとうございます。私の質問が悪かったようです。
日本語直訳はわかるのですが、memory model の意味がわかりません。 50002071E_JP.PDF の P191 は助けにならないだろか。 >>244
最近?
以前から重たかった印象です
SSDに載せていたら少しはましかも mplabが遅いのは、PICが遅いからじゃ
\(^o^)/\(^o^)/\(^o^)/
\(^o^)/\(^o^)/\(^o^)/
\(^o^)/\(^o^)/\(^o^)/ MPLAB”X” は遅いけど
MPLABはそんなに遅くなくね?しらんけど;^p^) 許嫁・・・ほぼ確定的嫁候補
兄嫁・・・義理の姉
鬼嫁・・・If世界レムたん
価格転嫁・・・部材高騰してるんやしょうがないんや
責任転嫁・・・↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
コンパイラのマニュアル嫁・・・コンパイラ取扱説明書を愛読するメガネの似合う美人若奥さんやろ?しらんけど;^p^) 質問教えてください。
PIC24Fで、内蔵のEEPROMの読み書きの実験をしています。
確かに書けて、電源off→onで、記憶された内容が読み出されるのですが、
修正したプログラムを書き込むと、初回読み込みで0xffffになってしまいます。
その後、書き込みすれば、ちゃんと記憶されます。
なぜプログラムを書き込むと0xffffになってしまうのでしょうか。
また、プログラムを書き込んでも数値を保持することはできないのでしょうか。 >>250
プログラマのProgram OptionsでErase All Before Programにチェックが入ってるんじゃ? >>250
今日は顔文字やめろって言わないの??? >>252
ありがとうございました。その通りでした。 >>240
MPLABXのコンパイラオプションを読もう
- Large - No assumptions are made about the location of static and external variables. - Small - All static and external variables are assumed to be located in the lower 8 KB of data memory space.
- Large - 静的変数と外部変数の位置は仮定されていません。
- Small - すべてのスタティック変数と外部変数が下位 8 KB のデータ・メモリ・スペースに配置されることを想定しています。 @Example
<code>
char myBuffer[MY_BUFFER_SIZE];
unsigned int numBytes;
UART2_TRANSFER_STATUS status ;
// Pre-initialize myBuffer with MY_BUFFER_SIZE bytes of valid data.
numBytes = 0;
while( numBytes < MY_BUFFER_SIZE);
{
status = UART2_TransferStatusGet ( ) ;
if (!UART2_ReceiveBufferIsEmpty())
{
numBytes += UART2_ReadBuffer( myBuffer + numBytes, MY_BUFFER_SIZE - numBytes ) ;
if(numBytes < readbufferLen)
{
continue;
}
else
{
break;
}
}
else
{
continue;
}
// Do something else...
}
</code>
MCCが出力したヘッダーファイルの中のサンプルコードですが、
9行目の「{」は、どの文章の { なのでしょうか。
その上の行のwhile()かなと思ったのですが、while(); になっていて
while()は話が終わっていると思うのです。 へんすうせんげんがない。
ただの ぶろっく のようだ。 >>259
{}だけでも文法的に通るんでしょうか? >>260
問題ない、ブロックというやつ
ブロック内で変数宣言するとそのブロック内だけで有効となる
別のブロックで同一名の変数宣言をしても問題なく別物として扱われる
というような使い方ができるが上記のものは>>259 >>260
つうじる。259さんの一行目の話は、
ブロック中で変数を設けることができることを示唆されとる。
hoge = 1;
{
int nHage = hoge *2;
printf(...
} // <--- ここで ローカル変数 nHage が解放される
という事と思われ。しらんけど;^p^) ただwhileの判定条件からしてすぐ後のセミコロンが間違いのような気もするが何をするソースなのか動かしてもみてないしわからんけど >>263
バッファに空きが無かったら待つ という処理だろ。
送受信処理は割り込みでやってるはず。 >>261
ありがとうございます。
「ブロック」ですか。
{}内では、
(1){}外宣言ありa {}内宣言なし、のとき、aを読み書きできる
(2){}外宣言なし {}内宣言ありb、のとき、bを読み書きできる
(3){}外宣言ありc {}内宣言ありc、のとき、{}内cが読み書き対象、{}外cには読み書きできない
{}外では、
(4){}外宣言ありa {}内宣言なし、のとき、(↑と同じ)
(5)・{}外宣言なし {}内宣言ありb、のとき、(↑と同じ)
(6){}外宣言ありc {}内宣言ありc、のとき、{}外cが読み書き対象、{}内cには読み書きできない
ということですよね。
どんなときに、{}ブロックの嬉しさがあるのでしょうか? (3)と(6)の違いが嬉しい?
使い道が思いつかないです。 >>263
ですよね、while(){ なら話は分かるんですが、while(); { というのを
初めて見た物ですから。
MCCで、UARTを組み込んだときに吐き出すコード(UART.c)の中です。
MCCは、面倒なことを簡単に使用できるようにしてくれるのはいいんですが、
吐き出すコードが、まるで別人が作成したように癖があって、見にくいです。
コメントの多いのもあれば、少ししかないのもあったり。
また、現行のコードと、過去のコードと両方吐き出すので、最初見た時には
なぜ2通り出てくるのかわからず戸惑います。 どう見てもセミコロンが余分
単なるバグ、というかこれは使用例のコメントだろう >>266
生成されるコードが気に入らないなら自分で全部書けば良い
まあ、このレベルではとうてい無理だろうが ありがとうございました。
やはりMCC生成のヘッダファイルの説明を書いた人の、タイプミスですね。
ありがとうございます。
MCCの生成するコードで、I/Oポートを示す表記では、
_RA0 と「_」を付けるものもあれば、RA0 と無しのものもあります。
これは、PICの中でも統一されているもの ではないのでしょうか。
不思議に思います。
>>270
「誰のおかげで議員になれたと思ってるんだ」という先輩みたいですね。
議論になりません。 PIC12F1840でCプログラムを作っています。
#define ですが
#define SW ~RA0 // RA0のスイッチがプルアップで負論理なので。
#define LED ~RA1 // RA1のLEDが負論理なので。
と書いてから
LED = SW; // SWが押されたらLEDを光らす
という単純なものが、エラーになります。何がいけないのでしょうか?
Windows10 MPLAB X Ver5 XC8です >>273
エラーをなくしてコンパイルするだけなら
LED(~RA1)←の~(チルダ)を使わない様にする
~RA1= ~RA0
↑代入を受ける方に演算子が入ってるのは・・ 代入の左辺にかける演算子はa[b]、*a、a->b、a.bあたりくらいだったかな >>274 275
ありがとうございます。
要は、代入のときの左辺に記述できる記号には、制限があるということですね。
>>275さんの列記の中では、構造体の . くらいしか使わないので(使える知識がないので)
代入左辺には変数しか書けないって覚えておきます。ありがとうございました。
今まで、SW押す=1; LED点灯=1; の配線しかやっていなくて、今回はじめて負論理接続の
スイッチ、LEDを使い、悩んでしまいました。ありがとうございます。
負論理だからとは言え、1=離す、0=押す、1=消灯、0=点灯は わかりにくく感じます。
みなさんは、プログラムの先頭とかで
SW=(RA0==1)? 0:1; とか、RA1=(LED==1)? 0:1; とか、変換して使っているのかなと思い、
検索してみたら、ほとんどの人が
if(RA0==0){ ..... // SWが押されていたら、... とかで済ませているようです。
慣れでしょうか。
もう一つ教えてください。すみません。
同じく負論理接続で
unsigned char SW; SW = ~RA0; としたとき、RA0が押されている(ピン0V)だと
変数SWに入る値は、0b00000001 でしょうか 0b11111111 でしょうか。
if( SW==xx ){ 真 } で、xxに'1'と書いても真に入ってこないのです。
まだbit反転がよくわかっていません。 >>268
作例見ても、その人には面白いかもしれないけど、
自分はあまり興味がわかない、という場合がほとんど。
困ったもんだ・・・ >>276
対処方法です他にもいい方法が有るかも?
例1)マクロを使う
#define ledOn() {RA1=0;}
#define ledOff() {RA1=1;}
#define SW ~RA0
if (SW == true){ledOn();}else{ledOff();}
例2)関数化する
void ledOn() { RA1 = 0; }
void ledOff() { RA1 = 1; }
bool getSwState(){
if(RA0 == 1){ return 0; }
else { return 1; }
}
if (getSwState() == true){ledOn();}else{ledOff();}
例3)1や0を文字に置き換える
#define LED_ON (0)
#define LED_OFF (1)
RA1 = LED_ON;
例4)1や0を文字に置き換える2
enum {LedOn,LedOff};
RA1= LedOn;
・回答2
アセンブラみたら
movlw 0
btfsc 12,0;volatile
movlw 1
xorlw 255
movwf ??_main
movf ??_main,w
movwf main@SW
なので
RA0が0 -> 0b11111111
RA0が1 -> 0b11111110 負論理?のハードをやる人は、どのようにしてるんだろ。
やはり、Low=LED点灯、Low=SW押されたと、直感で思っているんだろうか。 私はジジィなので、HiでLED点灯、SWオンでHiには違和感を感じる
Hiレベル有効のCS信号などにも。
ジジィでゴメンね、ゴメンねぇw LEDの制御とかスイッチの読み出しとか
一カ所にまとめとけば問題ないだろ。
場当たり的にソースに書くから混乱するんだよ。
まあ、デバッグでLED使う時とかは仕方ないけど。 >>281
入力に関数、出力にも関数は、めんどう。
スイッチは押して5V.出力は1で5vが、わかりやすくていいと思う。 >>280
TTLとか、IOHよりIOLが大きかったしね。
昔と違って複数の電圧の電源が混在するのが当たり前になってきてから、LEDは1で点灯、スイッチはONで0で設計してるな。 押して5V、1で5V、の「5V」が普遍的な感覚から外れてきているしな。
作るものによっては、
外部スイッチをマイコンにほぼ直接接続することを必要とされたり、
外部スイッチをマイコンに直接接続することは許されなかったり、
いろいろになる。マイコンから見たときの論理は回路によって変わる。
いろいろなことに柔軟にさらっと対応できるマイコン屋になるなら、どっちかの方がしっくりくる、
という感覚は持たない方が良いと思う。 >>278
なんで、自分で~RA0の値を
> RA0が0 -> 0b11111111
> RA0が1 -> 0b11111110
って書いてるのに、
> #define SW ~RA0
> if (SW == true){ledOn();}else{ledOff();}
これが通ると思うのか… >>287
すまん( ;∀;)
キャストされなければイケると思ったの
#define ledOn() {RA1=0;}
#define ledOff() {RA1=1;}
#define SW (!RA0)
if (SW == true){ledOn();}else{ledOff();}
こならら行けると思う >>286
>外部スイッチをマイコンにほぼ直接接続することを必要とされたり、
>外部スイッチをマイコンに直接接続することは許されなかったり、
どんな場合がありますか?
教えてください >>289
典型的な例で。
>外部スイッチをマイコンにほぼ直接接続することを必要とされたり
コストに厳しく部品点数をできるだけ少なくする場合、「できるだけ」マイコンだけで回路を構成することが求められるケース。
>外部スイッチをマイコンに直接接続することは許されなかったり
強い耐ノイズや耐静電気を要求される場合、保護回路をはじめいったんフォトカプラやトランジスタで受けてからマイコンで受けるようなケース。 >>291
>>286に書いた通りだよ。外部接続で論理は変わることがある。 ONなのか5VなのかHなのか1なのか混乱するから最初に決めておけ。 工場で使う機械の制御装置は殆どの場合、デジタルI/OもアナログI/Oも絶縁するけど、
デジタルの正論理とか負論理とかあまり意識しないけど、やはり負論理が多いかな?
そういえば今思い出したけど、同僚のNさんが設計担当した外部I/Oドライブ回路、
CPU用5V電源が落ちると、24V系の外部出力が全てオンになるというとんでもないもので、
ビックリ仰天したw
納期遅れそうになったけど、そんなものは怖くて使えないのでI/O基板を作り直した。
(半年に1回位、パートのオバチャンが指先落としたりする事故がある) >>294
回路設計レビューはしないの?
各人の力量が異なるなら、みんなで確認しないと。 >>297
彼が自信たっぷりに「任せてください」と言っていたので信用していました。
「みんなで確認」はやった事が無いです、物件ごとに担当者のみが作業してました。
分らない事があると他の人に(詳しい人に)聞いたりはしていましたが。 プレス裁断機のオペレタータのオバチャンが指先をプレスして落とす事故が発生した。
プレスが下がり始めているのに、引っかかったシートを取り出そうとしたらしい。
現場責任者に「対策してくれ」と言われたのでいくつかのアイデアを提案したら、
最終的に、
<スタートスィッチを足踏み式に変更してすこし離れた位置に置く。
プレスが下がり始めた時に、手が物理的に裁断機に届かないように>
という最も安上がりなアイデアが採用された。
変更工事後、2、3ヶ月ほど経過して、別の用事でその工場を訪問したので、
ついでにそのプレス機を見に行ったら、目眩がして倒れそうになった。
なんとフットスィッチの上に大きな漬け物石が置いてあった!
裁断機は勝手に自動的に上下しており、
オバチャンはその上下移動のタイミングに合わせてシートを出し入れしている。
あわてて現場責任者を呼んで、
「スタート信号のエッジで動くように変更する」
と申し入れたら、
「やめてください、上司から何が何でも生産枚数を上げろ、と要求されています。
足踏みに要する数秒も1日合計すると結構なものになるんですよ」
だってさ、オジチャンはね、激おこプンプン丸になったぞ(心の中で。お客様は神様です)w
AVRに何の関係も無い話で悪いネ あ、ここはPICスレだったな、作文で疲れて間違えた・・・ >>299
お前が無能
そういうことになることくらい想像出来てなかったお前の脳みそが足りない 漬物石を置くことをおまいは容易に想像出来たのか。
すごいな >>297-298
レビューをするとしても、みんなそれぞれに忙しい担当案件を抱えている中でのことだと内容確認は不十分になりがち。
特に実績がある程度ある人がレビューをする場合は、あの人のデザインだから間違いはないだろう、みたいな現場猫状態かも。 30分でよいので、5人以上でチェックする。4人以下だと なぁなぁになるので。
回路設計者が、回路の説明、設計の根拠を説明する。
周りの人は、ドンドン突っ込みを入れる。回路設計者は、それに応答する。
最初はとても苦痛だけど「こんなこと言われそうだから、事前に対策しとこっ」
突っ込みを聞いている周囲の人も「なるほど、そういう方法もあるな」
5人で見るから、いろいろなところを見るし、30分でも結構な効果がある。
さらに大事なことは、2回目をすることね。
今度は褒められたりすることもあって、快感になる。 >>301
性善説に立たずに対策を採れるのであれば それは有益かもしれないが
性善説に立たざるをえない 道交法とか立法している人たちの脳みそが
足りないのかと言えば、それは言い過ぎではないかという気がしないでもない。 何言ってんだカス
社会人なら危険予知活動で簡単に予想出来るレベル
漬物石で対応した現場の連中以下の脳みそしかないってことだ その漬物石アシストなプレス機、
怪我をするのが赤の他人だというのが問題の本質かも知れない。
その「何が何でも生産枚数を上げろ、と要求」した本人か、
その家族が作業にあたればいいと思った。 パートさんがPICファンだったら・・・
エッジトリガー入れて自動プレス続行しちゃうけど
そこまでは想定しないの?
とかいう議論になるから、ルール破る人の対策は別。 とすると、ルールを破られて困る人にまで問題の報告が到達する体制づくり、か。
賠償金を支払うのは誰か 経営判断する層が見ても本当に容認すべきリスクなのか 作業者が納得しないルールを作ったんだから仕方ないな。
余計な作業させるわけだし。 その「何が何でも生産枚数を上げろ、と要求」した上司 は作業者「ではない」のでは?
経営者やステークホルダーに こっ酷く 絞られる(か、降格処置される)べきかと
労災の担当部署も再発防止に向けて仕事しろよ、と。 >とかいう議論になるから、ルール破る人の対策は別。
真面目な話、プラス、マイナス以外の頭のねじにしておいて
「ふつうでは開けられないようにしています」
が通用している。 パロマの湯沸かし器では、サービス員が安全回路をバイパスする工作をしたことで事故が大きくなった。
容易に改造できるようにしていた、ということでパロマも責任を問われていたと思う。
意図的に改造が容易なように設計した、という証言でも出てきてたのだっけか。
改造で事故が起きていることがわかっていながら放置したと問われるなら、ユニットの全交換が
必要だったのかな? >>314
ねじ止め後に頭と基板の両方に印付けて
場所がずれてたらあなた開けましたねまである >>315
そして社会はチェンジニアばかりになり
技術継承は失われていく >>309
もし作り話じゃなくて実話だったとしたら
その仕様変更の決定というか要求をした上司を労基に訴えれば良かった
納品前ニダ >>318
防護仕様は通産省省令、ガイドラインで
安全装置を無効化する様な運用の問題は労基じゃ無いか? >>316
キビシイ用途になると、タンパー (Tamper)耐性とか
タンパー検知とかって リバースエンジニアリング(やら改竄の)防止のために
筐体開けたの検知して ファーム焼き切ったりいろいろ工夫したりするらしいよ ねじが溶接されてるのか
開けようとすると物理的に壊れるやつがあるね
瓶のキャップみたいなやつ >>317
元々の動作を理解してないと、チェンジニアにはなれない。 理解している人が判断して支持された箇所を交換するだけだろうから
チェンジニアになるのは存外簡単だと思うよ。
ただ、20円の部品を交換して治せる技術者に、オシロや信号発生器を
持ってこさせてギジツ料(人件費やら設備費など)二万円ぐらい負担するよりも
原価1500円の基板を6000円で交換口実で売り付けて
ギジツ料5000円(ぎじつや測定器材がない分安い)で済ませた方が
消費者の財布にも優しいから、チェンジニアは時代に即応した業態だと思うんよ。
操作ミスなら兎も角、経年劣化で故障した場合、バスタブ曲線で類似箇所の
故障が頻発する懸念があるため、基板ごと交換というのはMTTFを稼ぐ上でも有効じゃね?しらんけど あ。mean time between failure だろうからMTBFか、すまん Lチカできたよー\(^o^)/
でもランダムに10個チカチカさせるのは
まったくわかんない/(^o^)\ 各LEDに変数、次回までの時間と次回の点灯時間を用意
割り込みなど定期的にそれらの変数すべてのカウント値を-1させる(0以下なら0)
これだけ
そしてメインでLEDの変数参照して
次回までの時間が0の奴があったらそれを点灯
点灯時間が0のやつがあったら消灯
新たにランダムで数値セット
のループ >>330
よくわかんないけど割り込みタイマーというのを使いこなす必要があるのですね?!
(;´Д`)
がんばってみましゅ\(^o^)/ いや、割り込み使えれば使えばいいし
そうでなければメインの頭でdelay()でも使って処理すればいい
どうせランダムなんだから精密でなくてもいいんだろ >>332
顔文字 やめた方がいいよ。
馬鹿に見えるよ。 >>332
理解しやすい方法は
・割り込みを使わなくても良い(使っても良いが使わないで出来るよ)
・タイマーを利用して経過時間を取得
・ランダムで用意した時間と経過時間を比較してLEDを点滅させる
◇step1
・1個のLEDをdelayなしでLチカさせる
(タイマーの使いかたを覚える)
◇step2
・step1の1個のLEDを点滅をランダムにする
◇step3
・step2のLEDの数を増やす
顔文字は愛嬌アップ間違いなし!~皆で積極的に使おう\(^o^)/ わたくし、こんなんですが顔文字もこんなんです('A`) 正確な時間制御必要なければ割り込みは使わなくても
同様の視覚効果は得られるよ
8ピンPICで12個のLEDを4階調で光らせるくらいは
割り込み必要ないよ
(割り込みで負荷をかけすぎるとmainでの処理が追いつかなくなる) 質問お願いします。
PIC24でMCCでICSPのピンを出力に設定したいのですが、
鎖のマークが出て出力に設定できません。画像↓です。
https://imgur.com/NlDnvTs.jpg
MCCでICSPのピンは、I/Oに設定できないのでしょうか?
また、MCCの鎖のマークの意味を教えてください。
鍵=決定
鎖=だめ? >>339
顔文字やめておじさんこんにちは∩^ω^∩ ´Д`鎖はダブりって意味。
一旦、全部ブルーにしてから
やり直すと設定できる。 >>338
Z80で割り込みでガンガンFM音源で64分音符まで演奏しまくって、全キャラのカウンター計算して
メインでガンガンキャラのアニメ演算して全画像上書きしてゲーム動かしてんだよ
今のマイコンでたかが12個のLEDにどんな負荷あるってんだよ >>341
ありがとうございました。試してみます。 >>342
何のゲーム?
アニメーションはスプライトじゃないの? >>338
>8ピンPICで12個のLEDを4階調で光らせる
これ具体的にはどういう回路を想定してるの? >>345
名称が出てこないけど少ないGPIOで抵抗とLEDのみで多数のLEDを制御する方法があるの(H/L/Zの組み合わせで出来る)
GPIO2本 -> LED2個
GPIO3本 -> LED6個
GPIO4本 -> LED12個
この方法じゃないだろうか?たぶん\(^o^)/ チャーリーなんとか
PIC12FのGP0,1,2,4,5の5本使ってLED20個、GP3(/MCLR)でON/OFFだな
https://i.imgur.com/TPDgnUn.mp4 >>344
その手のゲーム機だとスプライト以外にもBGも使ってると思う PC88SRにはそんな便利機能はない
当時の天才たちが作ったプログラムは技術の宝庫 今なおそれが社会的にどれぐらい有益な技術なのかどうかは別。
江戸時代のトップクラスの職人の技術はすごいものがあるけれど、多くが今では機械で大量生産ができるようになっている。
かつての天才の作品そのものに、博物館的な価値があるのは間違いないが
当時の人たちに、今の環境を与えたら何をつくるだろうか、と考える方が前向きじゃないですかね。 >>348
MSXとかは、スプライトは有るけど、単色だし同一ラインに8個までしか表示出来ないし で、かなり大変。 >>350
PC88SR ってのは知らないけど
PC-8801mkII SR なら ALU 載ってるし、CPU だけでやってる訳じゃないよね。 仮に 320x240 だとして 8bit カラーパレットだとして
76800 bytes 使う
当時は 64kB でも貴重な時代
それに今観たいに毎フレーム全bit書き換えとかやらんし MPLAB X でプログラムを書くとき、漢字のフォルダーは使ってはいけないのでしょうか?
やってみたら、問題なくコンパイルが通り、動作もして、
さらにソースを修正して、コンパイルして、問題なく動作しました。
漢字使用の何がいけないのでしょうか?
MPLAB公式見解はどこにいけば見えるでしょうか? >>351
麻薬に手を出して豪華客船に密航して捕まったよ >>355
MPLAB IDEの頃にそんな事、言われてましたね。Xは、大丈夫な気がする。 PIC以外でも将来、海外製の開発ツールをほかにも使う可能性があるなら、
ユーザーフォルダも含めて日本語を含まない (というかいわゆる半角英数記号で
ファイル名に許されている文字だけの) フォルダを使う方が安全だと思う。 あるとわかってる地雷をわざわざ踏みに行くのは馬鹿。 >>359
マイコン開発環境が、どのメーカーのやつも漢字はダメなのか?
漢字が使えるものもあるわけだから、
mplabも使えるのか確認するのば自然なことだと思うが。
いつまでも英数字だけで頑張るのは、情弱であると言うしかない。 発光ダイオード制御.c とかするんか?
英語版Windowsで日本語ファイル名使うと
zip するときにエラーが出るという謎仕様 もしかしたらあるかもしれない地雷を
「もうあるはずがない」
「あるかもしれないと言うのは情弱」
みたいな感じで。 >>361
>発光ダイオード制御.c とかするんか?
アホ。
フォルダー名だよ。
C:\自動給餌装置_type1 とか、親フォルダは漢字が使いたいんだよ。
そのの中には、pdfもあれば、CAD図面も、写真も、MPLABプロジェクトもあり、
そのプロジェクト名には AUTO.... など好きな英数使えばいいんだよ。 >>363
ファイル名に漢字が使えるソフトもあるのに
いつまでも英数字だけで頑張るのは、情弱であると言うしかない。 対応したからってまともな客が増えるわけでもないからな。 そのうち「予約語が英語なのはけしからん!」とか言い出しそうw ログインアカウント名に日本語や空白入りを使って痛い目に遭ってる人は数多い
回避方法があるのにわざわざ地雷踏みたがる香具師は何が目的なんだ >>361
発光 ダイオード 制御.c (空白入りの方が観やすい) stm32のスレでPICは老人しか使っていないと見たのですが本当ですか? > >>361
> 発光 ダイオード 制御.c (空白入りの方が観やすい)
発光.ダイオード - 制御.c
ついでにドットとかハイフンも活用しようぜ!
\(^o^)/ stm32とPIC32正直どっちがいいんだろう?
そういう比較だよね 変数名はギリシャ語とか使えるといいよね。
phi=2*pi/sqtr(k) より φ=2π/√k のほうがわかりやすい。 ただし、φとΦは意味が違うので大文字小文字も必要。 ___φ(。_。*)メモメモ
↕ この違いか・・・
☆ /\
/\ /┴┬\
,,….,,,,…/ パ \,,/┴┬┴┬\ ../\….▲…,,,,,,,,,,,,,,,,,,
___ ::::::;;;: :: ::::::. :::::;;;;;;;; ::::::::::;;;;;;;;;; :::;;; :::
/i_¶____il\__:::: :; ;:::: :; ;:::: :; ;:::: :; ;:::: :; ;;;; :::;;; :::
//Φ Φi_| ヽ:::: :; ;::::/ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/人 Д /,,_|. :: :; < 呪まーす
て,,,Шて,,_ノて_人:: :; ;|
:::::: ::::;;;:::: : :::: :::: ::::::;;;;;;;;;::::::\______ >>369
誰もそんなことしたいと思わない。
漢字や2バイト文字が使えないことを知らされていないだけ。
ジジイもジジイだけど、教える人の教え方が足らないと思われる。 2バイト文字って、感覚がシフトJISの頃のままなんかな。 日本語ユーザー名でMCCが使えなかったから英語ユーザー名にした。 Hiroshi がダメだから Harold にしたのかな? 使えないなら入力できないようにするのが本当のローカライズ
逆にベテランジジイは未だにファイル名英数8文字縛りで使ってたりして コマンドラインでファイル名指定すんのにクォートが必要になる様な命名は避ける。 UTF-8はおおかた3バイトだが、
Windowsで(というかC#で)
UTF-8の、すべての文字を表示するにはどうしたらいいんだろう。
顔文字を含む。
どっからフォント取ってくりゃいいんだ?スレチだけど。 >UTF-8はおおかた3バイトだが、
を読んで
>UTF-8は3バイトだが
と解釈して
「それは違う」
って思ったのかな >>389
それ以外の解釈は俺には思いつくことができない。
ともあれ、文章が含むなだらかな事象を、
読み手が、なだらかな事象として受け取らないないと、話が難しくなるね。 文章読めない人って知らない単語は読み飛ばすらしいよ
おおかたを知らなかった説を推したい >それ以外の解釈があるのか?
コペンハーゲン解釈(^p^)あすぺなまんな!! PCで使われる文字はおおかたUS-ASCIIって話かと思った MCCで「Generate」するときに、以下のようなメッセージが出ます。
Configration has warning,
Generation may fail or produce incorrect code.
Do you want to continue?
修正したいと思うのですが、どこに問題があるのか、知ることはできますでしょうか? 下のNotification[MCC]
のウインドウに警告出てるはず。 >>399
ありがとうございます。確かに出ていました。ありがとうございました。
PGEDは入力なのに出力設定してるよね。
PGECは入力なのに出力設定してるよね。 でした。
ICSPのピンって、出力に出来ないんでしょうか? >>400
MCCの、icsp端子は入力デフォルトになっているみたいで、
鎖が外れない。
なんかMCC変。 MCCって、使いにくいよね。
MCCで生成した部分を変更すると、次のMCCの時に盛大に文句言う。
差分を左右に表示する変な画面が出てきて、スペース1個でもワーワー言う。
要は
「おれの生成したものを触るんじゃねぇ」
「俺様の言うとおりに使え」
と言うことなんだな。
MCC様の生成したタイマー割込みの使いがわかるまで、ずいぶん苦労した。
こう書くと、文句があるなら使うなと言う人が必ず出てくるけど、
USBを実装するのにMCCに頼るしかない。
USBの部分だけ使いたくても、MCCでSYSTEM....の設定をしなければならず、
何だかな、という感じ。
結局アルデーノ感覚でPICが使えるようにしたいんだろうけど、
そこまで俺たちを馬鹿にするな、と思う。 コード生成ツールを使うことは、ある意味他人のコーディングルールを
受け入れるのと似ている。感情的に納得できなくても頭で納得できる力が必要じゃないですかね。 とにかく自分の思い通りにならないと文句言うだけ
MCCが何するか理解すればそんな不満は出てこない
そんな能力もないなら使うな、だ STM32ではMXというコード生成ツールにしてるが
挙動を把握しきってるのでなんの不満もない。 これぐらいの日本語を読めないぐらい、受け入れに柔軟性がなかったら、
自分の流儀と同じソースを吐く生成ツールでもない限り、相当に辛いだろうな。 日本語が不自由
頭が不自由
顔が不自由
口が不自由 >>410
なぜに突然STM32? PICのMCCの話をしているのに。
MCCのTimer割込で生成される Ticker って何? それくらいツールの挙動を理解してそれに応じてお前が動けって話をしてるんだよ。
残念なからMCCは使った事ない。 Harmonyのコードならさんざん読んだがな。
何がなんでも 自分流になってないと嫌々ー!
ってんなら全部自分で書け。ボン(Ry) 他人が作ったものを使うんだから、慣れるしかないよ。
オープンソースを移植するとかだと、なんでや?とか疑問を煮やしてることの時間の無駄。 XC8のおかしな挙動直ってる
data1 =1;をコンパイルした場合
◇XC8 Ver 2.36
> movlw 1
> movwf ??_main
> movf ??_main,w
> movwf main@data1 ;volatile
◇XC8 Ver 2.40
> movlw 1
> movwf main@data1 ;volatile
私の願い(呪)が届いてMICROCHIPも改心したようだ
\(^o^)/
次は有償のコンパイラを無償化する祈祷をするか >>418
アセンブラ爺は、顔文字だったのか。納得だ。 Ver 2.36 の有償版でも同じふるまいだったのかな、と穿った見方をしてみる。 無償でもインストールして何日間かは最適化がバッチリ効くけどしばらくすると金払わんやつの最適化は効かなくなるとかいうアレか? xc8 2.40でコンパイルし直したら、ものに依るけど 1% から 4% くらいプログラムサイズが縮んだ。 >>419
わたくし、アセンブラ嫌いですわ〜\(^o^)/
Perlのような文字列と数値を足せるような言語が好きですわ〜 >>426
print "abc"+5;
なんて出来ないんじゃ? >>427
>print "abc"+5;
エラーじゃなく[5]が出力される
print "10ABC" + 5;とかだと
[15]が出力される それがしたいのか?
"abc" . 5 じゃないのか。 なんか よーワカラン挙動やなぁ。
print "10ABC" +2;
なら”ABC"を表示してくれるのが自然(直観的にわかりやすいん)じゃねぇん? しらんけど 挙動としては、
5足してるから算術だよなってことで
最初に現れた数字から数字じゃなくなるとこまで取って
5足してるってことでしょ そーゆー理屈なら
print "10ABC" + 5;だと
[10AC1]じゃないん?(・p・;) あ、0xとかH'とかが要るのかな PICの話をしようず!
perlの話は……
ぱーるぅ、おなかぺこぺこだおぅ >>432
ケツの1はどこから?w
parlの変数は型はなかったような、言ってみればバリアントみたいなものかな >>435
直値 と言う表現を始めて見た。
これ、なんて読むの? ちょくちって読んでるけど、使わない?
リテラルって言ったほうがいい? ググった
りてらる って読むらしいぞ(^p^) もしくは いみでぃえいと。
直 値
まじかね。ちょくちじゃやないのかと; イミディエイト:即値
リテラル:直値
らしい(あんまり意識しないで使ってるけど) ありがとうございます。ちょくちと読むんですね。
即値もですが、何かな変な感じがしないでもないです。
礼賛を らいさん と読む感じ。 想像というか憶測だが、漢字部分に、
ワンタン(雲吞)と書こうとしていた説
>>448 かんばせもじ? ってなんですか? XC8の2.40にしたらメモリー使用量も少し減るのな 久しぶりにMPLABIPE立ち上げた。
書き込む石の型番を選択したら、
ICD3に対応してないってエラーメッセージが出て肝を冷やした・・・
(以前にも同一環境で書き込みしたはずなのに!)
フィルタを制約していない状態でクソながいリスト中からせんたくしていたんだが、
ミドルレンジにフィルタしてからなら選択できた。なんでやねん(^p^;) >>456 ふむふむ。 であるならば、PICと全く関係なくて恐縮だけど、
ぼくの痛ヒコーキ模型作品 つむーぎんぱるす を見せてあげやう(^p^)
ほんとPICと全く関係なくて申し訳ない;PICと全く関係なくて申し訳ない;
たまご飛行機まだあんのか
ハリアーとかコルセア作ったな MPLABXの書き込みボタンから
PICKit4で、PIC32を久々に書こうとしたら、止まって動かない。
おま環? 環境って?
MPLABX6.00
XC32 V2.10
ICの型番なんかこんなときに要るの? >>457
いいね!Good!
PICtureフォルダあさってたらこんな写真が出てきた
https://i.imgur.com/Djw0gHI.jpg
https://i.imgur.com/bHRfKPL.jpg
模型とかプラモとかにアニメのステッカー貼った事無いや・・・
スノボ板と車には有るけど・・・ \(^o^)/ >>460
LED30個とか40個制御するときはどうすんの?
よくキラキラ電飾ついた服や壁をみると
1個1個ばらけて点滅してるからI/Oどーなってんよ? >>461
接続を間違えた
ターゲット電源入ってない
ドライバー死亡 >>470
NeoPixel便利で良いけど
電流無視しがち 10マンコLEDイルミネーションとか配線どうしてんだろうな?
制御はディスプレイ出力のドット表示回路を分解してんだろうけど
1個1個に配線してるわけは無くて、相当数のLEDを直列配線のままばらばらに使ってんだろ
1000個単位の省配線システムで伝送してんのかね? >>469
あー!そいうことか
>>470
LEDテープってこー言うの使うのね
勉強になります >>474
あの規模だと電流もだけど遅延も気になるしな 10万個を単純にマトリクスしても320*320くらいで
ビットパターンを320*2送るとして100KHZで送っても6.4m秒なので
楽勝なんじゃね? バカでかいマトリクスにしても遅延はこんなもんでしょというはなしなんだが
その10万個ってダイナミック点灯してんの?全点灯すると数千A級だよ >>480
スタティックだと消費電力少ないと思ってるの? >>481
だれもそんなことはいってない
数千アンペアの電流を一箇所でコントロールするの大変だから
そんなことしてないんじゃないの?ってこと 320個載ってる(連結した)テープを320本用意するって話でしょ
1本中で320個同時に点灯させる必要は無いし
320本同時に点灯させる必要も無い
ただし1本あたり6ms掛かるなら
6x320ms秒くらいの周期での更新になるな マトリクス=ダイナミック点灯じゃないから
ダイナミック点灯やらなきゃ、320倍ながさなきゃとか考えなくていいからね 同時に点灯当たり前にやってるし1670万色やってんだぞ 1本のテープのLEDを別々に制御できるようになってんのはシフトレジスタで順送りしてるみたいよ
だから根本は数本 というか冬のイベントでイルミネーションとか常に全点灯してるのしか見たこと無いや
どっかに動画あるなら見てみたおい >>484
マトリックスでスタティック点灯だと
何個かしか光らないけどな! >>489
んなことないよ、全点灯もできるし、ブロックごとに点灯できる
一個づつ別個に点灯してるように見せられないだけ >>490
ゴメン、マジで何言ってるか分からない。
マトリックスでスタティックで全点灯ってどういうこと? https://www.fashion-press.net/news/34350
こんなの
ブロック単位で独立してるとこもあるが、巨大なディスプレイのようなもの >>492
なぜマトリックスだと分かるの?
それこそLEDテープみたいなやつじゃないかな? てか、picで動かすレベルじゃないよねw
intelに任せようよ PWMのパルス幅DMAで送り続けられるるような品種
ならMCUでもNEOPIXELの制御行けるよ。 PICの縁起(由来)を踏まえれば、
周辺回路制御用なんだから
ある程度の発光体の塊ごとにPICをおいて、多量のPICを
統括用のPICか、パソコンなりスマホなりから制御するのが
PICスレ的には自然な流れではないだろうか。
ちなみに模型分野では数個のLEDを別個に別patternで
点滅させ、その光を導光板とか光ファイバーの束を経て
電飾させるのが主流・・・ 光ファイバーは
近くので束ねるのでなく、ばらけて入り組ませるというか
混在させることで単純ではないように見えるらしいず。
電流制約の話はファンイン・ファンアウトとか言われる奴やな。
トランジスタは電流増幅素子でもあるので一段なり二段なり
n段なり噛ませばいいんじゃね?しらんけど NeoPixelは白発光で50mAぐらい食うらしく256個点灯用に余裕見て20Aのスイッチング電源買ったよ
>>487
RGBの3色だイプだと各色1バイトで3バイトのデータを連続して送った後
僅かに間(50usだったかな?)を開けて次のデータを送り出すと1つ目のLEDはそのデータを無視して
次のLEDにそのまま送るようになってる
50usを過ぎるとリセットが掛かってまた自分がデータを受け取るような感じ WS2812BだったらPIC18F2620を40MHz駆動してアセンブラでフルコントロールできたよ
飾りを作っていたんだけどLED自体が壊れやすくて作るのやめてしまった
8本スティックタイプだったから1個壊れても8個単位で交換するから高くつく・・・
>>494
パネルになってるのは形状がパネルになってるってだけで
16個x16個の直列になってるみたいだった >>499
フルパワーで光らせる必要ないんですよ。
つい255にしちゃうけどね。 255じゃなくて16くらいでも充分明るい
>>499
50us以内の間違いでは >>502
失礼!「50us以内に次のデータを送ると次のLEDにデータを送る」だね
ただ50usは長すぎるみたいでリセットが掛かってたような覚えが
若干短めに設定してた
>>501
255だと眩しすぎるね
256個を全部白点灯させたら青白くなってて発熱もヤバかった
とりあえず1600万色出せるかどうかのテストだったから 実際にテストなんてやってみなくても出せるに決まってるだろ
それよりどうやってテスト結果を検証したんだ?
1600万色を区別出来るセンサーは自作したのか? >>503
「50usは長過ぎる」
あほか50usでリセットされるんだよ
間隔は空けなくていい0usで次のデータ送れ >>505
それを技術的には50μS以内と表現するんじゃ? どうみても50us未満ですほんとうにありがとうございました
最大50usだがそもそも必要無いものなので0sでOK 荒らしは3回反論してくるという。
なぜ彼らがこのような行動を取るかというと
一度の投稿で事足りるように自分の意見を整理してまとめられるほどには彼らは頭が良くないからだという。
おまえらも謎めいた投稿をしてるが
そういうのに触るのは危険だと思って触らないようにしてる。
知能的に残念な人に触ると反論してくるが、そうすることによって意見を整理しているのだ
おまえらも謎めいた投稿をしてるが
釣りだろ?触ったら意見を整理するためにうざ絡みされそう ん?LED間のパルスには間隔要らないけど、
最初のLEDのパルス認識させるのに何十〜何百us のリセット時間必要(品種により違う) MPLABで質問があります。
ビルドとクリーンビルドは、どりようにして使い分けるものでしょうか。
タイムスタンプを見て...で行うのがビルド、
全部行うのがクリーンビルドだと思うのですが、どのようなときにクリーンを使って
どのようなときにビルドを使うのでしょうか。
昔、パソコンのパワーが無かった頃は、タイムスタンプで見分けて、
コンパイルが短くなるように、ということでビルドがあったのでしょうが、
今では常にクリーンビルドすれば良いように思うのです。 今でもでかいプロジェクトだと、結構時間かかるんじゃないかな? 他スレでエロいかどうか疑義が提出されていたので
ハルロック試し読み一話見てみたら
第一話からPICが出て来たワショーイ(^p^)
第二話で既にアルヅイノに鞍替えしてた…orz >>512
そんな事よりエロかったかどうかを聞きたい >>504
プログラム側だよ。パルスがnsレベルだから途中から狂わないと言い切れないし
制御もデータシート通りにはいかずマージンで動いてるようなものだったし
>>505
「50usでは長すぎる」と書いてるんだけどね。50us以下でもリセットが掛かってしまうんだよw
ところで・・・0usで次のデータを送るプログラム書ける?
自分では無理だったから24bit毎に次のLEDのデータを用意してたんだけどね
50usあるなら余裕だぜ!と思って書いたら全然間に合わず何度か書き直してやっと成功したんだけどさ
>>509
自分のプログラムを確認したらリセット用に100usのパルス送ってた >>511
ありがとうございます。
大きいプロジェクトだと、どのくらいかかるのでしょうか。
FPGAのように1日とかだと、短い時間のコンパイルがあれば便利でしょうけど、
PICのC言語なので、待てないほどの時間でもないように思うのですが。
2分くらいなら待てそうな気がします。 ひとつのソースのコンパイルだけなら5秒で済むところを
全部のビルドなら20秒かかるとして、それをよしとしない人もいる。
>コンパイルが短くなるように、ということでビルドがあったのでしょうが、
>今では常にクリーンビルドすれば良いように思うのです。
の根拠が
>2分くらいなら待てそうな気がします。
だとしたらあまりにお粗末。 >2分待てない技術者って、いる?
・いないことを論理的に証明できないなら、いることを前提にするべき。
・このスレで「いる?」と聞いて、いない、となったとしても、世の中にいないという結論は導けない。つまり尋ねる意味がない。
・あなたは自分が待てるから他人も待てると思っている。自分の感覚で他人の感覚を議論しても仕方がない。他人の感覚は自分が想定できない多様なもののひとつと考えるべき。 2分が早いか遅いかは感覚的なものだから、状況によるとしか言いようがないが
ネーチャン相手にしているときは、2分は「もぅ早いんだからぁ」と苦情が来るだろうな。
そうそう、義理の弟が酔っ払ってソープに行ったら、
「まだ終わらないのぉ、いい加減にしてよ」と怒られたそうなw
私の場合は彼女から「行くときは一緒だからね」と言われるけどねっww >>518
居る (↔居ない) : 背後メカニズムなどを知ると待てる許容時間は伸びる傾向があり、技術者が母集団であれば期待値は大きいだろうから不自然な表現でもない
要る (↔要らない):需要のあるなしを論じている
入る (↔入らない):範疇を論じている?
射る(↔射ない):正鵠を射る、の短縮表現か?
炒る(↔炒らない):拷問方法の提案か?
鋳る(↔鋳ない):専門とする技術分野の打診か?
煎る(↔煎らない):水気が飛ぶまで加熱する事を、修練的な意図を込めて比喩したのか?
僅かな可能性であろうと絶対ではないなら想定すべきという趣旨を踏まえれば他の解釈の可能性も以下略
>>519 一緒にどこに行くのでしょうか?役場への婚姻届け提出ですか?!おめでとうございます!! 私はビルドで2分くらいは待てるけど遅刻をされると5分でもイライラする
個人の感想です(テレビに有りがちなやつ 日本人技術屋に多いね、感覚的な話が通じないというか。
世の中全てがロジックじゃないんだよ。 そういった人が集うこの板で言うことに意義があるのだ
人に寄り添った柔軟な考えが無いから新製品で覇権を獲れない
とか言ってみる。 >525
PICで標準ロジックを置き換えようと思ったがピン配置がががw さすがに電源GNDの配置はどうにもならないねぇ。
CLCだけでも簡易ロジックになってくれるけど。 デジタルI/OとADC入力が多重化されたピンって
ANSELで明示的にアナログ入力って指定してやってんのに
依然として方向指定TRISやプルアップ指定WPUみたいなデジタル的設定の影響受けちゃうの何でだろ
品種によってはアナログ指定でWPUを禁止する回路になってるけど
12FxxxでADC読取値が生きていたWPUで変にシフトしたことがあった >日本を衰退させてんのは文系ですがw
原因をほかに求めていたら、自分がなすべきことを見出すこともしなくなるってことはないですかね。 あると便利だからでは?
例えば、ADC内のCと、外部のCの大きさを比較して
外部のCの大きさの変化を測定するとき、
TRISレジスタとADON等のレジスタを制御して
内部Cと外部Cをチャージして、ADON落として外部Cをディスチャージするみたいなことをして
AD変換をかけるとか、用途がある。
いったん0にして、そこからチャージを読むとかいう用途もあるよ。
LEDを接続して、光で電圧の上昇を読み取るとか。
WPUも今は思いつかないけど、何か使えるかもよ。 例えば、外部機器(電圧出力)がコネクタになっているときに、接続されているかどうか、とか。 ANSELは、ずいぶん昔のセミナーで「ピンの入力バッファの動作モードを
設定するためのものにすぎない。ピンのモード設定を意図したものではない」
って話を聞きました。
ハードウェアにとても近い感覚だなと思いましたが、TRISも、ピンの入出力設定
というより、出力バッファの動作を設定するものにすぎない、と言わんばかり
の名前です。
アナログモードにしたら自動的にプルアップや出力を禁止にするという考え方も
あるだろうけれど、個別設定にしておけば工夫の余地が出てくるし。 カメラのフラッシュみたいの作りたいんですが、参考書とかないんですかね。アマゾンで探したけど、フラッシュの仕組みが分かりそうな本がなかったですよ\(^o^)/ >>535
正にそれやってるよ。
GPSDOをPICで制御してるんだけど1ppsの位相比較を10MHzクロックのカウンタでやると
100nsまでしか測れない。
そこで端数を測るために外部コンデンサを定電流で充電してAD変換して原理的には0.5ns
まで測っている。
そのコンデンサの放電にTRISを使っている。 Xe管でやるならこんなのかね ttp://elm-chan.org/works/stl/report.html
昔は小澤電気でXe管や昇圧コイル扱ってたけど今手に入るかな
写ルンですを壊すしかななそう 初めてPIC使ったときANSELの事知らなくて幾ら試行錯誤しても出力が出なくて何がいけないんだろうと思ってGoogle先生に聞いてみたら答えが載ってた
はい、老害です >>539
GPS同期した事があるなら知ってると思うけど
1ppsのパルスの精度ってそんなに高くないよ 1ppsのジッターを計りたいの?
10MHzのジッターじゃなくて? なぜでファルトでANSELが1になっているのか、理由わかりますか? 「みたいなの」ってことは どの辺までの許容誤差があるん?
ワットオーダーの高出力LEDの瞬間点灯的な光量でもええのん?
ファルト? >>544
GPSの1ppsのジッターに比べて、10MHzから生成される1ppsのジッターなんてゴミじゃないのかな?
>>545
>なぜデフォルトでANSELが1になっているのか、理由わかりますか?
前提として…
デジタル入力ピンは内部でPchFETとNchFETの組み合わせでできていて
入力がHかLのときにはどちらかがONになる。
ところが入力が中間値のときには、両方が半端にONになって、PchFETとNchFETに
貫通電流が流れて(壊れるまでいかなくても)消費電流が増える。
ANSEL 1だと、おそらく、貫通電流が流れないようになる。(代償としてデジタル入力を
受け付けなくなる)
という前提で、
アナログ入力可能ピンには、電源ON時にHでもLでもないアナログ値が与えられることが考えられる。
ゆえに、デフォルトがアナログ入力であるほうが安全。
ただ、ほかのメーカーのマイコンだと、ANSELに該当するものがどれぐらいあるかな?
たぶん、半端な電圧が入ってきても特別ひどいことにはならないような工夫はされているのだと思う。 >>544
ジッターを測ってるわけじゃない。
PLLだからOCXOの10MHzからPICで作った1ppsとGPSの1ppsの位相差を測ってる。
位相差をPICのループフィルタで平均化して外部D/Aに出力してOCXOを制御してる。 >>548
ジッターまくりの1ppsに対して位相差を高精度で測る意味もないと思うんだが 言葉は一致していないけれど、カウントしてそれ処理して補正してるわけだよな。
それで意味は通る。 PICたけぇぞ。 買えねぇし。
RX210に変えるは・・・ 秋月のGPSモジュールと周波数ジェネレーターモジュールでGPS同期ワードクロックジェネレーターを作ったなあ
似たような事をしてるアホが他にもいるとは 解説しよう!(^p^)
系とは・・・Systemのことである。
例:太陽系=Solar System UARTより速い通信ができるのにメモリが少ないとか、
もうちょうピンが欲しいとか、
A/Dは12ビット欲しいとか
だろうか。
これって、マウスとかUART-USBコンバータぐらいしか想定してないような。
もっと機能が欲しいなら上位のものを使って、ということでは。 18F2550 とか 18F4550とか 12ビットADC版もあったよな。
それでええやん。 教えてください。
16進数文字を16進数の値に変換する方法として
if( (x<='9') && (x>='0') ){ hex=x-'0'; }
else if( (x<='a') && (x>='f') ){ hex=x-'a'+10; }
があると思いますが、
以前に
y[] = { "01234567890abcdef" };
と配列を切って変換する方法があったように思います。
この場合は、左から1つずつ取り出して、当たったら何番目かが答えになる、
ということだと思うので、for()で回すのでしょうか?
するとfor()の変数の確保が必要になります。
前者と後者、どちらが一般的によく使われるのでしょうか。
あるいはもっと素敵な方法ってあるのでしょうか?
本当は、a〜f のみでなく、A 〜 F も解析したいです。 >>563
int nVal に納められた0x0〜0x0fを変換するとして
char cAscii = y[nVal]; じゃあかんの?(^p^;) ピン数欲しいのにデカくしたく無いとはコレいかに。
機能が欲しいのに金は出せない、どっかの木っ端役人か。 >>563
int nHexRead (const char cAscii){
switch(cAscii){
default: return -1;
case '0': return 0;
case '1': return 1;
...
case 'a': case 'A': return 10;
case 'b': case 'B': return 11;
...
case 'e': case 'E': return 14;
case 'f': case 'F': return 15;
}
} // end of nHexRead
てのはどうでせう;^p^) >>563
数値から文字の変換では"0123456789abcdef"を使うことがあるけど
逆はやらんでしょ
if ('0' <= c && c <= '9')...
else if ('A' <= c && c <= 'F')...
else if ('a' <= c && c <= 'f'...)...
else ...
または
文字=>数値のテーブル a-fを大文字にして0とAの間をあけとけばforで回さなくても一発引きできるよ
大文字小文字は無条件にbit5を下ろせば大文字になる 何言ってるかわからない場合は、アスキーコード表を眺めればわかると思う 16進文字しか来ない前提なら>>570と>>569を組み合わせればかなり小さくできそう コードの読みやすさを考えようぜ
小さきゃ良いんだったらアセンブラでやればいい
Cつかってる時点で、数バイトの無駄なんてどうでもいいくらいデカくなってんだから え~と、数値から文字変換と勘違い地てた部分も合ったので、改めて書いとく
16進文字から10進数値へ変換
文字 0123456789:;<=>?@ABCDEF
HEX 30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46
DEC 00,01,02,03,04,05,06,07,08,09,00,00,00,00,00,00,00,10,11,12,13,14,15
DECを配列に入れとく(:-@の部分はなんでもいい)
変換する文字を得る(この時点でキャラコード)
bit5を下ろす(0-9 A-F になる)
(範囲チェック必要ならここでする)
キャラコードから0x30を引いたものを添え字として配列から値取得
変換完了 >>577
現実的には境界チェックするからねえ、で境界チェックしたならついでにascii.デシマルのオフセット引けばそれで終わってしまう。 >>577
ありがとうございます。
10年ぶりくらいにC言語で感動しました。素晴らしいです。
こういうことですね。
unsigned char DEC[] = { 00,01,02,03,04,05,06,07,08,09,00,00,00,00,00,00,00,10,11,12,13,14,15 };
unsigned char chr2dec( unsigned char c ){
return ( DEC[(c & 0xdf) - '0'] );
}
今まで、
・'0'から'A'の間を埋めて
・a〜f→'A'〜'F'も事前に処理して
でないとfor()で回せないし、変数1つ要るし...。
16個をベタで書くのは能が無いし、if()を3行書いて範囲を絞るのもどうかなぁ
と悩みながらやってきました。
これはスゴいですね。素晴らしいです。自分で考えたのですか?
ありがとうございます。
他の皆さんもありがとうございました。
顔文字の人は、間違いが多いですね。
もっと落ち着いて行動してください。簡単です、エロと顔文字をやめればいいのです。 C特有の書き方はわからんのだけど、合ってんじゃないかなw
自分で考えたっていえばそうだが、アスキー表眺めてれば、多くの人がたどり着くと思う
普段はASMなんで、条件判定書くのがめんどくさいから、
いかに条件判定せずに済ますかばっかりかんがえてるんで、こういうのにたどり着きやすい あらw、おれの数列の書き方がわるかったのか
8進数なんて使わねえから気がつかんかった
8進数の頭ってゼロなんだな
OctのOだと思ってたわwwwww 由来はどっからなんだろうね
16進の0xとか、0hのほうが直感的でいいじゃんとかおもってしまうw >>581
ありがとうございます。
>アスキー表眺めてれば、多くの人がたどり着くと思う
そうですか? 規則性を見つけることが得意な人はうらやましいです。
>いかに条件判定せずに済ますか
ですね。流れるようなソースを書け、と先輩が言っていました。
いろいろ考えたあげく、Cなのに goto を使って書いたら、判読性が良いソースができました。
>>582
>合ってねぇよ。
>8進数表記だよ。
すみません、そうですね。
8進数でした。素直に0x00とかした方が良いですね。 8bit PICなら速度もサイズも機能も>>569だろ
大文字前提ならifが1個へるし
異常値判定不要ならifが1個へる
どっちも不要ならifは1個だけ
可読性も悪くない
PICはテーブル参照が遅いしROMも食う
高性能CPUでもテーブルはキャッシュ汚染の弊害がある gotoを無条件で悪と思ってる頭の悪い人
未だにいるよね
gotoを使わないことが目的になって
可読性が下がってることに気付かないアホ '0'の0x30に 0xDF でAND して、'0'の0x30 を引いたら何が得られるのだっけか。 0x30 & 0xDF → 0x10
0x10 - 0x30 → 0xE0 あ、ごめん、うろおぼえで書いちゃった
ビット5おろしちゃだめだわ、立てなきゃ、ごめんごめん
たてたら 0-9 a-fになるから
配列のほうは途中のダミー部分が大きくなっちゃうけど、書かなくても、わかるよね ダミーが40バイト近く有るのも、ちょっとイヤンな感じなので、もうちょっと考えて見たよ
配列の中身はこうしとく
{10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
bit5とbit6を立ててやれば、a-f A-F は a-f に 0-9 は p-y になるので
bit5,6を立てて,0x61を引いたのを添え字にして配列を「引く
これで最初の構想とほぼ同じ PICはテーブル参照が、、、と言う人もいるけど、
cでやるのにかんけいある? >>598
テーブルにする事が目的?
パフォーマンスアップじゃなくて 0〜9、a〜f、A〜Fしか来ない前提だったら※
最初に0x4FでANDして、結果が10以上ならそこから55を引けば小さいフットプリントで済みそう。
その前提※があやういから個人的にはしないけど。 >>601
前提が崩れそうなときは前処理でチェックすればいい
ビット演算と配列でやるのは、ifを一個も使わないというのがいいところ
まあ、今どきのプロセッサはIf使ってもそんなに遅くならないから
昔ほどのメリットはなくなってしまったけど 前処理が入れば多分そこにifは入ってきてその場で変換の処理もできると思う。
あんまりここで頑張っても仕方がないかも。
「10以上」は >>601 の場合は「ビット6が立っていたら」で良いので、最小限のスキップ
とジャンプで処理できると思う。
昔のPICだとテーブル引きはジャンプと値付きリターンだったね。いまはどうだっけか。
分岐がないのは、値によって処理時間を変えたくない、というニーズも満たせるかも。
このあたりの優劣の議論はアセンブリ言語でしないと、
「コンパイラやマイコンによってそれほど問題ならない」「それほどってどれぐらい?」
みたいに、靴の底から足をかくような収集のつかない話になると思う。
用途やニーズで前提が変わってくるので、そこを提示する必要もあるね。 >>603
>>563です。
if()を使うのは以前からやっていますし、速度の不満は全くありません。
それよりも、簡潔な書き方、エレガントな書き方、判読性のある書き方、
if()を使わずに済む書き方 をしたいと思っています。
例えば、
if()だとカッコや、同じ変数名を何回も書かなくては行けませんが、
a = (b==c)? 3 : 4;
と言う書き方は、とても感激しました。 かっこもいらん
a = b==c ? 3 : 4; >簡潔な書き方、エレガントな書き方、判読性のある書き方
>>601 や >>603 の言う様に前提条件を絞ってしまえば
簡潔でエレガントな描き方も出来るが
前提条件をはずれるとめちゃめちゃになるので厳密に考えれば論理的に穴があるとも言える
そのことによってあとで前提条件を忘れて使うとか判読性が落ちたりしないように
結局コメントに前提条件を描いて置くといったことになり
それを簡潔でエレガントではないと言う人も出て来るだろう
>if()を使わずに済む書き方
ここは構文糖衣みたいなもんで割とどうでも良い部分
論理的に正しいかどうかの方を考えた方が良いと思う >>604
うろおぼえで、間違ってんの自信たっぷりにあげちゃってごめんねw 前提条件チェックは、作ってるものにもよるんだろうけで
内部で、こねくり回してるデータを使う限りにおいては
チェックいらない場合が多いようなきがする
外部から取り込む場合は何が来るかわかんないけど 「簡潔でエレガント」は同じ趣向の人でないと評価が一致しない。
自分が書くソースコードに自分で評価するときにはいいけれど、
受け取ったものも含めて、他人が書いたソースを「簡潔でエレガントでない」と評価するのは、
相手が自分よりずっと弱者で、イジメても言い返されないような関係でない限り、
宗教戦争になることがあるよ。
MISRA みたいなものは別として、誰が偉い人が「これが簡潔でエレガントなスタイル」って
言ってるようなのは基準にもならないから、信仰するのはいいけど、他人には押し付けないで。 >>608
ascii形式の数値表現なんてキー入力やシリアルとか外部から入って来る以外あまり想定出来ないけどね。 自前のキーボードとかなら、そもそも範囲外の入力ができなかったりすわけですよ MPLAB X IDE v5.50 , PIC24F ですが
コンパイルすると、
Info: Heap not specified, using heap size of 0. Refer to "Heap Allocation" in MPLAB XC16 Assembler, Linker and Utilities User's Guide.
という表示がでます。
これは「ヒープが指定されていない。0です。....」と言っていると思いますが、
どうすれば良いのでしょうか?
・放置でよい
・ヒープサイズを設定する。 → いくつに設定すれば良いのでしょうか。 最小スタックサイズの既定値は 1024 バイト (0x400) です。
最小ヒープサイズの既定値は 0 バイトです。 SEが作ってきた仕様書にあるコードの定義を「0x12」と書いてあった
xはDon't careな桁のつもりだったらしいが
それ見たプロダクトチームは当然12(hex)でコーディングしてバグりましたとさ >>615
規定値tが 0 ならば、なぜあのようなメッセージがでるのでしょうか。
黙ってればいいのにと思います。 >>618
お前と同じで気に入らない事には文句付けないと気が済まないんだよ .stack とか .heap とか適当に描けば? ユーザーガイド見ろって出てんのに見なかったの?
infoだから、たぶんそのままでも動いちゃうけど、念のため言っとく的なやつ ラーメンタイマーを作ったら
24hデジタル時計作れるようになりますか? >>622
テーマとしてはその延長上にあるかもしれないから、頑張って。
でも、ラーメンタイマーと時計とでは要求される精度が全然違うから、
クロック源については違うノウハウが必要かも。 ラーメンタイマー精度いらない、表示もイラナイ
時計は精度要る、表示も要る(おしゃべり時計なら表示なしもありだが、どっちが難易度高いかは、あなたしだいです) 3分のができたら次は市販で入手できる全てカップラーメンのデータベースを組み込んで
銘柄選択で最適時間を設定してほしい。かため/ふつう/やわめの指定ができるとより良い
どん兵衛には10分モードも忘れずに 電源をスーパーキャパシタにして、普段は充電ステーションに置いておこう 空腹は最大の調味料なり
手回し発電で空腹感をまして
美味しくいただこう 表示を7セグで4桁にしたいけど
spiとi2cどっちがいいの? へ~、教えて教えてw
2は 1+1
7は 5+1+1
12は 5+5+1+1
17は 10+5+1+1
足して希望の数値になれば、別の組み合わせでもok 2分麺があるなら時間は
1,2,3,5,10でいいかな 風量+しか無い扇風機のリモコン、ちょっとストレスw 板的に >>638 が普通選ばれると思うが
2! 3! 4! 5! ... の階乗進数もあるようだ >>646
その気持ち良くわかる。
押しボタンスイッチ1つで、1→2→3→電源off もイラつく。
offにしたいのに、なんで最強をくぐらないと行けないんだ。
こういうのはどうかな、考えた。
1→2→3→1→2→3→....SWを長押ししたら、その強さでoff。
offのときにチョン押しで電源が入って、前回の値を再現する。
前回値はEEPROMでなくても、RAMでいい。
いくつか調べたことがあるが、1→2→3→offの扇風機は、
モーターの電圧を変化させているみたい。
マイコンの出力ポート2bitで各bitに直列に抵抗が付いていて、その先は
DCDCコンバータのVrefを行っている。 俺なら、熱感知で自動スタート
後は一分毎に10分まで音声読み上げにする
ま、売り物つくるんじゃないから、作るひとが好き勝手やればいいんだけどね 焼きそばタイマー作るよりタイマー買ってきたほうが安そう
そういう事言っちゃいけないんだけど
手持ちの部品で作れるなら良いけど、アレ買ってこれ買ってってやったらアウトやで なにその「冷蔵庫残り物で美味いツマミ作れる出来た奥様」
みたいな価値観 >>655
部品集めから回路設計から完成までの過程を楽しんでいるんだよ。
金額でしか比べられないのは、さみしいことだと思うよ。 もう時代はデータ送ったら何もかも済んだ基板が届く時代だよおじいちゃん。 「俺最近電子工作やってんだよ」
「へ~、どうやんの?」
「こんなんほしいっ、メール書いてお金送るだけだよ」
「へ~」 >>661
カップヌードルよりも
カップヌードルのプラモの方が高いんやでぇ・・・ >>663
確かにそうだよな。
今は設計して基板のデータ送るけど
進歩すれば仕様を送るだけで済むようになるね。
「15分まで計れるタイマー、一分単位で設定、液晶ディスプレイに残り時間を表示」 その万能処理系を作る仕事があるから
だいじょうぶ、つまんなくないよ 笑 オペアンプを使うだけで、アンプを作るたのしみが無くなる、って言う人はいたしね。
作る楽しみの階層が変わるだけだと思う。
マイコンが出始めた頃は、それそのものを楽しむことが中心だったけど、
今はどんなものをそれで作るか、に関心を寄せる人が多くなっている。
一方で少なくとも趣味の領域なら、ナイフで竹とんぼを削り出すような、
プリミティブな楽しみもずっと残ると思う。選択肢が広がっているともいえるね。 テレビ放送が始まると、ラジオを聴く楽しみが無くなる。
ラジオ放送が始まると、新聞を読む楽しみが無くなる。 8ピンDIPでタイマーで555だと思った人がいた、と。 あれ、NE556って無かった?
555の2つ入ったバージョンの 圧倒的に555の入手性だからなあ
PIC8で入手性が良くて8PDIPでって言うと何を思い出す?
語ろうぜ >>686
昔の話だけど、猫避け用高周波音発生器の裏ブタを開けてみたら555を「使ってた。
発振周波数は15KHz程度で、それを圧電スピーカーの音源にしていた。
中を見たときに何じゃこりゃ!と驚いたのは、555の他に8ピンのPICも使っていた事。 >>688
出たら買うけど
14pinくらいのも欲しい
つまり>>557 8pinは秋月120円のARMが強い
20pin95円のもある
PICじゃないけど
変換基板を使うとパスコンとかの付属部品まで一緒につけられるから使い回しに便利 8pinとか言ってるやつは当然SOPを使ってるんだよな バラック空中配線(無基板実装)する時はSOPよりもDIPの方が便利だったりしそうだけどな 時代は繰り返してひと廻りしてかえって新しい、
そんなリバイバルも乙なもんなんじゃよ ほっほっほ(^p^) 秋月のページ見に行ったら8pinでもsopって少数派なのね
俺10Fで良いや 実装方法は工場によって得意不得意がいろいろ。そういう理由「も」あるからパッケージはいろいろ。
それがある、ということは、自分で理解できなくてもここで答えがなくても、それが有用と考える人が
いるからと受け止めるべき。 >>701
DIPはブレッドボードや万能基板で使えるけど、SOPだと基板屋に頼む必要が出てきますよね。
DIP化するくらいなら、初めからDIP使うし。 >>703
量産ならともかく
試作程度の枚数なら
SOP手付けぐらい皆さんされてますぞな
ぐぐっても、SOP、SSOPの半田付け方法っていう解説ページがヒットしますし 世の中的にはDIPは少数派で選択肢も少ない
PICや秋月が特殊 >>703
まず買ってきたら万能基板かブレッドボードで試してみたいもんですよ
で、SOP推しの人は買ってきたらどうするの?
ブレッドボードとか使わないの?
セコセコ基板設計して頼んで待ってるの?
無駄じゃん 基板頼んで部品実装もしてもらえば楽チンだよ。
部品の在庫も持たないで済むし。
まあ、一枚しか使わないのに5枚とか来ちゃうのは無駄だけど。 SOPは小さくなると見せかけて、ICSPの端子を引き出したりすると
逆に大きくなるのでは。
ソケット使って焼いてからはんだ付けするという手もあるけど、
基本的に外さないから1回きりだし。
80pinのを使いたいから仕方なくQFPとかならわかる。
書き込みはだいたいPHコネクタだな。今手に入れるの大変だけど。 >>707
SOP、SOIC、SSOPぐらいなら(ChaNさんの真似はできないとしても)変換基板があれば配線は楽勝。
って思う人は少なくないと思う。
ブレッドボードを使う<--------------------->基板設計して頼む
の間は想定できるよな。
あと、基板設計は「セコセコ」と侮辱するようなものでもないし、何が無駄かどうかは観点で変わる。
自分が否定する価値観が、肯定される場面があることを理解するべきだと思う。 >SOPは小さくなると見せかけて、ICSPの端子を引き出したりすると
>逆に大きくなるのでは。
SOPを使うことには合理性がないことにしたのかな? ここでそんな結論出ないよ。
DIPを使うことに合理性がないということもない。自分の選択はそれでいいじゃないか。
他人の選択をああだこうだ言うことはない。 否定はしていない。
でかくなるんじゃないかな?
くらいの話。
ああだこうだ言うことはない。というのは、私を否定しているということなわけで
あなたも結局同じことをしているのだと私は思うのです。
ま、いいけどさ。 >>710
変換基板を手半田するかブロアで炙るかしてるよ
ブレッドボードで遊びたいときはそうしてる
待ってる時間勿体ないでしょ?って言いたいの
だから、DIPの需要が何故あるか、つまり2.54mmピッチである必要が有ることわかってる? >>696
だってサイズの問題で8pin DIPのUSB付きが欲しいとか言ってるなら
14pinのSOP使えばいいだけでしょ? >>713
>DIPの需要が何故あるか
ホビーユースにはあるかも知れんが
世の中的にはあまりないんじゃないの?
需要あるなら最新チップでも出してくれるはず。 >>713
なかなか炙るとは頑張られますね。それはすばらしいと思います。
うちの場合、特殊な恵まれた空間なので、2層までならほぼ待たずにできますので
SSOPでも問題ないのですがDIPは試作のときにはよくお世話になります。
なにしろはんだ付けが楽でいい。ブレッドボードも使えますしね。
製品はSSOP、実験はDIPと使い分けてます。
というわけで
>>715さんの言われるように需要がない、というわけではなくそれなりにはあります。
実際16F180XXシリーズってけっこう最新でしょ。8PINのDIPありますが。 客観的に見ればDIPで量産しているところがあるから、DIPが供給されている。
試作や趣味向けだとやってられないと思う。
紙フェノール片面基板にスルーホール部品みたいな。人件費の安い国で低価格な設備で量産するのにはこれだし。
といっても、今はもうそういう地域でも設備の更新は進んでいるしね。 今、DIPのマイクロコントローラを供給しているのは Microchip、TI、Zilogぐらいなんだな。 >>707
セコセコ基板設計って、自己正当化に必死すぎて惨めだな >>720
基板発注のスレはあるけれど、まったくの初心者だけが対象のスレはないと思う。
1.なんらかのCADで設計して(…基板の仕組みや作られ方に対する理解、CADの使い方)
2.それで作ったデータを業者さんに出す(…データの揃え方、発注手順、流れなど)
()内は躓きやすいところ
2の方は発注スレがある。1も聞けるかな? あ、1については、KiCADのスレとかがありますね。KiCADを使うなら、ですが。 >>719
俺基板作るよ万能基板で。わざわざCADなんか使わなくても作れるのだわ
必死すぎるってそれあなたの感想ですよね。
ここでは必要ありません
だからキッズは帰れよ
ホビーでもなく業務でこれだったら相当仕事できないんだろうなあ 基板CADで配線したら、回路図との配線の違いはかなり減るね。
ここは基板のスレではないので、ここで実装方法の良しあしを議論しても仕方がないです。
ただ、個々の人の実装方法に幅があれば、パッケージの制限なくマイコンを選べるしね。
ソルダレスブレッドボード、ユニバーサル基板、プリント基板、いろいろな手法を身に着けておくに
越したことはないです。 秋月のパワーグリッド付きユニバーサル基板はどう?。
電源の配線をしなくて済むし、パーツの直近でVccやGNDに接続できるし、ノイズにも強い。
時短になるので最近はこればかり使っている。
欠点は好きな大きさにカットして使うのが難しい、
ハンダ付けが難しくて初心者向けでは無い(ブリッジしやすい)かな。 >>723
業務で万能基板で試作する製品とは具体的にどんなの? >>728
試作ならあるかな。ジグとかも。
誰も製品なんて言ってないよ。 逆に仕事でPCB作るとなると外注で何十万円とかかかるから気軽には頼めない。 そうそう。20年前の感覚だったら小さい両面基板でも設計費20万。フィルム、版代10万円。
みたいな感じで、個人が手を出せるものじゃなかったですね。 企業や学校の研究室に収める一品ものの計測器とかだと、ユニバーサル基板を使うことあるよ。
俺の職場じゃそんなことあり得ない、って言う人が必ずいるけど、その手の人って自分の職場が
世界のすべてだと思ってるね。 時代は進歩する。
これからどう変っていくか楽しみだな。
プログラミングという概念が無くなるかもしれない。 >>733
ビンゴ!
東大XXX研究所にユニバーサル基板で組んだ拡張メモリボードを納入した事がある。 >>731
いや、8層基板なら30万ぐらいはするから、だからワタシはユニバーサル基板で試作w
>>735
いつの時代だよ 短文メッセージでの会話はその場の前提を共有する努力ができない人には難しい。
このスレで何の説明もなく、基板を作るの前提を「8層だから」とするのは、仕方のない人かもしれないですね。 実装に8層基板が必要な回路をユニバーサル基板でどう実装するのか。
差し支えなければ見せて(煽り) >>731
会社の指定の業者に頼むことになるから何十万かかるんだよ。
自分で設計してP-banに出そうとしたらそうなった。
まあ、会社の金だからいいけど。 8層て少なくとも電源が2層使うから残り6層有ってピン間3本はやらんにしても2本は余裕だから相当な配線数だな。
高速ロジックなら誤動作もりもりたな。 >>738
さあ?両面なら一桁万円で出来るし、数十万と仰るなら8層ぐらいでしょう?どんなのか知りたいわあ。
#皮肉で言ってんだけどなあ >>725
ユニバで多い間違い、数え間違いで隣の足に繋いじゃったよ系w 皮肉とか、意表をつくための情報あとだしとか、やめればいいのに。 >>743
回路図入力で間違えても同じだぞ。
パターンカットして直すの面倒くさい。 >>745
回路図でまちがえたら、それはしょうがないw
すでに配線してあるのを頼りに繋いでいったりするから
よっしゃ、会心の出来とおもったら、一列ずれてたりwww >>723
その反論が必死だってのww
わざわさCADなんか使わなくても、なんてべつにドヤって言う事じゃないし
CAD使えない奴の言い訳なんだよな cad使うと、イロイロ楽よ~ってことで良いジャマイカ >>727
アレはパチモンで、オリジナルより微妙に使い辛い
オリジナル売ってたところは数年前に廃業したからもう買えないんだよな
俺が使う分は最後に大量買いしたけど 電源パターン付き基板に「オリジナル」が存在するなんて知らなかった。
どこがどう違うんだろ。
過去に2回PCBでやったことあるけど、最近はこの基板ばかり。
部品が揃ったら大体の配置を決めて、すぐにハンダ付け(部品実装)を始める。
私はPICやAVRで大きくて複雑な回路を作る事は無いので、これで十分。
何なら2枚に分けても良いし。
ただねぇ、CPUがQFPだったりすると面倒なんだよね。
メーカーの皆さん、DIPも販売してください、40PまでOKですw >>751
ランドが八角形でブリッジさせ易い
秋月のパチモンとは明らかに違う アイテムラボさんの、パワーメッシュ基板ですね。
WaybackMachineで探したら出てきた。
imgur.コムの
a/zAMIGnl 儲からないとわかっている品種は出さないでしようね…
必要な人がギャランティで発注しない限りは Microchip社がDIPをラインナップしていない製品について、
Microchip社にDIP品も作ってくれ、と言うなら>>754の通りで、すげえ数量でないと作ってくれないと思う。
ホビーや試作をターゲットにするなら、第三者がオーダーに応じて、TSSOPやQFNを DIP変換基板に載せたものがあれば、
>メーカーの皆さん、DIPも販売してください、40PまでOKですw
の要求は、本来なら満たせるはずなんだけどな。そんなわけで合理的な世界は、それでいいやん、ってことに落ち着く。
でも、DIP派の人のある程度の割合の人って、自分でやることに対するこだわりが強くて、基板をオーダーすることでさえ
自作の範疇から外れると思っている。
そういう人から見ると、第三者が作った変換基板を使うことや、その変換基板に誰かが自分のオーダーに応じて、第三者が
部品を実装してくれたものを使うことは、ポリシーに反するのだろうね。
ポリシーは邪魔な感情になっちゃうことがままある。 車でも、乗って入るのが好きな人と、乗らずにピカピカに磨き上げるのが好きな人がいるよね なんでも合理性で説明なんてしなくて良いと思うんだ。
だけど、合理性で説明できないことは他人にああせいこうせいって言うようなことではないしね。
そんなの自作じゃないとか、みたいな。 自作パソコkンが流行ったときにあったね~
全然作ってね~じゃん、出来合いのユニットをガッチャンガッチャン組み立ててるだけじゃんてw >>752 753
なるほど、八角形なので若干、隣接するパターンとの距離が円形とは少し異なるのか。
売れなかったのかな? >>760
アイテムラボさんの主力商品はICなどのピッチ変換基板だったと思う。
お店をたたまれた事情はわからないけれど、ピッチ変換基板の需要も落ちてくるタイミングだったのでは。 スレタイを略し過ぎなんだよ>初めての老人性振戦でピクピクプラプラ 座右の銘は「初心忘れるべからず」です。
問題は、たった一行 経っただけで、座右の銘を忘れてしまった事です(^p^) 薬害が原因で一晩寝ると記憶が消える、という30代男性患者がTVで紹介されてた。
毎朝、初対面の女性(奥さん)と出会うんだぜ、あなた誰ですか?って。
人間の脳って不思議の塊だよな、旧統一教会に1憶円貢ぐ信者とか催眠術とか多重人格とか。 水晶の負荷容量について教えてください。
負荷容量は水晶振動子に記載があり、16pFとかの値が書かれています。
ハードウェアでは、水晶から見てこの容量になるようにすべきだそうです。
その内訳は、水晶の足とGND間に付ける2つのコンデンサの直列合成容量と、浮遊容量の和であり、
この値を水晶の負荷容量と同じにするのが正しいと知りました。
ここでわからないのが、浮遊容量の大半であるPICの足間の容量です。
データシートを調べたのですが、OSC1-OSC2間の容量については書かれていませんでした。
マクニカのページに説明があるものの「一般に4〜5pFですから」としか書いてありません。
PICでもAVRでもルネサスでも、ほぼ4-5pFで変わらないものなのでしょうか。
「どうせ知ったところで実際には...」とか、自分で測定する、とかではなくて
データシートや文献でどのようにして知るのかが知りたいです。 >>772
水晶の端子間の容量じゃなく各端子とGND間の容量じゃね?
多少狂ってても動いちゃうよ >>772
浮遊容量分は簡単に出る数字じゃないので、仕事だったら基板を基板データとともに
水晶メーカーに送って、周辺のコンデンサ、抵抗の定数を決めてもらいます。
そこまでしなくても、まあたいていは問題は起きないとは思ってはいますが、ごくまれに
たまに発振しないような不具合がもし発生したら「水晶メーカーに決めてもらったのか」って
話になりますので用心のためということもあります。 「水晶メーカーに決めてもらったのか、なら仕方ない」ってことか。 >>776
「水晶メーカーに決めてもらったのか」「いやそうはしてません」ってことになると、
「開発の手続きの問題だ、責任だ」って話も出てくるし。
水晶って、横着すると異常発振したり、発振してくれないことがごくまれにありうることが
周知されているものなので「わかってるのにしなかった」みたいな扱いになるし。 月数十万個コミットならそんな事もやって貰えるのかな(棒 >>775, 777
大変参考になりました。ありがとうございます。
本職の設計でも そのようなやり方なんですね。
後閑さんのページでも、その容量の決定のところだけは、MIcrochipのpdfの和訳でしたので、
この人も分からないんだな、と思っていました。
水晶メーカーが出した値で何かあったら、水晶メーカーは補償するんでしょうかね。
訳は分かりませんが、5pFと信じて数値を決めたいと思います。
ありがとうございました。 発振してる周波数を計れば負荷容量大きすぎ小さすぎは、まあまあわかるよ
周波数カウンターなくてもマイコンに自力でカウントさして24時間くらい計れば
かなりの精度で計れる 自力でカウントさせてもそのマイコンの原振がその水晶だと誤差無しスゲーということになるな >>782
なにを仰るウサギさんゲートタイムは外部の時計を使うんですよ(NTP同期されたウインドウズの時計で充分)
だから24時間とか長時間はかるの(時計見ながらスタート、ストップで桶 時間のない方は十分な精度の周波数カウンターをん使ってください 月差10秒以内だと温度変化の影響もあるし、部品の定数選択や単純な固定的なカウント補正じゃ無理ですね。月差1秒でも0.4ppmだし。 年差1秒て、時計作る気?
水晶の負荷容量の目安の話だよ マイコンのオシレータなら±数10ppmぐらいの誤差はよくあるし。
ぶら下げるコンデンサが適切なら、これぐらいの値にはなる、ということで。
Arduinoによく使われているセラミックオシレータなら0.5〜1%ぐらいの誤差も。 負荷容量大きくまちがえると、結構ガッツリ周波数ずれるよ
温度ドリフトなんて考慮しなくてもいいくらいに
温度ドリフトが~って程度だったら、負荷容量は合ってるとみていいと思うんだ ここの書き込みを見て
GPSとVC-TCXOによるPLLを作ってみた
どっちも秋月のやつ
TCXOの12.8MHzをPLLで168MHzにし
この精度でGPSの1ppsをキャプチャし
12bitDACでフィードバック
さすがにTCXOは精度が良いね
GPSの1ppsの揺らぎがよく分かる TCXOのゆらぎの可能性はどうやって排除したんですか? 他の人のを調べたら
ロジックICとかを駆使してるのが多いけど
私のはシンプル
すべてマイコン(の中の機能)で処理 >>794
短期的な安定性はTCXOを信じる
長期的な安定性はGPSを信じる
ってだけ
排除はしてない 気を使ったのは
電圧と部屋の温度を一定に保つ
くらい ↓は、PICのVIL VIHのデータシート部分です。
https://imgur.com/vcJ4hp6
VIHのD041項番が、最低が0.8Vになっていますが、0.8VDDの間違いでは無いでしょうか? データシートもエラッタも直さないのがPICクオリティ 他のメーカーのデータシートを見ている量が少ないのがわかるな… 同一型番で修正済みと無修正が混在される方が困るわ。 >>803
なるほど、PICで「今日の運勢」を知ることができるのですね 他のメーカーの製品でもシリコンバージョンで動作が違うものがあるから。
エラッタにシリコンバージョンで違いがあると書かれているなら、必要な場合は発注時に
シリコンバージョンを指定するか、それができないなら(小売りで買うときはこれが多くなる)
入手できたシリコンバージョンを刻印などで確認して影響の有無を検討しないと。 実は隠しインストラクションコードがあって
インテルのCPUID命令のようにステッピング番号も引出せる まあ治ってるに越した事ないんだけど、それなら PICxxFxxxAみたいにSuffixつけて欲しい。
まあまた別のロジックがバグってたりするんだろうけどw そもそもPICを選ぶという人間の方にとんでもないエラッタがある。 無修正とか単語ごときに反応してるのは
過学習でアホになった無能AIみたいで可笑しいな >>811
人間経験を積むと君のようなエラーのある部品でも使いこなせるようになるのじゃよ
うぉっほっほ エラッタがあるのはいい
エラッタがないのが問題なんだよ なんでおじさんたちは大喜利やるの?
内容が無いよう errataって、コンピュータ文化の本場の米語だとエラタとかエレイタ、
英語ではイラータってよむらしいぞ・・・これ豆知識な(^p^)とエラぶッタ >>817
はじめてのPICスレなんだから、おそらく
ちうがくせいが書いた バグ残りまくり=無修正 のコードという事だよねー(^p^) しらんけど >>778
日当たり1万個の量産モデルに採用した水晶発振子メーカーは補正コンデンサのチューニングに無償協力してくれた 無償なわけ無いじゃん、そんだけ金使ってるってことや 月20万個も続けて使ってくれるんなら設計サポートくらい喜んでやってくれるだろ 沙羅曼蛇は難しかったな。
グラディウスのほうが好きだ。 沙羅曼蛇とか源平討魔伝とか漢字って格好いいと思い始めた
それまでは絶対アルファベットの方がカッコいいと思ってた 当て字の漢字とかの若気の至り話題は
梵字とか真言だ原語だとかにこだわる真言宗の坊主連中が
中二病だという宗教議論に及びそうで老婆心ながらひやひやする 曼珠沙華で歌手はどっちをイメージする?
山口百恵とまふまふ せっかく普通の女の子に戻った子をいつまでも騒ぐのも可哀そうですし、どっちもわかりません!(^p^) 亜米利加あたりで夜露死苦Tシャツ売ったら、うけねえかな >>841
sheinってサイトというかアプリで日本語Tシャツって検索してみて
これが日本語の現実だよ
俺らが思ってる格好良いとあちゃらな国で流行る物は違うのよ 昔、入院してたときシャツで廊下歩いてたら、看護師が、
「それはTシャツですか、下着ですか」って聞いてくんだよ
Tシャツを下着として来てたんだけど「下着でうろつくな」って怒られた
聞かなきゃわかんないんだったら、どっちでもいいじゃねえかと思ったね 昔、夏場のノーネクタイ、クールビズを導入したとき、女性社員に
カットソーはいいけど、Tシャツはダメです
というお触れがあった。
カットソーは「ちゃんと作られたもの」で、Tシャツは簡易なものだそうだ。何それ。
ちなみに男性社員は「最低限ポロシャツなどの襟付き」というお触れだった。そこに性差が要るのか。 カットソーとはなんぞや、というわけでググった
ようするにチョキチョキして縫ったのでカットソーというわけで
どっちかというとカットソーのほうが簡易的なものだな
シャツは部品の形に編み上げたものを縫ったもので、こっちのほうがちゃんとつくられているとしかwww 「フライスのカットソー」とか言われたら、まったく別のものをイメージしてしまう。 乾電機という会社の看板見ると、いつも
か・・・乾電池 と空目する カット不要で 従来のカットソウよう部材に
相当する布片を編み上げるマシーンがもし登場したら
それも分類的には3Dプリンタの一種なのだろうか・・・ 編みこむというとニット製品のイメージになっちゃうけど、
ペレット供給の熔解射出で糸を形成して 織ったり糸同士を溶着とか
繰り広げつつ被覆を形成する時代がそのうち来るのかもしれんね
立体スキャン状況下でのストレッチ運動で形状+可動域を計測して
余計なしわを抑制した、立体裁断を超えた無裁断でワンピースな部品数の被服。
ペレット切り替えで色も任意に途中で切り替えたり、挑戦すべき課題はいろいろありそうやね
PICがどこまで絡むかしらんけど; そうだったここはPICスレだ。
すっかり忘れてしまってるけど。 ジイさんは
すぐに話題がそれて昔話しだすから
やだよ。 AVRスレにはゆるAVRスレが有るからゆるPICスレ作ろうぜって思ったけど需要ある? 建ててほっといてみればいいと思うよ
需要無ければデータ落ちするから これをきっかけに
ゆるArduino・ゆるSTM32・ゆるESP32・ゆるRaspberryPi・ゆるEtc・・・・・
と増えていくことに ごめん、そこまで考えなくてスレ立てちゃった
鬱だからちぬわ キツめだとすぐ終わってしまう
ゆるめの方が長く楽しめる 右も左も分からないPIC初心者です。
Watch Dog Timerをセットして
main()の中でクリアするようにしました。
実際にWDTのTimeOutエラーを、わざと起こさせたいのですが、
どのようにして行うものでしょうか。
__delay_ms()で遅れを入れてBuildしても良いのですが、
それだといきなりかかってしまいます。 スイッチ入力検出したらフラグを立てて、
フラグが立ってたら WDTの値をクリアしないようにしたらどうよ? お二人様、ご指導有難うございます。
なるほど、外部の信号を取り込めば良いですね。
発想が豊かですね。ありがとうございます。
あと、もう一つSiriたいことがあります。
PIC18F...とPIC18LF...の違いは、電圧の違いだと思っていますが、
データシートの中で、FとLFは、ここが違っているよ、と
説明してありますでしょうか、それとも
自分で全部を読んで差分を求めるので。ょ赤。
宜しくお願いします。 MCCの生成したコードについて質問があります。
================MCCが生成した eusart1.c の中 ==========================
(1) void EUSART1_Receive_ISR(void)
{
eusart1RxStatusBuffer[eusart1RxHead].status = 0;
if(RCSTA1bits.FERR){ ・・・・・・} ←中身省略
if(RCSTA1bits.OERR){ ・・・・・・} ←中身省略
if(eusart1RxStatusBuffer[eusart1RxHead].status){
EUSART1_ErrorHandler();
} else {
EUSART1_RxDataHandler();
}
// or set custom function using EUSART1_SetRxInterruptHandler()
}
(2)void EUSART1_RxDataHandler(void){
// use this default receive interrupt handler code
eusart1RxBuffer[eusart1RxHead++] = RCREG1;
if(sizeof(eusart1RxBuffer) <= eusart1RxHead)
{
eusart1RxHead = 0;
}
eusart1RxCount++;
}
================mian()に書く ==========================
(3) EUSART1_SetRxInterruptHandler( hoge1 );
================別のところに書く ==========================
(4)void hoge1(){
・・・・・・
}
通常、自分で何も書かないと、受信割込が入ったときに
(1)が実行され、その中で(2)が呼ばれると思います。
ここで(1)の中の説明
// or set custom function using EUSART1_SetRxInterruptHandler()
にあるように、main()に(3)のように書くと、
自分の関数を指定することができ、受信割込が入ると(1)(2)は実行されずに
(4)が実行されると思います。
実際やってみると、受信割込が入った時点で暴走して、タイマー割込も含めて
全てが止まってしまいます。
では、(1) (2) の中身を(4)にコピーするとビルドエラーが
「この変数は知らない」
「この変数は知らない」
「この変数は知らない」
「この変数は知らない」
とたくさん出てビルドできません。
私は何か勘違いしているのでしょうか?
よろしくおねがいします。 転職した会社がPIC使ってるから初めてPICのデータシート見たけどすげーわかりづらいな
レジスタの説明手抜きとか勘弁してくれよ 今やどんなマイコンも開発環境にコード自動作成があるから初期化とか割り込み関係は任せる。
PWM関係はマジにデータシート見ないと駄目だけどな。 エラータ、エレイタ
まぁ、エラッタて詰むより、バグで詰むのが殆どだろうな。 夢と理想だよ
余裕があれば、定義してあるヘッダーファイルもな インクルードと言えば・・・あれやな。
ボブ:やぁジョン! ところで、一番長い英単語って何か知ってるかい?
ジョン:さぁ・・・なんだろうな。わかんねぇや。
ボブ:答えは 笑顔 さ。
ジョン:ちょwww おもいっくそみじけぇじゃねえかw なんでだよwww
ボブ:だって、一マイル以上あるだろ?
あ すまいる いんくるーどず まいる:ー) なんちって!
じょん&ぼぶ:HA! HA! HA! >>877
構造体がUARTのCファイルに書いてあるから、static除いてexternしないと使えない。
初期化だけまかせて、あとは必要な部分だけを切り取って使ったほうが楽だと思う。
要らない部分はすべて消して、必要なところだけを実装したほうが、コードも速い。 >>889
年取って頭の回転がニブくなったせいか、理解するまで3秒かかったw
登場人物が英語圏と日本語圏のどちらの人間か、それともバイリンガルか、と悩むw
しかし君って天真爛漫、融通無碍、変幻自在、天衣無縫・・・(以下謹んで省略)やなぁw >>876
Fはコア用のレギュレーターを内蔵してるので、電圧範囲広いがスリープ時の消費電力大きい。 以前のMCCの設定内容を、今回のプロジェクトに適用したいとき、
MCCで、また1から設定するのは、面倒なので、簡単に行う方法はないでしょうか。
xxx.mc3というファイルがそれっぽいと思うのですが、
どのようにして現プロジェクトに食わせるのか・・・ 連投すみません。もう一つ教えてください。
完成したプロジェクトの、プロジェクト名を変更するには、
例えば aaaVer0.XをaaaVer1.Xに
Windows上で勝手に変更しても、よいものでしょうか。
それともMPLABの機能に変更する何か有りますでしょうか。 >>895
フォルダごと移動したらダメだったから
たぶんダメ
調べてわかったら教えて PIC32MX210F016Bをデバッグしたい場合って純正のデバッガ(SNAPとか)を買う必要があるの?
それとも汎用のJTAGアダプタとかでデバッグ可能? エラッタまみれでまともに動かないの
よく使おうと思ったねえ
メモリ足りなくてUSB HOSTになれないんだっけ まったくだ、メモリ少なすぎだろ
ってMX220F032B使ってるが
ちなみにエラッタって何があるのか気になる >>900 見たいな事言う奴に限ってエラッタに遭遇なんてした事ない。
ついでに使った事もない。 今の印象は
・シンプルなUSB HIDデバイス用
・流石にEZ-USB RAM 8K(プログラム込み)/ROM 0Kよりは使えるだろ
・安い
な感じ。比較対象はRL78G1C RAM 5.5K/ROM 32K
特にPIC系は未経験なので開発環境も含めて検討中 MPASMとか使えなくなってるし開発環境とかも
なじみ無いから PIC使ったことあるという認識だったけど
これからはPIC初心者という自覚をもって生きていきます・・・(^p^;)ぜんぜんわからん だめだー (pic-as風に書き直したのが)うごかん;
逆アセンブル機能があれば比較すれば 何処でとちってるのかわかるのかなぁ・・・ぐぎぎ コンパイルできてるならlstファイルとか見ればいいのでは? >>906
MPLABXIDEのファイルsビューで
mapファイルとかsymファイルは並んでるんだけど
リストファイルが見当たらんのよなぁ・・・ぐぎぎ
>>907
ハハハ こやつめ ハハハ(三国志AA略 ORG 0x000とか
ORG 0x004が無視されて(マニュアルには同名の予約語があり
エラーにもなっていなかった、おそらく違う意味になっている様で)
0x5F1番地以降にコードが展開されてるw
リストファイルの出力方法は解らないままだけれどXIDEのProgramMemory窓で発見
Psectとかいう命令でしていするひつようがあるらしい・・・ぐぎぎ dist/default/production/xxx.lst
昔は(今も)PICKIT2で.hexファイルを書くために参照するディレクトリだけど、ない?
16bitや32bitはちなみに、アセンブルファイルは出力されない仕様?
あったらおしえてほしい てかpic-as風に書き直したって、Cで書いてないの? PIC16FとかのPIC Assemblerのリセットベクタはこんな感じで始まるんじゃなかったかな?
;
; Power-On-Reset entry point
;
PSECT Por_Vec,global,class=CODE,delta=2
global resetVec
resetVec:
PAGESEL main ;jump to the main routine
goto main
; ラズパイでmplab xを動かそうと思ったが、CPUが非対応だったorz >>910
ありがとうございます 火曜日に見てみます・・・
>911 アセム爺のひとりでごじます 元のソースがMPASMなのでCでは書いていないのです
>912 ご助言ありがとうございます global表記はいれていなかったかもです
delta=2を入れないとラベル参照部がエラーになりまくってしまっていたので入れた覚えがあります >>914
Cをアセンブラに直したのがlstファイルです。
アセンブラはもともとアセンブラなのでたぶん生成されません。
マシン語と表記方法がわかればhexファイルでいいと思いますが・・・ 初めてPICを触る者です。
PIC18F25K80を秋月電子で買って、XC8をMCCでプログラムしています。
簡単なLチカはできました。楽しいです。
ところがBポートの0と1にLEDを繋いでも、全然光りませんでした。
いろいろ調べたら、アナログ入力になっているみたいで、
出力に設定しただけではダメでアナログをOFFにしてLチカが光りました。
質問なんですが
1. 電源onしたときに、なぜアナログ入力になるのでしょうか。その意図が知りたいです。
2. MCCで、表にoutputで鍵マークを付けているのに、
なぜMCCはアナログ設定を解除してくれないのでしょうか。
宜しくお願いします。 すみません、もう一つ教えてください。
RAポート、RBポート、RCポート、全てのピンはデジタル(?)入出力できると思うのですが、
RB0だとエラーが出ます。以下のような感じです。
RA0=1; // OK
RB0=1; // error出る
RA0=RC1; // OK
RA0=RB0; // error出る
どのように書いたらエラー無しにRB0がデジタル入出力できるでしょうか。
アナログ設定解除の他にまだ何か設定がいるのでしょうか。 .
.
. 【 ※ 警 告 ※ 】
.
>>916,917
ふだん「顔文字やめてください」って言って人
>初めてPICを触る者です。
嘘ついて質問するのやめてください
不快です うん、たしかにちょっと知った人がドヤ顔で返信してくれそうな内容ではある。 >>915
アセンブラもLST吐くよ、というかCからリスト出るの?
cをアセンブラに直したものじゃなくて
コードやラベルがどのアドレスに、はまってるかのリストだからね
アセンブラコードがほしいなら、アセンブラコード吐くオプションがあるはず >>921
それは知りませんでした。
asmを使ったことないので・・・。
Cで書いても出ますよ。
どういうコードに直されているのかを見ています。
正しくはアセンブラではないのですね。 Cで書いたプログラムのアセンブル・リストと
アセンブラで書いたプログラムのアセンブル・リストは
利用目的が微妙に異なるような気がする 古いデバイスしか使わないからうちのPCはまだ古いMPLABXのままだよ
バージョンは4.20、これだとMPASMがまだ使える
ほとんど使わないけどバージョン5.50もインストールしてあってこっちはMPASMは使えずにpic-as使えよって出てくる なーんか いろいろエラーメッセージに対処してきたが
まだhexファイル生成で異常終了して具体的エラー内容ださなくなってきたので
4.20インスコし直しますわ・・・ 情報ありがとうございまする><; で、昔アセンブラで書いたLチカに「タクトスイッチでON/OFF」と「OFF時はsleep」を加えてアセンブルしてみた
OFF時の消費電流が50uAくらいあって何だろうと思ったけどBODがenableになってた
BODをdisableにしたら1uA以下になって測れないくらい小さくなった
ああアセンブラしんどいわ、昔はもっとしんどいプログラムをアセンブラでやってたと思うと今のCは楽ちんだ
特に条件分岐アクティブ'L'のフラグをbtfssとかbtfscで判定するのに反転のクリアでスキップで…
どっちやねん!みたいな 昔っても、1503とかXLPに対応したPICでしょうか・・・
1uA切るのって大変だった気がしたんだけど、気のせいか
LFじゃなくてFシリーズではオンチップレギュレータ関連のレジスタいじらないと
切ることできなかったはず。
アセンブラは超大変。・・・おなかいっぱいです。 なんかスイスイとプログラム作れる俺マジ天才かと思ったが
作ってるものが大したことないオチ まじか・・・
たしか1823とか消費電力どうやっても落とせないと思ってたから
(事実データシートを見るとFは落とせない)
古いのなんてつまらんと思っていたが、そうでもないようだな。 >>929
プログラミングを初めてしばらくすると、殆どの人がそう思うみたい。、
「こんなもんかな、もうコンピュータの事,大体分っちゃったな、
俺ってやっぱ頭良いんだろうな」
私も浅はかにもそうだった。
そんな勘違いしてた頃、雑誌であるプログラムを見て衝撃を受けました。
「今の私にはこんなプログラムは書けない」
大丈夫です、オチに気が付いたなら後は前進あるのみです。 プログラミング関連のスレの中では
PIC関連が最低レベルなのは間違いない そりゃ普通に考えればそうだろ
PICの使いこなしなんてプログラム全振りじゃないし PIC以外はプログラム全振り
という主張じゃないよなまさか
要するに>>933はアホ 933氏が仰ってもいないことを仮定して
それを否定する事で どうしてアホという事になるのか
ぼくみたいな真性のアホにはみじんも理解できないのであった(^p^)なんかいきわまる >>934を仮定しないで>>933の主張?
そりゃ無理だ 勝手に妄想して勝手にいきり立つお馬鹿さん
プログラミングのレベルとかいう前に人間力のレベルを上げたほうがいいんじゃないの? アホなりに考えて、すこしみえてきたぞ
プログラム全振りのスレじゃないから
上位に位置しなくても不思議ではない、程度のニュアンスで紡いだであろう言葉では
あらゆるプログラム関連スレの中でPICが最低レベル という命題の論理を肯定できない、といいたいんやな。
最低レベル の範疇がもつ広さを、PIC関連スレが位置するところを含有する水準まで広げてみてはいかがだろうか。
(まぁ、広げるまでも無く元々最低位置である可能性ももちろんありうるわけだが・・・) ハードウェア直叩きだから最低レベルに決まってるだろ。
ドライバーとかミドルウェアとか上位層をやりたいわけじゃないし。 >>939
おらっ 座布団だ うけとりやがれ!
(^p^)つ 三 ◇ PICとたとえばAVRや32ビットCPUの守備範囲の広さの差は存在すると思う。
でもそんな事より、個人のプログラミング能力差の方がはるかに大きいのでは?
たとえば、
PICの優秀なプログラマ(顔文字野郎みたいな)>> AVRのダメプログラマ
には賛成して貰えるよね。
牛刀で鳥を割く必用もありません。
つぅ事で今日の標語:「バカと挟みとCPUは使いよう」w
みんなの嫌われ者<ことわざジジィ>より
追: 今日の夕食は金沢カレーです。これから準備します。
キャベツを千切りにするのですが、指を切らないか怖いんだよね。
電子工作化出来ないかな? 低レベルプログラミングというタイトルの本が初心者向けコーナーに置いてあった…
みたいな話を思い出した
(多分そういう事じゃないと思うけど) printf("発言");
__delay_us(少し);
while(1){ printf("発言"); } 何の抵抗もなく_delayを使うのはホビープログラマの特徴 >>948
文字液晶の書き込みパルスは、
delay以外、どんな方法行うのですか?
タイマーをスタートして、タイマー割り込みでやるのですか?それはないだろう >>949
たいした時間じゃないからdelayでOKですよ 問題が発生しないなら何でもいいよ
職業プログラマでそんな作りをする奴がいたら即縁を切るけど >>946
おい!私を殴るならもっと力強く殴れよ\(^o^)/
>>948
見くびらないで頂きたい「PIC」もろくに理解できてない\(^o^)/
あ、ArduinoでLチカ位なら出来るんだぞ!(震え声) PICなんか使うのは時代に取り残された人だから
今時とか興味ない じゃー1/4クロックのPIC8ビットでNOP
使ってパルス発生の時間待っても待ちが長すぎになっちゃう? 1命令に最低でも4クロック
こんなのは今時PICくらいしかない >>958
クロック数は関係無いんじゃない?
命令実行時間でしょ。
パソコンのCPUはパイプラインで誤魔化しているけどね。パイプラインのお陰で実行時間が実質短いのだが。 命令実行時間が遅いって話
つまりCPUとしての性能がうんこ まぁ、CyのM8Cコアなんて24MHz動作でも4MIPSだけどね。
8051なんてオリジナルは最低でも12クロックだっけ。
もっとも、今の8051互換コアは1クロックサイクルで動いちゃったりするけどね。
8ビット系なら8051、32ビット系ならARMかな?
これなら割と他の製品にも乗り換えしやすいし。
まぁ〜なにをお使いになられても似たようなものですが… PICの悪口はPIC信者である私への悪口〜
だけどアンチ様からの悪口が少なすぎるぞ!
もっと色々あるんじゃないか?
そんな程度じゃ気持ちよくなれない/(^o^)\ 今となっては
80286が超速いと思ったのが信じられない
1個95円のARM M0+ 32MHzより圧倒的に遅いわけで ・バカと挟みとPICは使いよう
・1円とPICを笑う者は1円とPICに泣く
・歩とPICの無い将棋は巻け将棋
ウ〜ン、無理があるかな?w
ま、需要があるから8ビットPICが作られていると思う
>>962
早くAVR自由自在になってくれ、メッチャ気持ち良くなれるよ PICユーザーは煽りになれてるから煽り成功率は低いね それにつけてもAVRスレの寂しさよw
イヤよイヤよもスキのうちと言うからここは賑やかで良いな
一番ダメなのは誰も寄り付かないことw >>972
専用ブラで「電電板」を勢い順でソートしたら「初めてのPIC」が上から5番目でワロタ
思い入れが強いんだろうか? >>975
最初にスレを立てたのは私です。
長く続いてくれて嬉しい。 >>969
煽りに慣れてるっていうより
特に8bitPICのCPUが後発のMCUに比べて不利なことは周知の事実なので
(PICユーザーはそのことを十分理解してる)
いまさらCPUが遅いだの言われても何とも思わないんじゃないかな?
MCU内のCPUなんてほんの一部なんだし目的が果たせればそれで充分なので
CPUが早くて周辺モジュールが貧乏なMCU vs CPUが遅くて周辺が豪華なMCU
↑どちらが良いかは目的により異なる 煽るための質問してる奴は何がしたいんだろうね
暇つぶしにはなるんだろうけど
今時他にもっと楽しいことがいくらでもありそうなもんだが
何でもそうだけど嫌○○に時間を割く人たちの気持ちがちっともわからないわ >>978
手段はともかくとしてくストロークを得たいんじゃないだろうか?
(僕も人恋しいので気持ち良くわかります〜)
あとは最近得た知識から感情の高ぶりを抑えられないとかも有りそう
手段はともかく相手の感情を刺激した方が激しいストロークを得られることが多いので
過去の成功体験の影響でその様な手段に出やすいのかもしれない
PICスレに煽り目的で来客するお客様
↑こんな可愛いツンデレっ子を無下にしてはいけないと思ってる\(^o^)/ PICマイコンが産業という観点でポジションを持っていることは紛れもない事実で
なぜポジションがあるのかが分からない人が、半端に納得して貶しても虚しいね。
一方、ホビーとしてのマイコンも楽しみ方は多様だしね。
利点も欠点も楽しみの対象になるのがホビー。
そういうのって必ずしも他人に分かるわけがないのだけど、
ある種の人って理解できないものに価値があることがさっぱり理解できなんだよな。
普通は自分が価値を理解できなくても、それに価値があることは理解できるものなんだけど。 STM32はRXあたりと比べるとリアルタイム性が劣る。あと昨今は入手難易度も高い
>>978
金が絡んでいるアフィ厨あたりじゃないの >>967
100円(秋月)で買えるPIC32MX110とCPUの速度で勝負してみようぜ\(^o^)/
DhrystoneのDMIPSでも比べるべさ ↑同じCPUコアのPICを発掘しておいた
https://i.imgur.com/odeUeJp.jpg
※ちょうど良い台座の上に立てて撮影しました\(^o^)/ STM32もPICも両方使ったうえで言ってるんですね。 「蓼食う虫も好き好き」、「PIC使う技術者も好き好き」
人間には、なんでそうなるの!?、と理解できない事がいっぱいあります。 スレ立てご苦労様
ところで、
>0x16-0x19 欠番です
これ、欠番は0x16~0x1fじゃないのかな・・・ しらんけど(^p^; >>986
初心者のふりして質問したりしてるけど、
本当はよく知ってるんじゃないの? >>991
自分は電電板全般で質問とかはしてないお\(^o^)/
(行末が「じゃないだろうか?」←のような書き方(質問のつもりではない)はするけど)
数名ほど\(^o^)/に反応してくれて\(^o^)/を使ってくれる人は見るけど
(顔文字を広めたい派閥としては大変有難い事です)
あと p ← よだれは別人なので(まれに勘違いしてる方が・・・まぁ、いいか) 私も電電板で質問なんかしないな。
その答えは間違ってるだろ、なんて思うこともあるし、
自分で調べた方が確実で早いと思うから。
でも人が質問するのは気にしないし、時には私も回答したりもする。
(その回答は間違ってるだろ、と思ったりしたら)
私にとって、電電板は他にやる事が無いときの「ヒマ潰し」です。
礼儀を知らない奴だな、言葉使いが悪すぎな、と思ったら
ワザと挑発して遊んだりもします。よくないなと反省するけどネ 礼儀を知らない奴だな、言葉使いが悪すぎな、と思ったら、
「ビリビリ・マシンが発動する、なんてどう?早くスキルアップするかもよw」
なんて書くわけですね。 何を調べたらいいのかすらわからん
というときに電々板は役に立つよね
とっかかりさえつかめればあとは自分で検索すりゃいい このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 132日 15時間 48分 46秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。