初めてのPIC 0x21
レス数が1000を超えています。これ以上書き込みはできません。
>>3
そのようだね。
うちの過去ログにも存在しない。 PIC10/12/16/18
8bit
ほぼ全ての製品にDIP版がある
コアの性能は他の8bitと比べても極端に低いので
ちょっとでも重い処理をするならPIC以外を選ぼう
4クロックで1命令サイクルなので、
クロックを1/4にしたのが処理性能の目安
コアやペリフェラルは非常に単純なので
自力で全てやってみたい初心者には良い
ただし命令は特殊なのでアセンブラの学習には向かない
PIC24 / dsPIC
16bit
Microchipは力を入れてなく旧製品のみ
処理性能は8bit PICよりはずっと上だが
他社の16bitよりは劣る
エラッタも多い
コスパが非常に悪く、
特殊用途以外では今新規で選ぶ価値は無い PIC32MM
8ビット16ビット置き換えをねらったコンパクトなコア
安い、省電力
microAptiv 25MHz
PIC32MX
設計が古くてエラッタも多い、これだけはお勧め出来ない、後継待ち
M4K 120MHz
PIC32MK
ミドルクラス32ビットPIC、なぜかI2Cが無い
microAptiv 120MHz
PIC32MZ EF
PICコア最強、DSP命令や倍精度浮動小数点命令搭載
M-Class 252MHz
PIC32MZ DA
グラフィック、32MB RAM
microAptiv 200MHz PIC32CM
MicrochipもMIPSを捨ててARMに移行
5V駆動が可能な32bit
USBやEthernetは無く接続性はいまいち ---- 8bit DIP ----
PIC16F18313 : 8pin スタンダード
PIC16F18214 : 8pin ROM/RAM最大 アナログ無し
PIC16F18326 : 14pinスタンダード
PIC16F1454 : 14pin USB付き アナログ無し
PIC16F1455 : 14pin USB付き
PIC16F18346 : 20pin スタンダード
PIC16F1459 : 20pin USB付き
PIC18F27Q43 : 28pinスタンダード ---- 32bit ----
PIC32MM0064GPL028 : DIP版有り ペリフェラル弱い
PIC32MM0256GPM028 : USB OTG
PIC32CM1216MC00032 : 5V駆動可
PIC32MZ2048EFH064-250 : PIC最速 PIC32MK
いつのまにかI2Cが搭載されてる
初代から微妙に型番が変わって
初代はラインナップから消滅
ディスコンしないんじゃなかったっけ?
この時期に発売されたMKとMMは不自然にI2Cが無い
派手にバグったのでスペックに載せられなかったと推測
MKは本来ならステッピング変更なんだけど
機能が変わっちゃったのでこっそり型番変更
MMはGPMを出したからGPLを放置
って感じかな? >>9 >>10は一応オススメのものだけ
×PIC16F18214
○PIC16F15214
>>12
その表、新しいの載ってないんだよね >>5
あ、そうだね。
0xを忘れてDEC脳のままだったわw
いろいろ書いてくれてるようだけど>>ID:mmK/xVFk,>>ID:APfje/mr
変なバイアスかけてる他人の情報を鵜呑みにしないで自分で探すのが一番ね。
ここへ行って当たりつけて、
https://www.microchip.com/maps/microcontroller.aspx
結局、秋月にあるやつを買うのが最初のうちは一番手っ取り早い。
https://akizukidenshi.com/catalog/c/cpicr/ 秋月のスペック記述も参考にならんよね
GPLはI2Cが無いのに2Chて書いてあるし
MXは40MHz品を50MHzってかいてあるし
MZも200MHz品が252MHzって書いてある
まあクロックに関してはMicrochipが詐欺っぽい表記をしてるのが悪いんだけど Arduino, Bluepill, Raspberry Pi, ESP32
この辺が色々とある中で
今PICをはじめる人は
あくまでPICがはじめてであって
電子工作やマイコンプログラミングは経験者
なんじゃないかな?
だから
DIP, 秋月, 5Vである必要なんか無いと思う
少なくともそれに限る必要は無いよね >>17
>なんじゃないかな?
>だから
>無いよね
説得力皆無w Arduino, Bluepill, Raspberry Pi, ESP32
この辺が色々とある中で
今PICをはじめる人は当然電子工作やマイコンプログラミングの経験者
だからDIP, 秋月, 5Vである必要なんか全く無い DIP秋月5Vじゃなくて良いなら
PICを選ぶ理由が無いからな
必死に反論しないと そういう経験者は初動の知識をここへ掘りになんか来ないからw >>20
PICを選ぶ他の理由が見つけられないなんてわざわざカミングアウトしなくてもいいよw こいつの良さはおれにしかわからない
とか言いながら不細工女連れてるヤツみたい >>25
他人の女は不細工に見える、あるいはそう思い込める
それが一番幸せよね、おめでとうw PICは一通り使ったから
いくらでも悪いところを書ける >>29
え、初めてスレが巣なの?
珍しいね、巣立ちに失敗したの? PIC32MM買ってからエラッタ見て泣けてきた
普通はそう言うの見てから買うもんだって言われそう(´;ω;`) 32bitはMicrochip的にはSAM推しなんじゃないの? SAMはArduinoやArduino互換機に広く採用されてるね
だからArduino互換機のボードなら安価に手に入ったりする
SeeeduinoのXIAOもSAMだね 独自コアで頑張ってたルネも
RE RA RZとARMを出してきたし
MicrochipもPIC32CMはARM
32bitはARMで決着がついた MPLAB XとXC32入れた
さてLチカでもするかな? >>40
あんな基地外だれも相手にしないだろ
その発言のせいで2313おじさん湧いたら駆除してくれ PIC32って単体で動かなくて、リセット回路と、Vcapにコンデンサ付けなきゃだめなのね
データシート見ながら色々とやってる 教えてください。
PIC限定ではないのでしょうけど、水晶振動子の負荷容量(コンデンサ)についてです。
もし水晶振動子のカタログに、負荷容量8pF と書かれていたら、
PICのOSC1ピン-GND間, OSC2ピン-GND間、
それぞれに16pFを接続して(16pF,16pFとして)直列に考えて、
水晶のデータシートの8pFに合わせる、と思っているのですが、正しいでしょうか?
通常、8pF,8pF でも、16pF,16pF でも、どちらでも発振しますよね。 >それぞれに16pFを接続して(16pF,16pFとして)直列に考えて、
>水晶のデータシートの8pFに合わせる、と思っているのですが、正しいでしょうか?
その直列値に数pF加えたものが水晶の負荷容量になるように。
https://www.macnica.co.jp/business/semiconductor/articles/basic/127525/
この静電容量が少しぐらい離れていても発振をすることが多いけれど、
周波数はずれてしまう。
RTCの水晶のためのコンデンサは特に注意。 >>47
こういう人って
>と思っているのですが、正しいでしょうか?
何を根拠にそう思ったのかは考えないのかなあ。
正しいかどうかはその根拠が分かれば明白になると思う。
何の根拠もなく16pFが出てくるとは思えないんだけどw >>47
http://www.tamadevice.co.jp/crystal-units-kaisetu.htm
AN826『Crystal Oscillator Basics andCrystal Selection for rfPICR and PICRDevices』(DS00826)
AN849『Basic PICR Oscillator Design』(DS00849)
AN943『Practical PICR OscillatorAnalysis and Design』(DS00943)
AN949『Making Your Oscillator Work』(DS00949) >水晶振動子側から見た回路全体の等価直列静電容量値です。
だったんだな、勘違いしてたわ。
計算自体は理科で習う基本公式でなんちゃないけどね。 >>48,50
どうもありがとうございました。正しかったようで、安心しました。
手元にある回路図に、負荷容量8pFの振動子を使用して、OSC1, OSC2端子に
8pF,8pF が使用してあったので
「ははーん、この人勘違いしてる。負荷容量8pFだから16pFのコンデンサを付けるんじゃないか?」と
思いましたが、自信が無かったので聞いてみました。
教えていただいたマクニカのページを見ると「ストレーが4〜5pFある」と書かれているので、
コンデンサ8pF//2 = 4pF それにストレーで+4pF、すると8pFになるのですね。
考えが及ばなかった私は、アホでした。
お二方、どうもありがとうございました。 >>51
>>水晶振動子側から見た回路全体の等価直列静電容量値です。
>だったんだな、勘違いしてたわ。
初心者は勘違いしますよね。 よく考えてみればわかるのに。 勉強になった
趣味レベルなので適当に22pとか付けとくのは今後も変わらんけど >>54
ありがとう。
質問すると、いつも叩かれるけど、
そう言う書き込みがあると、嬉しい。
質問して良かったと思う。ありがとう。 >>55
>質問すると、いつも叩かれるけど、
感じ悪い人が何人かいますが、一部ですので気にしなくていいです。
初心者だと、わからないことだらけでしょうから、ドンドン質問していいです。 細かいな。PICに水晶発振子を繋ぐときにだってCの計算要るし。 >>ID:9Zd/GgvG
ここが一番にぎわってるから他が必要ないってことだけどね
これ見よがしに「エラッタの」とかつけてアンチが立てたスレはみんなよくわかってるから放置されてる >60
お前、うるさい。
じゃ、このスレは何を書けばいいのか? つまり俺みたいに初めてPIC32を使う様な時のスレ PIC信者がエラッタ関連の話題を隔離するために作ったスレ >>70
買収されてから、AVRエラッタ、マメに出るようになったな。 ピックの割り込みについて質問さしてください
マイクロチップのデータシートには「3−4インストラクションサイクルの
レーテンシ」と記載されているのですが、8ビットのピックだとたとえば
ピックに与えられたクロックが48MHZの場合、実際には命令は12MHZの
サイクルで動いているという認識なのですが、インストラクションサイクルと
いうのはこの12MHZのほうを指すのでしょうか?
つまり、割り込みがかかっても3−4命令実行されてからようやく割り込み処理
ルーティーンに飛ぶ(3〜4)/12M 秒後くらい後に割り込みルーティーンが
実行されるという認識であっていますでしょうか? その通り
パフォーマンスは12MHz
電力は48MHz
48MHzといえばPIC16F145xでUSB? >>73
instruction cycles = 命令サイクルでOK
割り込み条件が発生してから割り込みベクタにジャンプするまでの時間は
同期3〜4命令サイクル
非同期3〜5命令サイクル
>割り込みがかかっても3−4命令実行されてから
これは間違い
割り込みイベントが発生したら次の命令サイクルの命令は実行されない
先読みで読み込まれた命令はNOPに置き換わる >>74
4相クロック作る為に、4倍のクロック使ってるだけだろ。 PIC32の導入部(出来ればPIC32MMの)が書いてあるページとか無いですか?
Lチカ迄が書いてある感じの >>78
有難うございます
丁度割り込みの事とか特にわからなかったのでズバリ、ピンポイントでした >>79
MIPSの割り込みって
普通ハードでやるようなことも全部ソフトなんだよね
だからISRのオーバーヘッドが大きい
ISRを書くのにプライオリティが必要なのも面倒
ザ、RISCって感じ >>82
データシート読んでも英語だったのでちんぷんかんぷんでした https://www.clarestudio.org/elec/pic32/mcu-interrupt.html
割り込みベクタがアドレステーブルじゃなくてコードの実体なので
上のにさらにジャンプ命令が追加される
普通はコンパイラがこういうコードを自動で吐くんだけど
なるべくコンパイラに多くのヒントを与えれば
コードが効率的になる
詳細はコンパイラの仕様書参照 >>73
ごめん、教えて下さい。
PICと書かずにピック、bitと書かずにビットと書くのは、
何故なのでしょうか?
あまり見ないので、良かったら理由を教えて下さいませんか。 >>85
わいには15M(メガ)秒の方が気になる。
半年近くかな。
ミリならmと小文字。
次に3/15M秒。
15M(メガ)あたり3と読む事が多い。
半年弱で3だけ?
その次にHZ。単位ではHzだよね。 >>86
明らかに単位として誤用だからねえ
初めてスレといってもPIC以外の最低限の素養は身についてないと相手するだけ無駄
事実何の意味もないカスのような質問にゴミのような回答 あまりにも変な記述なので
わざと文体を変えたダミー質問かと思った
>>86
{3/(12M)}秒 〜 {4/(12M)}秒
{3/(12MHz)} 〜 {4/(12MHz)}
メガに関しては特別変だとは思わなかったけど...
式を理解してない? ピック
ルーティーン
MHZ
どう見てもわざと
大きな釣り針
>>85も自演だったりして >>90
日本語の勉強頑張ってね
大きな辞書じゃないと載ってないかもね >>87
スレを伸ばす事が目的で無理に質問して自演で回答してるんだから
カス質問ゴミ回答は当然かと >>93
そうですか
単位の細かい表記は問題にするのに特定の地方でしか使わないローカル表現は使うとか、ダブルスタンダードの様な気がするのですが問題無いのでしょうか? つっこみ所はそこじゃなくて
メガをミリの間違いだと思ってバカにしたところじゃないの? >>84
MCCで今日やってみて意味がわかったよ
ありがとうございます MCCで生成したコードでは、
if()
{
........
}
と、ifの次の行に { が来るけど、
if(){
........
}
のような位置に変更することは出来ますでしょうか? 12F1840のUSARTでパソコンと通信しようとしてるけど、上手くいかない。
こんな時、オシロスコープが欲しくなりますね。 >>102
オシロスコープは色々と助かるので余裕があれば導入した方が良いよ(できればそれなりのスペックの物)
(悩んで特定(解決)して得るものより、原因を特定して先に進む方が得られるものが多い気がする)
あと、すぐにでも安価なUSB接続のロジックアナライザー(Amazonで1000円程度)の導入がお勧め
(ただし導入の手順が(ドライバー等)少し難しいのが難点) そういう時はオシロよりロジアナのがいいよ
1000円で買えるので十分 >>105
金額まで一致してるあたりシンパシーを感じる >>102
MCCなら簡単に通信出来るでしょ?
そのコードを参考にすれば? >>102
まさかなんだけど、FT232みたいなロジックレベルの奴と通信するのならわかるんだけど
シリアルポートのCOM1とかに繋いだりしてないよね?
それだったらMAX232とかそれの互換品とか使わなきゃ駄目だからね >>109
PCと繋ぐと言いながら詳細を書いてない辺り、これかな 夜なので思ったこと書くけど、しょうもないアクチュアリー試験やらなくていいから、紙に印刷されている数字をミス無くエクセルに手打ちさせるテストやらせたほうがいいでしょ。1000行ノーミスなら優秀賞とか即内定とか。
一応数字なので理系気取り釣れそうだし。ホワイトとか高給とか数理業務のプロフェッショナルとかはしゃいでる就活生呼んで延々とスクショをエクセルに貼る作業手伝ってほしいんだが あとアクチュアリー部署行きたいとか言ってる総合職も 頼むわ
アクチュアリーのレッテルと理系気取りの絶妙な需給一致の関係を見抜けず、マジモンの数学徒や物理学徒が入社して人生台無しになるパターンが古くから知られているけど、この時代にCS畑やDS畑から保険会社に来てしまう人が発生するのは不思議でならない。食パンを耳だけ食べて捨ててる人を見てる感じ。 すみません、教えてください。
MPLAB X IDE をダウンロードして初めて使うのですが、
・関数名がボールド(太文字)になってしまう
・true false などの文字の色が、空色になってしまう
・{ に対応する } が黄色くなってしまう
のですが、普通の非ボールドの黒い文字に、対応括弧の色を変えない
という設定にするには、どこを設定すれば良いでしょうか。
Toolのoption、Font&Colorsをいろいろと試したのですが、
見つけられませんでした。 >>115
「Font&Colors」の項目であってるんだけど、一部の変更はIDEを再起動しないと反映されない
なので、該当項目や類似項目を変更したら再起動してみて PIC32MM064GPLってI2C無いのね買ってから気付いたorz >>116
ありがとうございます。
可能なら、外部エディタでやりたいのですが、その設定は無いですよね?
真っ先に設定を探しましたが、見つからなかったんです。
8.92ではできたのですが、Xになってからできないですよね?
やむなく、いつも使ってる秀丸と同じ状態にしようとしているのですが、
MPLAB Xの余計な便利機能が多くて、困っています。
>>117
ありがとうございます。なるほど、やってみます。
すみません、ちなみに、1つ教えてもらえないでしょうか。
・ソースリストの先頭の桁の位置に出てくる「折りたたみのマイナスとそれに付随する縦線」
・「TAB位置に出る縦の点線」
上記2つを消す(表示させない)方法は、有りますでしょうか?
また、TABを4スペースに変換せずにTABのまま維持してくれる機能は、
ありますでしょうか。
すみません、宜しくお願いします。 士業、公務員、医者などは、AIに駆逐される職業の代表格に挙げられます。
このような枠組みに守られた、定型的な仕事というのはAIに代替しやすいからです。
AIは人間に比べて、休憩時間を必要とせず、ミスを犯さず、給与も不要というメリットがあります。
例外的に看護師は安泰じゃないかとされますが、議論と関係がないのでやめておきましょう。
今後は英語の重要性が更に高まるでしょう。
現在、世界には約200か国あり、言語は約6,000存在しますが、グローバル化とインターネットにより英語とスペイン語が支配的になっています。
半数の言語は話者がいなくなり、英語を話せるのは最低限の条件になります。
「英語が出来ない人」というだけで、一段低い人間だと見られる傾向は既にビジネスの世界ではありますが、今後は社会通念になる可能性もあると思います。
そもそも、世界的な学術誌は英語中心になっており(英語力が低い人=学問と無縁な人という価値観の加速)、プログラミング言語も英語であり、ビジネスでは英語の重要性が高まっています。
AI翻訳により、ごく簡単なやり取りは日本語で事足りるようになっても、「AI翻訳が必要な相手」と見なされるでしょうし、文書を読み解くリーディング力や、言語を介した高度な感情の伝達まで補うものではありません。
もちろん、英語が出来ること、というのは最低条件に過ぎず、英語が出来るからといって成功するということではありません。 >>119
HighlightingのCode Folding Bar , Indent Guide Linesを白に変更
非表示も探せばどこかに有る気がする・・・
TABは Formatting > All Languages > Category Tabs And Indents >
・Expand Tabs Spaces チェック外す
・Number of Spaces per Indent と Tab size を同じ値に >>121
教えていただいて、ありがとうございました。
大変助かりました。
>HighlightingのCode Folding Bar , Indent Guide Linesを白に変更
>非表示も探せばどこかに有る気がする・・・
MPLAB X 5.45 ですが、Tool->option->Editor->Foldingの先頭に
Enable Code Folding [] というチェックBOXを外したら、折りたたみが非表示になりました。
また、インデントの縦の点線は、
Too->option->Font&Colors->Highlightingの中に、Indent Guide Linesがあり、
仰るように白にしたら、表示されなく(見えなく)なりました。
ありがとうございました。
そのほか、Code Comletion も全部無効に、Brace MatchingのShow Outlineも無効にして、
普通のEditorに近くなりました。
昨日夜中まで格闘したのですが、#define if for while など、
予約語が 若草色で表示されてしまうのは、原因不明で調査中です。 >>122
どういたしまして
#define等
Fonts & Colors > Syntax > Language [C] >
・Preprocessor -------の3項目の色を変更すれば黒くできるよ
if for while 等
上の箇所のKeyword Directiveの色を変更 >>123
ありがとう。
できたよ、できた。気持ちいい。嬉しい。
All Language にしてあるし、効果のある項目もあるので、
まさか C にしないといけないとは思わなかった。
これで、秀丸に近づいた。ありがとう。
もう少しやりたいけど、明日も仕事なので、もう寝るわ。 MPLAB x MCCで質問があります。
これまでは、データシートを見て各レジスタ設定をベタで打っていました。
今回はじめてMCCを使いました。
Clockの設定、IOのTRIS程度は、MCCで生成したソースででき、便利だなぁと思いました。
ここで質問ですが、
MCCの生成するコードを使った サンプルプロジェクト は、Microchipから提供されているでしょうか。
生成した関数の説明は、生成したソースの中に簡単に書かれていますが、
具体的な使い方が、わからないのです。インストールすると、sampleフォルダのようなものです。
あと1つお願いします。I2CをMCCで生成したときのヘッダファイルに、以下のようなコードがありました。
#define INLINE inline
INLINE void i2c1_driver_close(void);
INLINE void i2c1_enableIRQ(void);
INLINE bool i2c1_IRQisEnabled(void);
はじめからinline と書けば良いと思いますが、あえてINLINEと書くのは、なぜなのでしょうか? >>125
>インストールすると、sampleフォルダのようなものです。
?
具体的にどの関数がわからない? >>125
サンプル作ってやるから
CPUと使用するペリフェラルを書いて >>125
ありがとうございます。
マイコンは、PIC24FJ64GB002 DIP品
EEPROMは、24AA65 DIP品
コントロールバイトI2Cアドレス = 1010000
メモリーアドレス(1) = 000xxxxx
メモリーアドレス(2) = xxxxxxxx
です。
ひとまず、やりたいのは、2つです。
write_1byte_24AA65 ( adr, data ); // EEPROMの adr 番地に、data を1byte書きたい
a = read_1byte_24AA65 ( adr ); // EEPROMの adr 番地から、データを1byte読み出したい
MCCの生成するコードの何が分からないかというと、
i2c1.c の中に、たくさんの関数があり、mainから、どの関数にアクセスすれば良いのかわからないです。
また、文法も
・I2C1_TRANSACTION_REQUEST_BLOCK trBlock;
ptrb->address = address << 1;
この2つが、何をしているのかわからないです。
上のやつは、 =が無いし、下のやつは、初めて見ます。 すみません
>>128は >>126,127へのコメントです。 >>128
上の人じゃないけど
MCCでコードを出力すると、i2c1.c以外に、i2c1.hの名前でヘッダーファイルが出力されます
そのヘッダーファイルを開くと関数の説明とサンプルコードが記載されてるので一度見てください
typedef struct{
uint16_t address; // Bits <10:1> are the 10 bit address.
// Bits <7:1> are the 7 bit address
// Bit 0 is R/W (1 for read)
uint8_t length; // the # of bytes in the buffer
uint8_t *pbuffer; // a pointer to a buffer of length bytes
} I2C1_TRANSACTION_REQUEST_BLOCK; >>128
「->」と「<<」はググって調べりゃわかること
そもそも、何やってるか知る必要ないんじゃない?
アドレスと書き込むデータをどのレジスタに渡すかデータシートで調べりゃわかる
MCCの吐いたコードの中にそのレジスタの名前が必ず出てくる
I2Cの設定だけMCCに任せて直接レジスタに値渡せばMCCが何やってるか知る必要すらない
MCCでコード作ればコンパイラに使ってない関数がありまっせって文句言われるのは日常茶飯事 >>128
ptrb->address ← 構造体ポインタでググる
address << 1 ← ビットシフトでググる 何でそこまで近道をしようと考えるのか
Cで書かれていてCのことが全くわからないなら入門書一冊に目を通せばいいのに
自分のやりたいことからやってみるって姿勢は否定しないが、ベースの勉強を全くしなくていいということではない ずっとやってきたから、C言語の基本的な文法はいろいろなところで、
思いこみや間違いも含めて、身につけてきたけれど、まっさらな状態から
今から始める人なら何で学習をスタートしたら良いんだろうな。 アセンブラとペアでやるのが良いのでは
トランジスタからC言語を語ってる本ってあるのかな? >>130
ありがとうございます。
>そのヘッダーファイルを開くと関数の説明とサンプルコード
ありがとうございます。
.hの中に書かれているのですね。.cの中を見て「無い無い」と叫んでいました。思い込みでした。
すみません。さっそく見てみます。ありがとうございました。
>>131
ありがとうございます。
>「->」と「<<」はググって調べりゃわかること
もちろん<<は知っています。よく使いますが、-> という演算子(?)を初めて見ました。
しかも1行に同時に2つの演算子(?)がくっ付いているのがわかりませんでした。
>そもそも、何やってるか知る必要ないんじゃない?
どの関数を呼べば良いかわからないので、内部を見て分からなかったので、
動作を追ったのですが。馬鹿ですね私。すみません。
MPLAB 8.92ですが、自分でレジスタ設定してI2CもADも使ってきました。
今回初めて、MPLAB X と MCCを使ったら、
・MCCで楽ちんにコードが生成された。
・.cを開いてみると、ソースコードが、たくさんのコメントとともにでている
(これに戸惑いました)
・たくさんの関数が作られていて、私はどの関数を呼べば良いか分からない
>アドレスと書き込むデータをどのレジスタに渡すかデータシートで調べりゃわかる
>MCCの吐いたコードの中にそのレジスタの名前が必ず出てくる
やはりコード中の動作を調べないと使えないということですよね?
>>130のように.hに書いてあることを知らずにいたので、
ソースを印刷して、動作を追ってしまいました。
address 7bit/10bitを判定後、今回のを送信行列の末尾に追加して、
コード自体が送信割込を叩いて、状態遷移をスタートさせているみたいですね。
遷移の途中途中で、status を書き換えて、main側は、そのstatusをチェックするという。
>I2Cの設定だけMCCに任せて直接レジスタに値渡せばMCCが何やってるか知る必要すらない
それは、>>131のような知識のある人、経験のある人の方法では無いでしょうか?
初心者は、まずはMCCを普通に使おうとすると思います。
>MCCでコード作ればコンパイラに使ってない関数がありまっせって文句言われるのは日常茶飯事
初めてやる人にはわからないですよね。 >>138
>初心者は、まずはMCCを普通に使おうとすると思います。
>初めてやる人にはわからないですよね。
MCCの立ち位置を勘違いしてるだけ。
だいたい何で急に初心者面すんだよ。
>MPLAB 8.92ですが、自分でレジスタ設定してI2CもADも使ってきました。
って自分で書いてるじゃん、何も身についてないってこと? まじめくんだな
また質問に来な
何でも答えてやるから >>139
>だいたい何で急に初心者面すんだよ。
MPLAB X と MCC の初心者という意味で書いていたのですが、
私の書き方が悪かったです。どうもすみません。
言った言わないの、そういうやりとりには、
お相手しません。すみません。
>>140
>また質問に来な
>何でも答えてやるから
ありがとうございます。
今回も大変助かりました。 みなさん、ありがとうございました。 >>142
言った言わないじゃないだろ、なんだその態度は
MPLAB 8.92でレジスタ設定してI2C使ってきた経験はどこいったって話だよ >>144
そのとおり、MCCに詳しい必要はない
過去にI2Cのコードを自分で書いたことあるならMCCが吐いたコードだって読めるはず
MCCが吐くと違うレジスタ使うとかよって話
>>145
それは君の主観でしょ
君が卑屈だから相対的に偉そうに見えるわけ ID:flddMW9r さん、負の感情ぶちまけすぎ。
仕事で後輩、部下相手にそんな態度なわけないよね。
穏やかに。 >>135
今、C言語でゲームって、モチベーションも上がらんだろうなあ。
俺が駆け出しのころは、そういうテーマでも良かったけど。
組み込み入門向けに、頻出するマクロ、構造体、共用体、ビットフィールドとかを
丁寧に扱うような教本があればなあ。 コンピュータ言語でも自然言語でも、表現できることと、読めることは別だしね。
たぶん、共用体、構造体を全然知らなくてもCでマイコンのプログラムは書けるけれど
いまどきのコンフィグレータが吐き出すコードを読めるためには、そいつらが使ってる
文法が一通りわからないとしんどい。
言語的センスのある人なら、追いかけてだいたい雰囲気でわかる、っていう感覚が
あるだろうけれど、みんながみんなそういうことができるわけじゃないしね。
どうか質問者の弱いところを責め立てるのはやめて。 >>147
君の主観でなく何か間違ってるとこあったらそれについて客観的に語ってくれる?
君の感想文が読みたいわけじゃないんよw 「過去の経験を書かずに初心者のふりをした」と咎めていたよね?
過去の経験を書かなかった、その話には入らない、に対して、
いきなり「なんだその態度は」って、ふつうは恫喝です。
そもそもMCCの初心者と、PICの経験を持つことは別の話。
>過去にI2Cのコードを自分で書いたことあるならMCCが吐いたコードだって読めるはず
記述が違えば同じことをするコードでも読めないことぐらいは、経験を積んだ人ならわかると思うんだ。
ましてや、構造体のポインタ表記がわからないって言ってるわけだし。 それと、穏やかにやってよ、っていうのは主観とか感情の話だしね。
>君の感想文が読みたいわけじゃないんよw
もともとあなたが読みたい話を書いてるわけじゃないよ。
読みたくないだろうな、って思って書いてる。
でも、詳しそうな人が残念なことをやってたら、みんなの損失だし。 >>148
まずは組み込みとか関係なくc言語を理解すればOK
構造体共用体ポインタを理解すれば後は組み込み用の特殊部分だけ理解すればOK >>137
PDP-8 インストラクションコンパチの IM6100 とかな
インストラクションの変態さは 8bit PIC 以上だったな >>153
パソコンのアプリのプログラムをするのにC言語が必須だった時代で育った身としては、
C言語の学習の動機づけもあったし、組み込みも割とそんな感じでいけた。
今の人は、組み込みのためだけのCだし「組み込みに関係なく」は伝わりにくい。
年々この傾向が強くなる。 >>155
伝わりにくかったとしてもcの文法はc言語を使う為の基本だから伝えないといけないとしか言えないよ まあフリップフロップやオペアンプを理解してる状態で学ぶC言語なんて
つまるところなんてないよなあ >>155
Cでアプリを書いていた時代は、マイコンのメモリ容量も少なくて
組み込みをやるにはアセンブリ言語も覚えていたんだし、
組み込みのために何かを覚えていたという意味では同じようなものだろ アセンブリ言語は生産性はともかく覚えることも少なかったしなあ。
今の若いエンジニアは習得を期待されることがたくさんありすぎて大変って気はする。
使い捨てされないようにするためには、幅が広くないとしんどいし、
個々のテクノロジーの習得にかける時間も少ない方がいいよね。 理解するは別にして純粋にc言語の文法部分ってそんな量無いだろ そんな量がどんな量なのかは人それぞれだしね。
コンパイラ依存も含めてすいすい頭に入る人とそうでない人はいるから。
できる人を基準にしてたら仕事だといつも人材不足になるし。
それにプロでも趣味でもマイコンをやりたくて(あるいは好きで)マイコンをやるとは限らないしね。
むちゃ好きでもないものなら、好きな人に比べれば習得は遅くなるよね。 自然言語に比べたら超簡単だね
文法は
全部覚えてるわけではないけど たいていの自然言語の文法は後付けで例外があるのがふつうだしね。
コンピュータ言語は先に文法が。いや、そうでもないか。でも自然言語に比べれば例外は少ないはず。 今月のトラ技がPIC特集だがさすがに今時PIC特集と思っちゃうのは仕方ないよな PIC18のECCPでハーフブリッジモードでP1AとP1BでDCモータを速度制御させる場合で回転方向切り替えはどうするのでしょうか?
フルブリッジの方は方向切り替えの説明は載っているのですが。 >>166
試したこと無いジャンルだから間違いかもしれないが
Periodに対して中間のPulse Widthで停止 Pulse Widthを中間から変化させることで正転・逆転にならないかな?
回路図やドライバーICの型番が解ればもっと回答が付きやすいと思う >>167
サーボモーターだとそうなるようです。
マブチモーターのブラシモーターの場合は極性反転させるからHブリッジのFETをP1Aで正転とP1Bで逆転のPWMとしたい。
フルブリッジなら4本ピン使われるからハーフで出来ないのか?と思っています。 >>168
結論から言えば、フルブリッジで接続されたDCモーターをハーフブリッジモードで制御は出来る
あと多分、ECCPのハーフブリッジモードを正しく理解出てない
ハーフブリッジモードはP1AとP1Bが連動した動きになる
(P1AがhighならP1BがlowでP1AがlowならP1Bがhighなど(モードによる))
P1A(high)正転・P1B(high)逆転のように接続されてれば
正転・逆転のON時間を半々にすればモーター停止する(pulseWidth中間)
ONする側(P1A,P1B)の割合(pulse width)で回転方向や回転速度を制御できる
>P1Aで正転とP1Bで逆転のPWMとしたい。
ハーフブリッジモードを使わなければ解りやすい方法で実現できる
(理論上の電力効率は落ちるけど)
この辺位は詳しく書いた方が良いよ
・FET等をディスクリート部品で構成するのかモータードライバーICを使うのか
(ドライバIC使うならICの型番等を書いた方が良い)
・すでに回路を組んでうまくいかないのか、これから回路を設計するのか? >>169
レスありがとうございます。
ドライバー部はTB6643KQというICを使います。
IN1とIN2の5VのTTL入力があり、IN1が正転でIN2が逆転のPWM信号を入れる予定です。
ハーフブリッジモードでP1AとP1BをIN1とIN2に接続したいのですが、IN1にPWM信号を入れている最中はIN2はLowにしたいのです。
MMCでコード生成してもEPWM1_LoadDutyValue関数しか提供されていないので、方向切り替えは制御レジスタにあるのでしょうか? >>170
>方向切り替えは制御レジスタにあるのでしょうか?
ハーフブリッジモードは2相の波形を出力する為の物なので、方向は無く比率の設定になります
考えてることは2系統の入力のうち選択した方に1相のPWMを出力したいって事だと思います
TB6643KQのドキュメント読んでみたけど、PWM制御に関する項目見た感じ
シングルPWMモードで2系統使った方が楽だと思う
>IN1が正転でIN2が逆転のPWM信号を入れる予定です
この場合は以下のような制御になると思う(データシートで推奨されてる制御)
・正転 IN1→high IN2→PWM( highの時間が短いほど早く回る)
・逆転 IN2→high IN1→PWM( highの時間が短いほど早く回る)
以下の方法でも動くが電力効率が悪くなる&発熱増える(非推奨)
・正転 IN2→low IN1→PWM( highの時間が長い早く回る)
・逆転 IN1→low IN2→PWM( highの時間が長い早く回る) >>171
アドバイスありがとうございます。
シングルPWMモードはA〜Dの4種類のピンに出せるの(合ってますか?)で、そのA/Bを使い、出力を排他制御するということですね。
ショートブレーキの区間はモーターの速度は落ちるのでしょうか? >>172
ECCPは出力がA~D、これはAしか使わないECCPやPWMが複数あるはず
PICの型番が解れば具体的な数わかるけど
MCCの機能追加に複数なかった?
ONとショートブレーキを高速で切り替えることに関しては電力効率的には問題ない
PWMの速度が激的に遅くなければブレーキの様な動きにはならない
(これはインダクタンスを理解してないと難しいかも) >>173
ありがとうございます。
PICは手持ちのPIC18F14K22(DIP)です。
MCCの提供関数はハーフ、フル、シングルとも変化なしです。
インダクタンス、未だに虚数部の計算は理解できないです。
電流が90度遅れて流れるということですか?
TB6643KQはI/OでソフトPWMで動作しており、色々あって高速周期化でハードPWMに移行したいのです。 >>174
ECCPが1個だけ・・・・
最近のPIC18だとCCP4個PWM4個とか普通になってきてるので、想定外だった・・
これで動作させるなら
・ECCPをシングルPMMモードに設定
・LATレジスタ,TRISレジスタでPWM(A),PWM(B)のポートをoutput&highに固定
・PSTRCONレジスタのSTRA,STRBを操作して、PWMを出力するポートを切り替える
(PSTRCONbits.STRA = 0; or PSTRCONbits.STRB = 1;) >>176
ありがとうございます。
昨日はハイボール飲んで寝てしまいました。
明日、やってみます! >>176
雨で予定が無くなったので、PIC18F46K22が載っている秋月のマイコン基板とブレッドボードでECCP1のEnhanced PWMのsingleモードで試しました。
モータの代わりに二個のLEDチカチカで明るさが変わり、正転、逆転の片方だけにPWMとなり他方はHレベルで消灯を確認できました。
明日、本番のPIC基板に移植してモータ回します。
ありがとうございました。 MPLAB X IDE と MCC を使って、UART を2ch 使いたいのですが、可能でしょうか。
MCCで、UATY1, UART2 を uart1.c uart2.c を取り込むことはできました。
ただ、printf( "Helo " ); とかやるときに、
UART1 なのか UART2 なのかを指示する必要があると思います。
printf ( uart1, "Hello" ); という書き方はあるのでしょうか? >>178
どういたしまして〜
書いた直後に気づいてたのですが、174のコード回転方向逆だと思います・・・すまん
あとPWMのDutyCycle(PulseWidth)の値が0=最大回転,Periodと同じ値=停止なのが気になる場合は
ActiveHigh→ActiveLowに変更したら良いと思います >>179
使用してるPICの型番ぐらいは書いた方が回答しやすい・・
>>UART を2ch 使いたいのですが、可能でしょうか。
PICがUARTを2個以上積んでれば問題なく可能
1個の場合でPPSに対応してれば複数のGPIOで排他的に使用することも可能
>>printf ( uart1, "Hello" ); という書き方はあるのでしょうか?
知ってる限りではそのような書き方は出来ません
MCCでは複数のUART(EUSART)を使用した場合に[Redirect STDIO to USART]はどちらかしかチェックできません
解決方法で思い当たるのが
・printf();を使用せず出力する
・MCCの出力するコードの一部を都合の良い形に書き換える→getch(),putch()辺り? >>181
ありがとうございました。
> 使用してるPICの型番ぐらいは書いた方が回答しやすい・・
すみませんでした。dsPIC32EV32です。
>>printf ( uart1, "Hello" ); という書き方はあるのでしょうか?
>知ってる限りではそのような書き方は出来ません
>MCCでは複数のUART(EUSART)を使用した場合に[Redirect STDIO to USART]はどちらかしかチェックできません
なるほど、ありがとうございます。
fprintf( uart1, "Hello %u \r\n",a ); のように書けないかと思ったのですが、
無理っぽいですね。
自分用の関数を作って送り出せば良いと思いますが、
プログラムをする上で1行で書けるのが楽ちんで...
どうもありがとうございました。 PIC24FJ32GB002 MPLAB X MCCで質問です。
タイマー割り込みの中でstatic変数による加算カウンターを作り、
その値をmain()で参照/操作などする場合、
global変数+extern宣言 経由で行う以外の方法がありますでしょうか? >>183
static変数を読み出す為の関数を作れば良い。 >>184
自分の家にいながら、他人の家の中のstatic変数が見えるんですか? >>186
出来る限り別のものに喩えない習慣をつけないと、かえって混乱するよ。
マイコンの何のどの範囲を「家」と考えるのかは人によって理解が異なるし、
議論をその定義から始めるぐらいなら、はじめからから、そのもので考える方がいい。
>>184が書いてるのは次のようなことだと思う。
s000.c と s001.c という二つのCソースがあって、
s000.cの中に
static int8_t var1;
と
読み出し関数
int8_t read_var1(void){ return var1; }
があって、
s001.cの中で
先頭の方で
int8_t read_var1(void);
と書くか、相当のことを hファイルに書いておいてインクルードしておいたら
a = read_var1();
で読める。 >>187
> 出来る限り別のものに喩えない習慣をつけないと、かえって混乱するよ。
すみません、失礼しました。
> >>184が書いてるのは次のようなことだと思う。
ありがとうございます。
実際には、以下のような使い方でしょうか。
https://imgur.com/jbLYuxc.jpg
この方法だと、単にグローバルで読み込むときより、
関数オーバーヘッドの分、時間がかかると考えれば良いでしょうか。
宜しくお願いします。 気のせいかもしれないけどstaticでもローカル変数を他の関数から参照すること
できないんじゃないかな?
まぁ書いてみてコンパイラ通せば分かるんだけど >>188
関数内で宣言したstatic変数は関数外からは見えないし。
static volatile int8_t count;
みたいに、関数外で宣言しないと。
あと、割り込みで更新して、割り込み外で参照するなら、volatile が必要(だと思う。要らない環境あるかな?)
static は 関数内と関数外で微妙に意味が違うし戸惑う。
関数内で使われたら
・static変数 はRAMに静的に確保される変数になる。
・関数内で宣言された変数はstaticがあってもなくても、関数外からは参照できない。
関数外で使われたら
・変数は、関数外で宣言されたら、static があってもなくても、RAMに静的に確保される変数になる。
・変数でも関数でも、static 付きなら、ほかのCソースから参照できないものになる。
>この方法だと、単にグローバルで読み込むときより、
>関数オーバーヘッドの分、時間がかかると考えれば良いでしょうか。
関数オーバーヘッドがあるかもしれない。最適化によってはそうでもなくなるかも。
それでも、こういう書き方をしたいとしたら、変数をどこからでも見える状態にしておいたら、
(この場合) 割り込みで更新されるべき count を、ほかのCソースの中でうっかり書き換えてしまう
おそれがあるから。 >>189
ありがとうございます。
参考にします。
>>190
ありがとうございます。
>関数内で宣言したstatic変数は関数外からは見えないし。
そうですね。
関数を抜けたときでも、値を保持できるとして、割込中で便利に使っていました。
>それでも、こういう書き方をしたいとしたら、変数をどこからでも見える状態にしておいたら、
>割り込みで更新されるべき count を、ほかのCソースの中でうっかり書き換えてしまう
>おそれがあるから。
確かに、困るんですよね。
もう一度べ゜んきょうし直してきます。ありがとうございました。 >>192
かわいそう・・・
>>Klv7j7i1が良い宗教に巡り合うことが出来ますように
(-人-) staticにスコープの意味も持たせたのはCの失敗の気がする ライバルAVR教、世界最大ARM教、新興勢力RISC-V教w >>195
K&R時代はOOP中心じゃなかったから。
C#のclass sealedがデフォでない失敗と同じ。 ここで言語の何が失敗でそうでないか(こういうことは結論は論理的に求められることはあまりなくて、
たいていは、自分の論を通すことにエネルギーが費やされてしまう)を議論をしても、専門の人たちの
広い知見は期待できないだろうしね。
いま使っているルールや文法の理解を深める議論は大切だと思うけど。 昨日の男です。
その後、勉強してきまして、
https://imgur.com/2D1nLnj.jpg
を考えました。
すみません、以下のような理解は正しいでしょうか?
1. S001.c だけの場合
→ 問題無くOKと思っています。正しいでしょうか?
2. S001.c と S002.c 同時にプロジェクトにある場合
→ これも問題無くOKと思っています。正しいでしょうか?
そのファイルの関数の前に1つ宣言してあれば良いと思います。
3. S001.c と S002.c さらに S003.c も同時にプロジェクトにある場合
→ これも問題無くOKと思っています。正しいでしょうか?
使用したい関数毎に、宣言してあれば、これも良いと思います。
宜しくお願いします。 PICでの動き、XCなりの仕様をどうこうならわからんでもない
でもこれって違うよね >>199
ソース貼るなら>>1のURLの方法で張った方が良いよ
あと質問に関連する内容もソースに追記しておいた方が回答しやすい
今は川に居るので大雑把な回答です
1.問題ないfunc1,func2両方から同じ変数にアクセスすることになる
2.s001.cで宣言したAにs002.cの関数からアクセス出来る
3.s001.cで宣言したAにfunc5,func6からアクセスできると思う
グローバル変数に別ファイルからアクセスるのは事故の元なので止めとけ!
面倒でも読み出しや書き込み用の関数を用意するべき
関数オーバーヘッドもマイコン速度で解決するべき >>198
そうかねぇ?
一般に広く周知されている知見ってのは存在して、
新しい言語は決して好みで開発されるのではなく、時代を経るごとに失敗を教訓に洗練されてきていると思う
スレ違いというのはその通りだからもう止めるけど 共通のヘッダファイルに
extern unsigned char A;
を宣言しておけば事故を防げる。 >>189
staticでもローカル変数を他の関数から参照することはできないが
>>187 は、その変数のポインターを関数の戻り値など別の方法で
渡してやればstaticのローカル変数の内容を別の関数から読める
と言っているので、両者の話に矛盾はない。 コンピューティングでは命令セットは結婚だ、
しかし、組み込みでは命令セットは単にデートだ >>202
速度気になるなら、インライン関数にしとけば良い。 >>205
>その変数のポインターを関数の戻り値など別の方法で
>渡してやればstaticのローカル変数の内容を別の関数から読めると言っているので
そこまでは言ってるつもりはなし。というか、そこまで変則的なことをする必要ないよな。
>>202の
>グローバル変数に別ファイルからアクセスるのは事故の元なので止めとけ!
の「事故」は、うっかりアクセスできすぎてしまう、みたいなことじゃないのかな。
そのコンテキストなら、>>204は、事故防止にはならないし。
マイコンに依存した話でもないので、プログラム板の方が、詳しい人がいそうです。 >速度気になるなら、インライン関数にしとけば良い。
XC8のことで、もう何年も前だけど、これを試して、無視されている感じだったので調べてみたら、
フリー版では効果がない、みたいな情報があった。
あらためてマニュアルを見てみたらこんなふうに書いてある。
V2.10のUser’s guide
4.8.1.2 INLINE SPECIFIER
This is performed at the assembly code level.
Inlining will only take place if the assembly optimizers are enabled,
which occurs at the higher optimization levels and which precludes this action if you are running an unlicensed compiler.
そのうちためしてみよう。 >>209
最近のバージョンは、フリーでも最適化レベル2まで開放されてるらしい。 >>205
それがカプセル化だよ。
static int abc = 0;
static int GetAbc()
{
return abc;
}
typedef struct {
int (*get_abc)();
} TXXX; MPLAB X で教えてください。
プロジェクトを、MPLAB から開くのではなくて、
プロジェクトファイルをダブルクリックすれば、
MPLAB X が起動するようにする設定は、どこにありますか? MPLABXのプロジェクトファイルはXMLだしフォルダの下の方にあるからやめた方がいいなじゃない? >>212
私は、SendToフォルダーにXのショートカット入れといて、プロジェクトフォルダー右クリックで「送る」を選んでる。 >>213,214
ありがとうございます。お礼が遅くなってすみません。
送るってSendToですよね。登録してやってみました。便利です。
ありがとうございました。
あと2つほど、もしご存じの方が いらしたら教えてください。
1. Recent Project の表示数を、もっと増やしたいのですが、何か設定はありますでしょうか。
Tool->optionの中には、それらしいものがありませんでした。
2. PICKit3は、MPLAB X 5.45では使えないのでしょうか?
ちっとも認識しないので、PICKit4を買ってしまったのです。
宜しくお願いします。 私のちうかpickit3は5.45で動いている様だ Windows10のクリーンインストール状態でそのまま普通に使えたので、一度Windowsを入れ直してみては? ありがとうございます。
Windowsのインストールとか、やったことがないので、自信なしです。
他の問題が起きそうで、自力で解決できない・・・・
ありがとうございました。 MPLAB X で教えてください。
2つあります。
1つ目は、MPLAB X の画面の上部左にある、フロッピーアイコンやアンドーリドーの
ボタンを取り外すにはどこの設定で行うのでしょうか。
理由はウインドウの横幅を縮めると、私は使わないフロッピーボタン、新規ファイルボタン、
アンドゥーなどが残って、コンパイル+書込実行の三角ボタンやトンカチボタンなどが
非表示になってしまうのです。
ファイルとか、そういうのを非表示にして、三角やトンカチは表示されたままにしたいのです。
2つ目は、関数の引数の型は拡張されるのか、ということです。
main()の外に、関数をを作りました。void hoge(uint8_t a ){...です。
mainで呼ぶ時に誤って hoge( 16bit値 ); を記述してコンパイル、実行すると、
関数内部で、上位8bitも下位8bitも正常に処理してくれるのです。
関数では8bitの引数で待っているのに、16bitが来たら自動的に16bitに拡張して、
関数内では16bitで処理される、そういうものなのでしょうか?
コンパイラーでエラーを吐くか下8bitしか見ないと思ったのですが。 >>222
1 そのバーの上へマウスを持って行き、一番左端でカーソルが「方向」に変わったところで右クリック
2 うちのコンパイラは処理してくれない
それがあなたの勘違いでないなら困ったことだ
そもそも8ビットの変数に上位8ビットと下位8ビットがあること自体不思議 >>224
ありがとうございます。
教えていただいた方法でボタンのレイアウト変更できました。大変助かりました。
12インチノートPCなので、となりにターミナル画面を表示しながら
MPLABを使いたかったのです。ありがとうございました。
int→charの件は、私の勘違いでした。よく調べたら正しく動作していました。
どうもありがとうございました。 PIC18F K42シリーズ
MCC4.1利用で直接レジスタはいじっていない
コールドリセットなら正常に動作するが
ウォームリセット{WDT、RESET()、pickitファームウェア書き込み時}にはクロック設定かタイマ割り込みのどちらかがおかしいのか処理が早くなったり遅くなったりする
内蔵クロックでも外付けクリスタルでも同様
どなたか対策教えてください >>228
変数の初期化が出来ていないのでは?
コールドスタートだとRAMの初期値は大抵は0x00(不確定が前提)になるけど
ソフトリセット時は特殊機能レジスタ(の大半)は初期化されるけど汎用RAMは初期化されない
なのでstatic変数以外は int val=0;等で初期化して使わないと都合の悪い事がある >>229
ありがとうございます
その後調べて見たらソフトリセットの場合、
プライオリティの高いタイマは正常動作、プライオリティの低いタイマが不整脈みたいな状態でした
初期化されないことで処理が遅くなっているのかもしれません
ご指摘いただいたRAMの線で追っかけて見ます すごいね。初めて見た。ADBのI/Fだね。
APPLEの品番を背負ってはいるけど、実はPICマイコンだったりして。 >>230
main()の最初、MCCが生成したコードの初期化の前に100msのdelayを入れたら異常な動作が無くなった
100msが適当かは調べてはいない
機能上この対策で問題ないので追加調査はしません
お騒がせしました >>234
main()直後をやめて
INTERRUPT_Initialize()後に変更 今後のためにもトラブルの原因はハッキリさせておいたほうがいいよ。
その対策でOKだったかどうかも分らないし。 俺の書き込みじゃないけど...
趣味でやってるなら追っかけるかもしれんが
仕事上ではとりあえず放置して時間があったら調査することもある
当然、時と場合による 仕事だったらなおさらマズいんじゃないか?
その対策で解決したかどうか分らないんだぜ?
俺だったら「時間を確保して調査する」だな。
しょうもない仕事だったらどうでもいいけど。 話の流れを断ち切ってすいません
マイコン素人です
今からPICの勉強を始めるのは将来役に立ちますか 将来組み込み技術者として職につきたいって事かな。
まず中学生レベルで構わないので英語の読み書きが出来るようになろう。
あとは国語も論理的な文章が書ける様になっておこう
どのCPUで始めるかは実はあまり関係ない。本当になんでも飛んでくるので選り好みはできない。 >>241
何を目的としてるかわからないけどIOTならラズパイでいいんじゃない >>234
通常、mainの一番最初にはdelay入れるよ。
クロックの安定待ちにしないと、EEPROM読み出しが0xffになる事がある。
デイジーチェインのLEDライトで、アドレスなどパラメーター読み出しを最初にやるが、数十バイトが0xffだと、パラメーター初期化する仕様にしてしまい、大変な事故を発生させてしまったことがある。 >>244
それはPower onの時のみで良い?
wdtのリスタートなどはdeley不要? >>246
パワーオンとWDTの切り分け判断ってできるの? ラズパイ4でmplab動く?
なんかお手軽開発環境作りたくなったw Linuxだから動くとは思うが、スペック的にどうなんかなあ VNC入れたWindowsがあれば何処でもMPLABか? >>251
あーそれでいいかな!
win10pro今さら買うのもアレだしね
ラズパイはシンクラ端末にしようw c言語で
while(1){
while(RA0==0){
}
処理 //RA==1になったら実行される
}
こんな感じでRAが定期的に0と1を繰り返しそれに対して処理が行われるようなプログラムを書きたいんですが、while文の中にwhile文を入れたからか処理が行われません。アドバイスを頂きたいです! while(RA0==0){}
を削除したら、
//RA==1になったら実行される
の部分の処理はずっと行われっぱなしになっていますか? あと、RA0はポートAの0ビットを意図してると思うけど、当該ビットを読んでることになってるのかな? >>254
すいません、while(RA0==0){}を削除したことがなかったのでわかりませんが、おそらく処理がループされると思います。
具体的には、およそ0.5秒ごとにonとoffを繰り返す信号をRA0(16f1827の17番ピン)にプルダウン抵抗を使って入れて、RA1から0.7秒onして次の入力信号までoffになるようにさせたいです。まあonとoffの割合を変えたい訳です。 >>256
一般論で申し訳ないが RA0 が volatile とコンパイラに教えてやらないと
コンパイラが変数が勝手に変わるわけないと思っているのかもしれない >>257
レジスタ関係はヘッダーでvolatile宣言されてる >>256
そもそもwhile(RA0==0){}の中でRA0が変化していることは確認できているのかな?
信号を入れているっていうくらいだから、当該ピンに外部から入力しているの
だろうけど、それがちゃんと認識されていないと話がはじまらないような気がする >>258
そですか、失礼しやした。
>>256
んじゃ初期設定し忘れて RA0 がデフォルトのコンパレータ入力なったっまとか
間違えて出力に設定してしまっているとか、ピンを数え間違えているとか、、、
>>259 のより具体的な話だが
まずはタイマーで LED をオンオフさせる、
LED のオンオフが確認できたら RA0 の入力でその LED をオンオフさせる、
そういう感じで一歩一歩確認していかないと何が何だか分からなくなるよ 254です。すいません、なんか別の8ピンのpicで同じようにやってみたら出来てちゃんと動作してました。よく見るとRA0の0がアルファベットのOになっててコンパイルサクセスしてるから間違いに気づかなかったようです汗 なんでコンパイル通る?
正 RA0 コンパイルOK
誤 RAO コンパイルOK ん? >>261
>よく見るとRA0の0がアルファベットのOになっててコンパイルサクセスしてるから
ここんとこ、もう少し詳しく教えてもらえませんか? またまたで申し訳ないのですが、自分がコンパイルしたのは別のファイルだったようです。別のプロジェクトをメインに設定していたらしいです。m(_ _)m MPLAB X IDEって斜線付きの0に表示変更できないもんかね? >>265
外部エディタを許せば、問題ないんだけどね。
8.9までは出来たのに。 MPLABに付いてるエディタなんて使いたくない。
WORDみたいな自動インデントが気持ち悪くて。
変なことしてくれなくても、TABは自分で飛ばすよ。
俺の好きにさせてくれよ。 すいません、プロジェクトを3つほど作っていて1つはコンパイル出来てpicにプログラムも出来ます。しかしいつの間にか後の2つのプロジェクトがコンパイルは出来るものの、ipeでプログラムが出来なくなりました。プログラムしたいプロジェクトをしっかりmain projectに設定しコンパイル→hexファイルを作成→ipeではbrowserからそのhexファイルを選択してprogram、であってると思うんですが…コード自体は以前しっかり動作したものです。このままだとプログラム出来るプロジェクトの方に出来ない方のコードをコピペしてプログラムしなければならず困っています。 >>271
プロジェクトから有るならIDEではどうなのよ、クリーンビルドしてPICに書き込んでみたらどうなる?
あと、自分の環境も書こうぜ。 使用環境はmplab x ide、コンパイラーXC8、picは12f683、pickit3を使用
ビルドとクリーンビルドの違いはわかりませんが両方コンパイル出来てます。
ちょっと思ったんですがIPEを起動中にIDEでビルドするとIPEからhex file has been modified とかの忠告みたいなのが出ます。これはなんか関係しているのでしょうか? >>271
最近IPEなんか使ってないからなあ、わからんわ
IDEからやってみてエラーメッセージ書きなよ
書けな書けない言うだけじゃ何も分からんよ IDEからはpickit3を認識しないらしく、出来ません いやーどうも、なんか今動作してくれました!12f683のGP0.1.2.4.5は入出力、GP3は入力、という情報があったのでGP0を出力、GP1を入力にしてLEDを繋いでたんですが前述の通り全く動かず(コンパイルはします)。そこで入力をGP2にしてみようとコードを打ち直し、ビルドしてプログラムしたらちゃんと動いてくれました!もしかしたら書き込みの時のマイコンとpickit3の接続ピンがGP0.1.3なのでそのせいかもしれません。 >>277
IPEだかIDEだか知らんけど何か言って来るやろ?
それを書きなと言うとんのだがな
何故人の言うこと聞かないのかな
認識しないと一口に言ってもOSレベルなのかIPEレベルなのかいろいろ target device was not foundと出ますね もしかして5v電源を繋ぐとかですか? pickit3がそもそもUSBから電源をとっているからいけるはずなんですが >>279
> もしかしたら書き込みの時のマイコンとpickit3の接続ピンがGP0.1.3なのでそのせいかも
書き込みが終わったら I/O ピンとして動作するよ
12F683 は使ったことないしデータシートを見ていないが、
原因は GP0,1 がデフォルトのコンパレータ力になったまままなのではないかに一票 ANSELのデフォルトが1(アナログ入力)だったりする。 pic16F1827でLEDチカチカ出来るようになったぜ〜(`・ω・´)
2個のLED付けたのはいいけど
それぞれ別の周期で点滅させたいんだけどどうすんの?
while(1)
(2)でもだめぽ Lチカを馬鹿にする奴居るけど、難易度高い場合があるよな >>290
巣って言うけどAVRスレでも煙たがられてるじゃん >>292
あの爺さんAVRスレでも痛い書き込みして嫌われてる
AVRスレ Part 42,41で「マルチタスク」「アセンブラ」とかで検索したらすぐに見つかる Lチカでもちょっと複雑なことするとムヅイね
タイマー割り込みって奴だな
もう少し粘るぜ(`・ω・´) いや、ループ内で10000毎にオンオフさせるのと15000毎にオンオフさせるだけで出来るし LED1とLED 2の共通の周期でwhileループかマイコン二つ使うか >>294
割り込みも一つの手ですがタイマーのカウント値を利用して動作をさせてみると良いと思う
手始め手にタイマー(割り込み未使用)を使って1個のLEDを点滅させるコードをかいてみては? #define T1__50 500
#define T1_100 1000
#define T2__50 2500
#define T2_100 5000
while(1){
if(a1 <= T1__50){ LED=1; }
else if(a1 <= T1__100){ LED=0; } #define T1__50 500
#define T1_100 1000
#define T2__50 2500
#define T2_100 5000
while(1){
if(a1++ == 0){ LED1=1; }
else if(a1 == T1__50){ LED1=0; }
else if(a1 >= T1_100){ a1=0; }
if(a2++ == 0){ LED2=1; }
else if(a2 == T2__50){ LED2=0; }
else if(a2 >= T2_100){ a2=0; }
} >>299
2つ目と4つ目の else if は else にせんと違和感ある。 >>301
2つ目と4つ目って、どれのこと?
全部必要だと思うけど >>300
そのやり方は、on OFF状態が管理できませんから、
ダメです。 それ以前に、タイマー5つも持ってるチップなのにif文出してくる神経が理解不能w >>303
>on OFF状態が管理できません
どゆこと?
詳しく教えて 皆さんヒントありがとうございます
とりあえずPWM制御とか言うの見てたら
点滅速度、パターンを変えることができました
一石二鳥です(`・ω・´)b
でもこれLED10個とか7セグ4つだったりしたらどうしよう!?
ってまだまだ修行がたらねっす(;´д`)
ってC言語難しい( ;∀;) 俺のこと呼んだ?
口先だけの3流プログラマでは実現できないLチカ
タイマ1個で8個のLEDのチャタリング除去や点滅やってるんだぜ
しかもゲーム付きw
https://pastebin.com/hZ4EiF7m
おまけ タイマ1個で済む理由、リエントラントとは
https://pastebin.com/ZYFYsR3S >>307
乙
>だったりしたらどうしよう!?
備わってる基本の機能を一通り使えるようにした後で
その応用を考えるのが楽しいわけですよ すまん、ちょっと不正確だな
LEDのチャタリング除去
→LEDを点灯、消灯するタクトSWのチャタリング除去 >>310
みんなLチカからどこまでいくんだ( ;∀;)
とりあえずクリスマスツリー作ってみるよ
12月には時間もあるしな 次の2点を忘れなければ大丈夫
・CPUの能力は使う人の能力次第
・新しいことに挑戦する
CPUは思ってるより奥が深いぞ、楽しみながら気長にやってくれ >>307
7セグ4つにソフトPWMで輝度調整
タイマー1個で割り込み機能なし
のベースラインでもソフト次第で
性能的に楽勝です。趣味のアセン
ブラーで書いたけどな。
> C言語難しい( ;∀;)
多分アセンブラーの方が遥かに難
しいと感じると思います。 >>314
PIC16F1使ってる初心者相手にBase Lineでも楽勝とか言い出す構ってちゃん馬鹿
一度精神状態を医者に診てもらえ >>314
お前がベースラインしか使いこなせないのはここの全員が知ってる
だからといって初心者に薦めてんじゃねえ一人でオナニーしとけ とりあえず1i/oを確実に動かせないと
Lチカで終わっちゃうから
複数チカチカはクリアしたい
ADコンバーターはあとでいいや >>305
現状の反対という行為なので、今onなのかoffなのかが
解らないと言うことでしょう。 >>305
現状の反対という行為なので、今onなのかoffなのかが
解らないと言うことでしょう。 <<317
初心者だからベースラインで基本的なことやって
そのうえで多機能なものを使っても悪くないと思うよ
ベースラインでC言語使て8x8ドットマトリックスLEDに
文字表示してスクロールくらいはできるし
LED8個をPWM制御でクリスマスツリーの飾りくらいは作れるし 8x8LEDいい(*´∀`)
無駄に秋月で買ったのが活かせる(`・ω・´) >>315
っ鏡
>>316
っ鏡
>>317
呆れるばかりの勝手な作り話に思い込み
そして読み間違いに下品な煽りで、
エラッタ君のDNAを感じました。 >>325
太陽とか曇りマーク程度出せればまずは良しかなと
ぐるぐる絵を動かすのはあとでいいや(;´д`) >>312
基本が完成したら次のステップへ
焦電センサを付けて、人が近づくと点灯パターンが変わる
Cdsセンサを付けて、周囲の明るさによってLEDの明るさが変わる
マイクを付けて、話しかけると点灯パターンが変わる
温度(湿度)センサを付けて、温度(湿度)によって点灯パターンが変わる
気圧センサを付けて、晴雨計として点灯パターンが変わる
AC電源の50/60Hzクロックで時計機能を付けて、定時になったら点灯、消灯する
などなど、いくらでも楽しめるLチカw Lチカしているだけで嬉しくなってしまう
まるで火を扱えるようになった原始人のように 赤外線Lチカで赤外線リモコン機器の制御
SSRのLチカで照明や換気扇の制御
IrDAのLチカでデータ転送
MIDIのLチカで楽器演奏
Lチカだけでも奥は深い PWMでチカチカするのはいいけど
リレーつないだらどうなるんだ?
1chは1Hz
2chは2Hzでカチカチさせるには
LEDダイナミック点灯な技で制御はだめだよね
やっぱ割り込みとかも覚えなきゃ足らんすな
先は長いw
とりあえずトランジスター挟んで試してみる >>332
リレーは PWM で駆動するものではないぞ。
ダイナミック点灯というのは人間の目にチラチラを感じさせない程度以上の周波数
まあだいたい50Hz以上でオンオフを繰り返して常時点灯のように見せかける技術。
ダイナミック点灯を使って1Hz,2Hzでオンオフしているように見せかけることも可能。
割り込みを使っても使わなくても実現は可能で割り込みを使うことが必須ではない。 やっぱスネアとハイハットとドラム叩くの大変だなw
4chをそれぞれ違うテンポで電気を通すって難しいやん〜
RB0→RB1→RB2→RB3
流れるだけだ >>331
SSRのLチカで換気扇の制御?
MIDIのLチカ?
Lとは? >>335
LEDじゃね?
SSRとかならフォトトライアックにLED使うだろうし
MIDIは絶縁型ならフォトカプラにLED使われてるだろうし
しらんけど(;´・ω・) そか、リレーにPWMでもなんでもフォトカプラ挟めば
絶縁もできて一石二鳥か!
チャタリング起きそうw >>340
なつかしすぎる。
電気工作の定番って、
かまぼこ板にブリキ板でスイッチを作って、豆級ちかちか(もちろん手動)
釘を焼きなまして電磁石
電磁石でブザー ←これ! 子供雑誌に、モールス通信の工作記事があり、
かまぼこ板のスイッチと電磁石で書かれていたので、自分も作った。
でも、ただカチカチ音がするだけで、本に書かれていたような
頂点と端点 いや、長点と短点のようには聞こえなかった。
なんであれがトンツーとして聞こえるのか、自分の中の七不思議になってる。 MIDIはGNDループ起こさないようにフォトカプラ受けで絶縁が基本だったな >>342
ブザーをうまく作れなかったのでは
きちんと作ったつもりでどこか間違えただけ
あなたがどうこうではなく子供の理解力なんてそんなもん ブザーになってなくてただの電磁石になっていたという説に俺も一票 >>342
こう言うのでしょ?
https://youtu.be/xNAGp58VXV4
あれは音を聴くんじゃなくて、あの薄い鉄板が電磁石にクッついてる時間(様子)をみてトン・ツーの別を判断するんだよ >>345 346
その通りです。
ブザー的なb接点は無くて、単に電磁力で引っぱり、バネ力で戻るだけでした。
カチ カチ カチ カチ カチ カチ カチ カチ
カチ カチ カチ カチ カチ カチ カチ カチ
CQですかね。 >>344
電磁石ブザーはその後作りました。ギャップの調整でなり方が変化して、
いろいろなことを学びました。
最大に感動したのは、ラジオに雑音が入ることでした。 ごめん、水銀リレーとかSSRとかでは無い普通のリレーでチャタらないものって? マイクロマウスってCPU何が多いの?
PICじゃ足らん? ビット数増やしても無能プログラマは無能のままだろうな >>354
マイクロマウスくらいなら、
8bitでもいいんじゃないかと思うけど、どうかな? XC8のVer2.3*と1.4*混在できないの?
インストールできたけどグレーアウトしてる(´・ω・`) 昔作成したPIC基板
少しプログラム編集して動かそうと
久しぶりにPickit2とMPLAB8 を使った、、
軽いわ〜
起動、デバック、書き込み、サクサク動くわ〜
なんなん?最近の
修行なんかな >>358
どの画面でグレーアウトしてる?
Windowsのバージョンは?
MPLABXのバージョンは?
スクリーンショットでも貼って やっとこれだ!ってLチカ見つけたよ
電飾で探せば早かったw
これでリレーもLEDもスイッチも覚えられる Lチカむずいよねぇ。 ブレッドボードにTTLとトランシスターだと秒速でできるのに、、、 トランジスター2個でマルチバイブレーターならもっと楽じゃね?
3,4…と数増やしたり点滅パターン変えるのはマイコンが楽だろうけどな >>364
なんで今時TTLなんだ。
74HC14、R 2本、C 2本、LEDで終わりだよ。
>>367
トランジスタ3個、抵抗4本、コンデンサ2個
74HC14には負けると思うけどな。 マイコンスレで「ハードウェアでLチカ」を語っても仕方がなかろう。
そこは入口。
簡単なことから始まることに、その簡単なことは他の方法の方がもっと簡単だと言うのは、後進の芽をつむ愚行。 PICで乱数生成しようと考えたのですが、
種が限られてて良い乱数になりませんね。
内部変数16bitアルゴリズムなので、
すぐ一周してしまうのは仕方無いとしても、
良い種を考えるのが難しい。
今はEEPROMを使わないでいます。 何かの操作を人間が行うならその時間間隔も乱数の要因にできるけれど。 >>370
同意
しかも、しょうもない内容でマウント合戦やってる
>>373
なるほど
(ツェナーダイオードとA/Dとか)乱数用のノイズ源内蔵してるマイコンって無いのかな? PIC32MZ EFに、RNG というのがあるけど、それかな?
ルネだけどRL78に真性乱数発生器があるみたい。
普段使わない機能なので、意識してチェックしていないけれど、
暗号化とかセキュリティで使われるので、ほかにも内蔵されているものはあるのでは。 >>375
ホントだ?!
確かに熱雑音を使ってる!
https://i.imgur.com/FwqATso.png
ありがとう!
暗号化サポートみたいな、大袈裟で無くていいから、8bit版とかにも乗せて欲しい
あるいは、アナログ出力やシリアルで繋がる単独チップでもいい やったことないけど、オペアンプ内蔵のPICだったら、外部にCRとトランジスタかツェナーを追加して簡易的なのは作れないかな。 乱数かあ
面白そうだけどRL78/G23もPIC32MZ####EFもパッケージが >>375
有り難う御座います。
PIC32だとあるのか。 >>376
ADC を使うだけの浮遊容量タッチセンサ(ソフト処理)を実装しておけば
タッチしなくても AD 値の下位 1ビットなんて殆ど乱数的にパラパラ
するから、それを適宜 SEED に混ぜ込むように実装すれば 8bit PIC
でも外部回路なして真性乱数発生に利用できると思うよ。 殆ど乱数的にパラパラする
適宜 SEED に混ぜ込む
真性乱数発生
そうですかw >>380
なるほどね
そう言う実装で乱数作って、応用・紹介してるサイトある? >>383
そういう言い方する奴多いけど
理解してる理屈を1ミリも出さないんだよね
ほんとは、わかってないっちゃね >>382
ウィキペディアで擬似乱数の項目を見れば、古典的手法として、平方
採中法、線形合同法、線形帰還シフトレジスタなどの手法が記載され
ている。8bit PIC なら線形帰還シフトレジスタが処理的に軽そう
ではある。これらの手法に加え srand を時折呼ぶのを疑似的に
実現するため、ADC 結果の下位 1bit を SEED のどこかの 1bit
を置き換えるとかすればいいんじゃね? >>383
なあ、seedのある真性乱数って何なんだよw >>386
乱数は再現性のある疑似乱数と再現性のない真性乱数(物理乱数)に
大別されるわけで、疑似乱数生成用の SEED に物理的なノイズ信号を
加えてやれば再現性はなくなり、少なくともこれはもう疑似乱数では
なくなる。ノイズを加える頻度が少なすぎれば真性乱数とは言えない
繰り返しが見られるであろうが、繰り返し周期に比べ遥かに短い間隔
でノイズを加えれば真性乱数と呼んで差支えない乱数列が生成できる
と考えているのだが、異論があるならもう少し具体的に詳しく。 >>383 ID:5cka7h6M は消えたのかな?
否定的な言葉を投げるだけで、回収する気もないのはなんだかな。 俺は 383 ではないが、
381 は否定的な言葉こそ使ってないが、意図が不明で、
読みようによっては 380 の内容ををおちょくってる
だけのように解釈できる。それに対してカチンと来た
383 が横から出てきて煽った、そんなとろじゃないか。
分ってないようだが、火種は 381 だよ。 >>385
詳しいレス、ありがとう!
(ほぼ)フローティング入力のADCが、ノイズ源として使えるか、確認してはいないけど、参考になりました フローティングだとどっちかに張り付いちゃったりしない? >>387
まず貴方の主張は真性乱数なのか真性乱数と言って差し支え無いモノなのかどっちなの?
私には入力エントロピーを適切に選択すれば、暗号論的に安全な乱数が得られるとしか捉えられない。prngはどこまで行ってもprng、seedが予測不可能なら真性乱数は成り立たない。 >>393
そもそもの質問は疑似乱数の繰り返しが気になり、それを解消した
いという内容と解釈したので、工学的な観点から真性乱数と言って
差し支え無いモノで解になると考え、疑似乱数発生器にノイズを加
えるという提案をした。
8bit PIC の ADC 結果の下位 1bit をノイズ源として加えるとする
と、まあ、本当にランダムである保証もないのであるが、ADC 結果
の下位 1bit はどこまでいっても予測不能と確信している。
また入力エントロピーは 8bit PIC でも 7kbit/s くらいはいける。
本格的な乱数発生器に比べれば非力かもしれないが、キーボードや
マウス操作の入力エントロピーを利用する方法に比べれば遥かに高
い数字だ。人間が休んでいる間入力エントロピーが 0 を続けるとい
うこともない。
純粋な真性乱数とは自分には神がかった話のようで PIC で生成す
る提案はできません。 >>389
火種が誰かなんてどうでも良いよ。
ときどき、
「>○○は逃げたか」
「俺は>○○ではないが、原因はむしろ>□□だ」
みたいなやり取りあるよな。 >>394
別に実現方法に文句があるわけでは無いよ
ただ、381に対してはわざわざ揚げ足とらんでもと思ってたが、383が変な事言うからそれは違うだろと言ったのよ。 PICについて質問さしてください
PIC18F14K50というPICを使っていて、RC4をプルアップ、かつ
GNDに繋いだスイッチを付けています
当然ながら通電直後にRC4を読んだらHの状態で読める事を期待しているのですが
なぜかLで読めてしまうことがあるのです
で、いろいろ試行錯誤した結果、MEIN関数の頭のほうで
PORTC=0
LATC=0
を入れたらスイッチを押さない限り必ずHで読めるようになりました
続きます 次の2点が良く分かりません
・10Kの抵抗でプルアップしているので電源投入直後からHで読めると思っていたけど
ポートの初期化を行わないと読み取り値は不定値になるんでしょうか?
ちなみに対策を入れるまではポートCについては一切初期化処理的な処理は
行っていませんでした(POR直後入力に設定されることが保証されているので
初期化は不要と考えていたんですが)
・初期化処理を入れたら期待通りの動きをする様になったのはいいんですが
PORTC=0
LATC=0
なぜこの初期化処理で正常に動く様になったのか良く分かりません。どっちもポートを
出力として使う場合のレジスタとおもうのですが。
あと、電源等入力後にHである事を期待しているので、0で初期化するのではなく
PORTC=0xFF
と初期化した方がいいような気がするのですが、やはりゼロで初期化すべきなんでしょうか? I/Oポートは、何もしなくても、入力になるようになっています。
PORTC=0 はポートCは全部出力になれ〜という命令です。
LATC=0 は、ポートCの出力、全員Lowになれ〜という命令です。
RC4を入力として使いたいなら、上記の設定は出力に設定しているのですから、
間違いです。
疑問な点は、RC4を読むときの命令はどのように書いていますか?
RC4を読みに行った瞬間、本当にRC4ピンはHighの電圧になっているのでしょうか?
main (MEINではありません)の先頭ですぐに読まずに、少し時間を待ってから読みに行くと
どうですか?
最後に、アルファベットは全角でなく半角で書きましょう。 >>399
スイマセン、せっかく回答して頂いたのにあれなんですがPICを実際に使用されてます?
PIC初心者ですが
>PORTC=0 はポートCは全部出力になれ〜という命令です。
これがデタラメだということは理解しているつもりです >>398
ちょっと変に思うところもあるので一般論でコメントすると、
PORT は出力にも入力(デジタル、アナログ)にも、場合によってはその他にも設定可能
PORT の設定は電源投入直後の初期値(初期状態)というのがある(仕様書で確認)
PORT が出力に設定された状態になっていれば当残のことながらスイッチの状態を見ることはできない
初期化後ずっと入力として使うなら出力値設定の H/L どちらでも良いはずだが、
初期化までの間に PORT (PIN) が H になることがあって、それをスイッチで直接 GND に落とす可能性があるなら
短時間でも出力 PIN を H にしないことが好ましい。 >>401
ごめんごめん
TRISCだったね。失礼しました。
>・10Kの抵抗でプルアップしているので電源投入直後からHで読めると思っていたけど
>ポートの初期化を行わないと読み取り値は不定値になるんでしょうか?
そんなことはありません。初期値は入力になりますので、読めると思います。
念のため、RC4のTRIS=1 に上書きしますが。
>(POR直後入力に設定されることが保証されているので初期化は不要と考えていたんですが)
それで良いと思います。
・疑問な点は、RC4を読むときの命令はどのように書いていますか?
・RC4を読みに行った瞬間、本当にRC4ピンはHighの電圧になっているのでしょうか?
・main (MEINではありません)の先頭ですぐに読まずに、
少し時間を待ってから読みに行くとどうですか?
最後に、英数字は全角でなく半角で書きましょう。 Macの新型でもMPLABうごきます?
PC買い換え悩む
むしろ古いマシン買ってubuntuでうごかしゃいいのか?
タブレットなやつでどこでもデバッグ…(;´д`)
やっぱそこまではいいか Windowsが嫌いな人はWindowsを使わないことにエネルギーを使う必要があるのかな。
というか、MPLABXも含めて、今どきの開発環境はどれもこれも重いね。(MPLABXはましな方かも)
CPUもディスクのスピードも容量もメモリもある程度は用意しないとストレスになる。
古いマシンで、というのはより忍耐が必要になるのでは。 開発環境を自作すれば解決する。
必用なCPU、機能に限定すれば小さくてサクサク動くものを作れるし、
OSやPCが変わって動かなくなったとしても自分で対応できる(当たり前だけど)。 MCCとか言う便利でよくわからないけどタイマーも割り込みもできてしまう
魔法のツールを使ったらホントにできた(;´д`)
悩んだ1週間は一体…
次は時計でも作ってみるかな(^ω^) 散々既出だったら申し訳ないのですが調べても分からなかったため教えてください
秋月電子 PICKIT対応ICSP書き込みアダプターキットでPICKITと接続する6番ピンは
基盤にパターンがあってLVPと書いてあるもののその先が繋がっていません
LVPは低電圧書き込み?関連のようなのですが使うことはないのでしょうか?
自作のアダプターを製作している方も繋いでいないようですし
PICKITの6番はどういう時に使うのでしょうか? >>412
LVP対応PICで使う可能性はあるが通常の方法で書けるなら敢えては使わない >>413
PICKIT4で使うので通常書き込みができるので必要無さそうです
ありがとうございました PICKIT4ってATMELのチップにも
書けるから、8pin全部使えるようにしたい。
という訳で、sunhayatoのブレッドボード基板
とソケット等を組み合わせて
書き込み回路を作りました。
基板は万能基板でも良いけど、
pin数多くて配線面倒なので金で解決w
きっと、そんな人は一定数いるはず。 秋月電子のPicKit4が約5000円台から8300円に値上げ!
半導体不足が波及したのか?
Microchip社の価格変更の意思なのか。
そのくせAVR入門用ライタ。
PicKit4は、PicKit2/PicKit3のような
専用書込プログラムを持たないから、
数百-数千個書込(ROMクローン)時に、
物理ボタンを押して書込開始し、
書込成功の可否はPC効果音で確認する
普通人にも頼める単純作業が出来ない。
初心者に厳しいくせに生意気な奴。 >>416
半導体不足に加えて、円安とか輸送費高騰とか値段が上がる要因しか無さそうですね
素朴な疑問なのですが、PicKit4で数百-数千個クローンって想定された使い方なのでしょうか? 00年代までは書込済のDIPマイコンにプロテクトを掛けて
書込料1個数十円でレール束を納品する商売がまだ有った。
貧弱なPicKit2やPicKit3も簡易クローン目的で使えた。
今や伝統の18PINではC言語を多少考慮した新型が16F1827しか無い時点で先細り感ありあり。
アセンブラ爺さんがF88とかF600番台を使って保守的にやっているだけじゃなかろうか?
(プリント基板を作り直す意思すら無い企業様) >>416
一応PikKitは製品の書き込みには使えないという建前だからね。
実際に書き込んでるのはチップ内蔵の回路だから正規の書き込み器
で書いたのと変わらないとは思うが。 >>416
3しか持ってないが、4だと量産用の書き込み機にもなるんか? 「は? PIC? オモチャじゃん」と言われました。
PICって、だめなの? オモチャじゃないのを提示してもらわないと解りません おれはもっとスゴいのを使ってるんだぞ、
と言わんばかりだったので、それは聞き返しませんでした PIC は部品ですから 部品に対してオモチャとかオモチャじゃないとか
だめとかだめじゃないとか一言で割り切るようなことはできないとは
思うんですけど、、つまり、価格と性能と扱いやすさ(使う人のスキル
に大きく影響する)で何を作りたいのかによるわけで。
そりゃ 8 bit PIC でパソコン相当のモノを作ると言えば、そんなオモ
チャ(性能の低い=低価格)みたいなモノじゃ無理とは言われますけど
まあ、何を作りたいのか、、それによるというのが答えになりますね。 PICと一括りにしてしか語れないような人達は技術的にもたいした事ないので雇用主でもない限り絶縁して正解でしょう。 技術よりも、他人を煽って不快にさせることの方に喜びを感じる人はいるしね。 PICkit4のあのSDスロットってなんにつかうんだろ? >>421
PICはおもちゃという幼稚な思考がポンコツなので相手する意味はない PICは扱うのが簡単、
でも、より難しいチップを使っているオレは
オマエより優秀である
こういう考えの人は何処の世界にもいる
PICユーザーの中にもいる
マウントバカから得られるものは何もありません
スルーして自分のやりたい事をやりましょう 玩具呼ばわりでもかなりマシ。
この板だとArduinoは知恵遅れの職業訓練教材である。
だいたいがAVRを勧める名物狂人のせい。 「オモチャじゃん」と言われて「だめなの?」という丸投げ質問を
してくる行動からして、PIC に限らずどんなマイクロコントローラ
でも扱えるようになるスキルを感じない質問だったけどね。 PICで出来るものを高級なマイコンでやるのは馬鹿です。 >>432
女・子供のオモチャかどうかは知らんが
その発想自体が女・子供以下の品性なのは確か 日本には本質を射貫く言葉がある
歩のない将棋は負け将棋
過ぎたるは及ばざるが如し
1円を笑う者は1円に泣く
宝の持ち腐れ
・・・
まぁ、シンプルな8ビットを使いこなせない奴は当然、16ビットも32ビットも使いこなせないだろ。 死にかけのアセンブラ爺さんがシンプルなPICで
253?分周の割込でタイマーを作ってドヤっても
今は褒められる時代じゃない。
掲示板なら加齢臭廃棄物扱い。
TMR2の入ったF1で、C言語で書いた
方が可読性か大幅に向上する。
贅沢は素敵だ! 無駄も好き。 >>438
大は小を兼ねる
日本にはどんなシチュエーションだってそれを正当化する言葉はあるんだよ
8ビットしかなかった時代の人がただ漫然とそこに立ち止まってるだけ
な気がするのは俺だけじゃないだろう、とくに>>439が言う例の人なんかはね 能力の低いマイコンでパズルして、できなさそうなことを実現して、俺ってすげ〜してる人の事だろ
量産なら意味があるけど、趣味なら、少々の値段差なら上位機種使っちゃったほうが手っ取り早いんだよね
だが趣味なんだから、別にいいじゃんって思うなw >>426
そういうのavrスレに何人か住み着いててメチャうざいわw Lチカに始まりパターンにハマる
オモチャというよりパズル
夏休みの宿題にしては重い マイコンを仕込む物理スペースもパズルだから仕方ないw >日本には本質を射貫く言葉がある
っていうけど、例になってるのは、本質を射抜く言葉ではなくて、
小さいものを大切にしたり、過剰であることを諫める言葉じゃないの?
そういうミニマルなものを愛でたり、制約の中での工夫をすることも大事だけど、それがすべてではないしね。
>シンプルな8ビットを使いこなせない奴は当然、16ビットも32ビットも使いこなせないだろ。
そもそも使いこなすことだけが正しいわけでもない。
みんなが使っているパソコンもスマホも、ありあまるリソースと機能があるから、ほぼ同一のハード、OSで
嗜好の違う個人が自分の好きな使い方をすることができる。
余裕のあるリソースを持つマイコンは、電子機器の開発コストを下げている。
ギリギリまで使い切ることに情熱を注いでいた熟練工が高い評価を受けた時代を、昔のことにしている。
その一方で、低賃金なエンジニアでもプログラムは作れるようになったし、
別の分野の専門家が、マイコンで何ができるのかを考えることに関わりやすくなってきた。
俺がこの業界に入ったころは、まだ4ビットマイコンがよく使われていた。
でも、「8ビットを使いこなせないやつは」と言う人も、その多くは4ビットマイコンを使いこなしたわけでもないよね。
使いこなす以前の問題として、廃れて使いたくても使えなくなっているともいえるけれど、産業界で使われなく
なれば、自然に合理性のないものは消えていく。 ほんとこういう話が好きだな
マイコンだと最新の使いこなしは気にするくせに
ファッションセンス、着こなしは中学生で止まっているという… フリスクのケースに納めるという流行は終わったのか? >>449
へえ、そんな流行あったんだ
3Dプリンターの方が先だったからなあ
気づきもしなかったわ >>451 3Dプリンターの方ですか、時代ですね。
マイコン フリスク でグーグル画像検索するとわらわら出てくるよ
# そもそもは 446 へのレスだったのだけど長文に割り込まれた フリスクケース使ってみると、イメージしてたより大きくて、充分ケースとして使えて驚く
が、しかし、そろそろ店頭から消えつつあるので、終了な予感 FRISKは厚みあるけどミンティアはどうだろうか?
あ、思いついただけで実際ググって無い フリスクケースのサイズ変わったよな
基板サイズも変わったのだろうか?
とりあえず新旧共に集めてはあるw >>447
量産品を作るのに30円のマイコンで出来ることを300円のマイコンでやってたらただの馬鹿じゃん
置かれている背景で最適な選択肢は変わるのにもっと柔軟に考えたら? >>447
量産品を作るのに30円のマイコンで出来ることを300円のマイコンでやってたらただの馬鹿じゃん
置かれている背景で最適な選択肢は変わるのにもっと柔軟に考えたら? 後出しで量産品という前提を振りかざしてくる人キモイ 最近、IoT関連試作だ〜って
ラズパイ使うやついるんだけど
STM32やPICの方が安いって言ってもわかんないからイヤって言われる
勉強しようよ(´・ω・`) さすがにIoT関連試作でいまさらPICはないわwwww
普通にarduinoとかraspberrypiとか使うわwww
まさに老害のたわごとwww >>459
webサーバー機能とか、簡単にくみこめるの?
俺は、そういった仕事はラズパイで片付ける。
単なるI/O制御(フルブリッジのモータ含む)ならPICで片付ける。 >>461
仕様に間に合えば関係ないぞ。
仕事なら。 でもそれ他の現代的マイコンでは問題にすらならない
サイクル数計算をした上での話しだよね。 485でModBus通信する仕事が最近多いけど秋月の1100円で売っているPIC18F46K22のマイコン基板(ICB93と同じサイズ)で楽勝でやってるぜ。
カスタムだけど粗利で、一件8万くらいで小遣い稼ぎになるな。 カスタムの仕事でマイコン指定がないなら、自分の得意とする方法(実績の
ある方法)のなかからいかに早く仕上げて納品できるかが一番大事かもな 初めてのPICスレで、ほかのマイコンをひきあいにしてPICユーザーを煽るのか。
そういうことを面白がってやってると、人間性にそれが染みついてくる。やめた方がいいよ。 >>458
趣味でPICを使うから色々な考えがあって良いのに全否定する方がどうかと思うが PICを楽しむのに量産を前提にするわけじゃないしね。 量産は必ずしも余裕が有る物が良いわけではないって例でしょ
趣味で大量生産をする人がいるとも思えないし、趣味だからパズル的な要素を否定するのは野暮ってもんだ >>465
小ロットなら慣れた物を使った方が人件費が削れて安いな >仕事なら
とか書いてる人時々見かけるけど、それ仕事にして現状でまともに食えてるの?
どんな案件なのかぜひ知りたいわ。 恐らくはその8万の仕事が今年唯一の仕事だと思うぜ。 >>473
なるほどねえ
まともにこれ一本で食えるような仕事してる人が
こんな初心者スレでクダ巻いてるわけないと常々思ってたんだw 想像で書かれたことが明白なレスに、まるで新しい事実がでてきたかのように納得して、
議論が成立しているかのようにふるまう人っているね。 金を稼ぐための仕事と、楽しむための趣味の間には大きな壁があると思う。
アマチュアなら
バグが残っていて、納入先に呼び出されて、部長や課長など4、5人並んでる前で、
原因は何で、いつまでに対処できるかハッキリしろ、
なんて吊し上げられる経験はしたくても出来ないw
時にはトラブルが金銭問題に発展する可能性もある。
(このライン1日停まると100万損するんだよね、と言われた事がある)
趣味としてのCPUを使った電子工作は楽しいだろうな、うらやましい。
アマチュアの方、目一杯楽しんで下さい。 楽しいだろうな、うらやましいって思うなら、楽しめばいいのにな。
プロが趣味でアマチュアとして電子工作したらダメって規則はない。そこまで縛る契約が実際にあるなら相当に悪質な企業だよ。
工作物を公開していいかどうかは勤務先によりけりだけど、作る楽しみを感じられる人が、自分で作るぶんには自由なはずだよ。
>>476は
(1)顧客のための仕事で学んだことをネットで書くことはいけないと思ってる?
(2)現状、アマチュアとして活動はしていない? リレーとかモーター100個制御すんのはどしたらいい?
カウント1〜100で
その先のI/Oってどしたらいいの? 1個のマイコンで不可能なら100個のマイコンを使うのだ。 >>479
おお!
そうだつなげばいいんだな!
あたまいーー! >>478
当たり前すぎてつまらん回答だが、12 ビットシリアル−パラレル変換 IC 例えば NJU3714を
9個カスケード接続すれば、マイコンの 3bit のポートでリレー 108個制御できるじゃろ? >>482
PIC初心者というより
電子初心者なのであたりまえも浮かびませんでした^^;
マイコンにI/Oあれど100はネーよなと
どうすんだ?とふと疑問になったので
なんか作ることはないすけど
後学のために覚えときます! >>483
LED ならダイナミック点灯、キーボードならダイナミックスキャン
という方法がもっぱら使われるのでそれも覚えておくとよかろう。 >>485
割り込みとダイナミック点灯、ダイナミックスキャンとは独立の関係だよ
割り込みを一切使わない実装も可能 ダイナミック点灯つかうなら、スキャンののほうはついでにちょこちょこ見るくらいでいけるから
荒らしってほどにはならんよ、たぶん なんか、秋月のカタログ見てたら
I/O増やすI/Oエキスパンダーなるものを見つけた!
これもカスケードすれば100I/O付けられそうですね
なんか無駄に変なものに走りそうだ^^;
microchipすげーな 昔買ったPICの在庫が一部尽きたので、
久しぶりに秋月のサイト見たら
各PICが少しずつ値上がりしてますね
最近の半導体不足の余波なのか? 本当に余波なら店頭に何も並んで無い、秋月が球根屋になっちゃう。 >本当に余波なら店頭に何も並んで無い
なんで、そんな極論に落ち込んでしまうの?
小売店が余波をかぶれば、
・仕入れ価格の上昇による売価の見直し。
・競合他店の在庫や売価や、自社在庫の枯渇見込みを鑑みて売価の見直し。
って、店頭から物がなくなる前に、小売店で起こりうることは他にもあるのに。 >>489
昔買ったPIC
久しぶり
少しずつ値上がり
最近の
時系列があいまいで非論理的なレス
相手するだけ無駄 >>492
元レスに違和感なかったけど
どの時系列で混乱してるの? >>493
違和感ないならいいのでは?
あなたに説明しても時間の無駄だわ >>493
たぶん 492はちょっと頭のおかしい子だから触らないほうが吉
「少しずつ」を「時間の経過」で考えたんじゃね?
「多くの品種がちょっとだけ値上がり」のことだと読み取れなかったんでしょw >>495
自分が理解できない、意見の異なる相手は、
>ちょっと頭のおかしい子だから
だと思いこむことで留飲を下げる現実逃避。
そのスタンスいいと思います。 >>495
こう言わないとコミュニケーションが取れない人だろう。
昔→3年前、久しぶり→1年ぶり、少し→5%
そうしないと昔と言っても100年前なのか1年前なのか分からず混乱するんだって >>497
いいね、ぜひそれで>>489を書き直してみてよ、待ってるから >>498
もう一つ言うと、誰が誰かもわからない、社会的コンテキストを理解する能力の欠如 求める人向けに>>497にもとづいて>>498を書き換えるのは>498であって、ID:rC/ucgWIではないだろう。
なんで ID:rC/ucgWI に対して、「まだあ?」 なのかね? >>500
他人には解説させようとするのに
自身は何を理解できなかったか説明せんとはw
まず、どう解釈しようとして
どこに不明点があるのか説明せいよ
493に問われた回答まだあ? >>502
>>494
慌てなくていいから、落ち着いてアンカーちゃんと打ってね 横からだけど、行間を読めないアスペをあまり煽るなよ。それじゃ学校のいじめっ子だ 「一昔」で思い出した、
小6の時、大嫌いな担任のI.Y.が国語の教科書を読みながら、
出てきた言葉「一昔」について、
「一昔っていい加減な言葉だな、どれぐらい前か分らないよ」
と作者を馬鹿にしたように言ったので、手を上げて、
「ハイ、先生、一昔は10年です、10年一昔という言葉があります」
といったら、ものすごい目つきで睨まれたw >>503
493へのアンカーが足りないくらいで、何か困るのか?
ID:ZNjof1Em に対してだよ
>>500
他人には解説させようとするのに
自身は何を理解できなかったか説明せんとはw
まず、どう解釈しようとして
どこに不明点があるのか説明せいよ
>>493 に問われた回答まだあ? xx年にyy円で買ったPICzz、昨日秋月で見たらww円だった
と書いてくれればクレームの余地は無かっただろうね。 >>501
確かに、493で説明求められたのに494で時間の無駄と言って切っておいて
498,500他人では他人に説明要求してるんだからたち悪い
どう理解したかを他人の時間を無駄にしないよう ID:ZNjof1Em が率先して手本示して説明しようず >>507
なるほど
492がこのレベルで課題を列挙したらクレームの余地はなかったかも 春に6600円だったpickit4が8300円デース。
どうにかして下さい。買わないけど。 10年一昔という言葉は
一昔=10年と言っているのではない
睨みつけるしか能の無い無能な教師に習う不幸 昔、RS232Cポートで焼くライター使ってたけど
今も使えんのかな?
PICKIT3欲しかったけどいつの間にか無くなってPICKIT4しかなかった
当時は4Kか5K円だったかなずいぶん値上がりしましたね(´・ω・`)
昔のチップ焼けなくて悲しいのを思い出した(´・ω・`)ショボボボーン
16F84Aどうしよ >>514
AliあたりでPICKit3のクローン買えば >>514
アマゾンでPICk itTMの3のクローンが安く撃ってるからそれ買うのが一番いい なんか心配になってIPE立ち上げて16F1823で昔作ったHEXが焼けない( ;∀;)
まじかよー?!amazon逝ってくる(;つД`)
まあLチカ程度だからいいんだけどさ
まいったな昔の石供養なんてしたくないw 最安はAmazonで買ったPickit3互換機が900円だった
今はそんな値段で売ってない
AliExpressでまそんな値段では売ってない アマで売ってる PICk it TM3って純正品のクローンだと思ってるんですが、回路は
純正品と同じなんでしょうか?それとも回路もコストダウン↓化が図られていて
純正とは違う回路だったりするんでしょうか? >>521
あれ?そうだっけ?どっかで回路図見たような気もするんだけど
>>522
内部写真は右が「Microchip PiCkit3」で左が「PICkit3/3.5」だから上ケースとの
組み合わせが逆でしょ。 >>520
PIClit3は公式が回路図出してる、ユーザーガイドに載ってる
クローンがそれと同じかどうかは知らない
>>522
だね ああ本当だ
回路図はpickit2だけかと思ってたわ Pickit3はMPLAB Xで使う時に専用ファームウェアに書換。
専用書込アプリPICKit3 V.3で使う時に元のファームに書換。
いつかはファーム書換失敗で死ぬであろう消耗品。
中華パチモンを2つ買って書換せずに長持ちさせるのもアリかもしれない。 PICKIT3ってクローン作れるって言うから
配線図みたけど無理だな(´・ω・`) >>526
>専用書込アプリPICKit3 V.3
ってのは初耳だ、それ必要?
秋月で純正品買って、やることが雑な性分を見越してバックアップ用に中華クローン買って
もう何年も中華クローンしか使ってないけど全く無問題だわ >>528
実態を示すのが配線図
デジタル回路なら配線図と回路図はあまり違わないけどね
>>529
アホ呼ばわりする暇あったら違いを教えてやれよ、でなきゃ初心者スレに来るな >>530
必要でなくても、使いたい人間もいる。
専用アプリで行うボタンを押すだけの
単純作業は頭の弱い俺の憧れなのだ。
ポチッとな。
なにより他人に作業して貰う場合の
手順書作成も楽で良い。 __532
専用書込アプリPICKit3 V.3
ってなに?どこにあるの?手製? pickit3 programming tool
で ぐぐったら出てきたけどこれのことだろか。
https://microchipdeveloper.com/pickit3:scripttool
そこに archive area of the Microchip.com website. というZIPへの
リンクがあるけど、Chrome だとリンクをクリックしてもダウンロードできない。http だしね。 >>533
PICkit 3 Scripting Tool v3.10でggrと
Microchipのこの開発者ヘルプページでてくるので、
もう使うな!非サポートだぞ!MPLAB Xを使え!等々の
警告を読んだ上で画像下のarchive areaからDLする。
https://microchipdeveloper.com/pickit3:scripttool >>536
悪びれずにさらっと書くねえ、あんた
「専用書込アプリPICKit3 V.3」からの「PICkit 3 Scripting Tool v3.10」とか、
エスパーでないとたどり着けんじゃん、しかも、結果、非推奨w
いつもそんなに無責任なの? というかそんな良く分からないツールと行ったり来たりしなくても
PIC16とPIC18を交互に焼くだけで都度ファームウェアの書き換えが行われるじゃむ
PIC16書いて、PIC18書いて、またPIC16書いてってのを100回も繰り返せばすでに
フラッシュは100回更新されてる >>539
あやふやな記憶で適当なこと書き込んどいて
言われてから検索かけて帳尻り合わせようとしたけどサポート無しと言い捨てる
こういう態度はひどくないのかね?
あらかじめ調べて、現状ではMPLAB IPE推奨になってることを確認して
そっちを書くのが初心者スレに書き込むマナーではないのかね? ここはカタギはいないの?
Lチカしたらみんなプロなの? >>540
えー。それじゃ無保証のソフトウェアを勧めるのはダメなん? >>544
それな。非サポートであろうがなかろうが有料であろうがなかろうが
大抵のソフトは無保証と明記されてるな
無保証≒無責任じゃまいかw そもそも歴代のPicKitが動作無保証の書き込み機な件。 たいていのフリーウェア、フリーソフトウェアは無保証だしね。
中身のわからないライター互換機の話はOKで、メーカーの過去バージョンのソフトの話題がNGってすごく恣意的だな。 ろくに調べもせず古い記憶に頼って風呂敷広げる奴を擁護した挙句に
初心者スレでMPLAB IPEでなくPICkit3 Programming App and Scripting Toolをごり押しする老害は
自分の引用先に
It is recommended that MPLAB IPE be used for independent control of the PICkit 3 In-Circuit Debugger.
と書いてあるのも目に入らないご様子。 >>536なんか読むとひどい、書いてることが無責任
ていうか>>549が言うようにろくに英語も読めない人なのかも
読めりゃ現行はIPEだとすぐ気づき、警告無視しろとか言うふざけたレスにはならない
低学歴、老害、無責任
その後の話のすり替えとごり押しにはもう辟易する>>ID:evPvekjS
ついでに、同時に登場してるこいつは何だろう、>>ID:aWmGze/0、いかにも同一人物の自演っぽいw 無責任だと息巻く「だけ」のレスを書く暇があるんなら
自分で責任をもった正しい回答で補正すればいいのに AVRスレで暴れている
知障バカチョンがここにも来たのか >>551
俺のことかな?
現行はIPE推奨だともうとっくに>>540が書いているし、
すぐ上で>>550も書いてるが、それ以上の正しい回答とは何?
是非上を行くお手本を見せてください、待っています。 PICスレらしい流れ
老害 vs ド素人(を装った老害) >>ID:evPvekjS
>>ID:aWmGze/0
こいつらの最後の屁理屈ぶりは何だろう?
自分らの引用先にIPE使ってねと公式が書いてるのにわざわざレガシーに誘導した挙句に
>たいていのフリーウェア、フリーソフトウェアは無保証だしね。
と話のすり替えをし
>メーカーの過去バージョンのソフトの話題がNGってすごく恣意的
と屁理屈をこねる。
英語が読めないとここまで姑息、ここまで卑屈になるのかw そしてお前らのようなクソの役にも立たない野次馬もなあw>>552,554 もう少し中身のあること書けないのかしらw>>ID:STJzk41P
たとえば俺の>>555に何か反論は無いの?無意味にわめいてるだけ? くだらん事でマウント合戦かよ。
初心者スレでよくやるよ。 あとはこうやって何の意見も持たないガヤが幾人か(自演も含めて)わめいて収束 世界的にも韓国人は無意味に怒って喚く知的障害児部族だから仕方ない。
どうせ大したことは言っていない。 品性低いですアピールに余念がない単発が
レイシスト臭プンプンさせて臭くてかなわん PICスレらしい、いつも通りの流れバイw
プロもアマも、ベテランも初心者も、ジジィもバカ造も
なぁんも気にすることはありまっしぇ〜んw
さぁ、次行こうじぇ、次! ガヤですが
まぁ、なんつぅか、同じバカレベルだから、こんな場末のゴミ溜みたいな所で
言い争いになるんだよねぇ
俺なんかすぐに「アンタが大将!、アンタが大将!」って謝るw 回路図公開済み。
pickit の中にpicが入ってるからそれを焼く為のライターが必要。 >>567
せやな
わいはPIC以外にも使えるからとPICkit4買うた
便利や いまだに自作PICKIT2使用中・・・・・
PICKIT3もあるが切り替えが邪魔くさい PICKIT3買ってみた
よろしこー
貰ったPICが16F88
ほかにブレッドボードももらた >>573
便乗質問
4だとPICのシリーズを変えてもPICKit内の書き換え発生しない? 逆引き辞典買ってきた!
これいいじゃん
って16F1778持ってないや(´・ω・`)
1983に移植してみるわ(´∀`) 書込みもデバッグも念力でやる。 pickitなんぞいらん。 修行がたらんぞ。 不揮発メモリなマイコンってないのか?
書き込み機なしで、メモリ転送すりゃ使えるっての データ用ならEEPROM乗っているけど?
フラッシュより簡単に書けるので便利だ。 >>580
用語が誤解を招く。今のマイコンの多くが不揮発メモリにプログラムを書いてる。PICだってそう。
だからその1行目は要らない。
ある種のピン設定をして起動したり、何かのきっかけを与えたら、調歩同期シリアルやUSBで
プログラムを書けるマイコンって珍しくはないよ。 だからそのピン設定とかきっかけとかなしで
PCにつないだら外部メモリ空間として認識して、データ移すだけで済むやつねーの? >>583
>>580ではあなたにとって大事なことは書いてなかったんだな。
「だから」ではなくて「ちゃんと書けてなかった。」だね。
ずいぶん前にさわったきりで、最近の事情はわからないけれど、mbed にそういうのがあるよ。
でもそれは、マイコン+mbed対応の書き込み回路で実現してたはず。
マイコン単体で、マイコン出荷状態で、何の条件もきっけかもなしでUSBストレージとして認識されて
ドラッグ&ドロップでプログラムを書き込めるのってあるのかな?
ニーズとかコストとかセキュリティとか難しそうだけど。 ADコンバータで教えてください。
PIC24FV32KA301でADコンバータを使おうと考えています。
データシートのADの規格の部分を見ると、
お薦めの信号源インピーダンスは、1kΩ(max)と書いてあります。
この意味は、最高速度でサンプルしたときに変換仕様を満足するには、
信号源の出力インピーダンスを1kΩ以下にしてね、という意味だと思います。
んじゃOP AMPでbufferしようか、ということになるのですが、
サンプリングを100msに1回とかの低速で取るなら、AD変換入力端子にコンデンサ(例0.1uF)を付ければ
変換精度は維持されると思うのですが、これは正しいでしょうか?
例えば、信号源抵抗10k x 0.1uF = 1ms, 変換周期=100ms とか、
「信号源抵抗xC << 変換時間」という前提です。 >>585
以下一般論で個人的な見解
> 1kΩ(max):
信号源インピダンスが高くなるとチップ内のCで波形が
鈍って精度が落ちちゃうから、と解釈
> コンデンサ(例0.1uF)を付ければ変換精度は維持される:
チップ内のCで波形が鈍ることだけが「正しい理由」である
なら低い周波数成分の入力信号なら外部にコンデンサを付け
る必要がない。しかしノイズ除去の観点での効果はある。
というわけで、低い周波数なら、何度もAD変換して平均を
とるオーバーサンプリングをコンデンサをなしで試してみて
は?と思った。 >>583
そのPCに繋ぐインターフェースは何?
582が書いているUSBがそういうもの。
ちょっと前にルネサスRX66Tでやってみたよ。
PC側の転送ソフトはソースと解説あるので、メニュー取っ払って即書き込みに改造したよ。 >>586
ありがとうございます。
> 1kΩ(max):
>信号源インピダンスが高くなるとチップ内のCで波形が
>鈍って精度が落ちちゃうから、と解釈
鈍るというか、CRの時定数で充電する期間の変化と言うことですよね。
これが十分短い時間で終了すれば良いと。
>なら低い周波数成分の入力信号なら外部にコンデンサを付け
>る必要がない。
そうですね。信号源の抵抗xサンプリングコンデンサの時間が、変換時間より十分早ければ良いという。
例えばADサンプリングコンデンサが10pF、外部に0.1uFを付けると、
減少する0.1uFの電圧は、
0.01nF/100n=1/10000の減少で済むのかな、と思っています。 >>588
> 鈍るというか、CRの時定数で充電する期間の変化と言うことですよね。
波形が鈍(なま)るという言い方を聞いたことがないのかな?
高周波成分が落ちるという意味だよ。
> 例えばADサンプリングコンデンサが10pF、外部に0.1uFを付けると、
> 減少する0.1uFの電圧は、
> 0.01nF/100n=1/10000の減少で済むのかな、と思っています。
RC と CRC の考え方に混乱を感じるが、まあそんな感じかな。
サンプリングが遅くて良いなら、AD 入力をセットアップしてから
AD GO するまでの待ち時間を長くとるという別案もある、と思う。
色々試して、なるほど、と覚えていくのが良いと思う。 >>580
RaspberryPi Pico がまさにご希望のとおりだよ
PCのUSBポートに挿してファイルをD&Dすればいいだけ。ライタとか一切不要
あとはメーカ出荷時からUSB Bootloaderが書き込まれてるマイコンも少ないながらも
無い事は無い。そういうのはベンダの開発ソフトのインストールは必要だけど
ライタ不要で書き込める
8000円もする糞みたいに高いライタが無いと何も出来ないPICはさすがに時代遅れ ブレーク、ステップなしのprintfデバッグでの開発もいまふうではないと思う。
デバッグ用ハードウェアはどうせ必要だろう。 uartを2つ付いたPICの時、
printf()で送信すると、uart1とuart2の どちらから送信されますか?
自分で1か2を切り替えて送りたいのですが、できますでしょうか?
もしprintfではuart1からしか送れないとしたら、基板アートワークで、
uart1のピンをIOとかに使ってしまったら、printfは使えないと言うことでしょうか。 使用したpicは、24FV 32で、ピン入れ替えができないやつです。 それくらい質問せんでもコンパイルしたら自分で調べれるだろ >>594
まだ買ってないのですが、基板設計をしているんです。
>>594さんはわかるのでしょうか? 普通printf使わんでしょ?
使ってもsprintfで文字列作って出力書くだろうし
ググったらprintfを使う場合は自分でputchを書く必要があり、そこで好きな出力先に出す様にプログラムを書くとかいている様だ
全てのPIC用Cで同じ書き方をするかどうかは知らんから自分で使うコンパイラ調べてくれ >>592
PIC18F46K22の2UARTの場合です。
自動コード作成を使うと各UARTの設定でstdioのチェックがある。
バッファサイズしていもあるし、割り込み送信、受信も独立設定出来るよ。
ルネサスマイコンなんかだと仮想コンソール使えるからUART使わずに済むけどな。 >>596
俺は、標準のprintfから要らない機能削って使ってる。 >>596
ありがとうございます。
>普通printf使わんでしょ?
>使ってもsprintfで文字列作って出力書くだろうし
そうなんですね。でもsprintf()を使ってもたくさんの容量食いますよね?
printf()より、どんなメリットがあるのでしょうか?
>ググったらprintfを使う場合は自分でputchを書く必要があり、そこで好きな出力先に出す様にプログラムを書く
ありがとうございます。ということは、UART1固定でなくUART2でも割り付けられるということですね。
ありがとうございました。
>>597
>自動コード作成を使うと各UARTの設定でstdioのチェックがある。
ありがとうございます。
MCCの段階でUART1, UART2が選択指定できる、ということですね。
安心しました。
件のPICのpin assignを見ると、
UART2はTX,RXが隣同士のピンなんですが、
UART1はほぼ対角にあるピンなんです。パターンが引きにくくて。UART2を使うようにします。
以前H8をやったときは、printf(xxx, "Hello World\r\n"); のように、
その都度出力先が指定できて便利だったんですが、PICでは、それは出来ないみたいですね。
>>598
>俺は、標準のprintfから要らない機能削って使ってる。
ありがとうございます。確かにprintf入れるとグンと増えますよね。
コンパイラも、使っているだけにしてくれればいいんですが。 8ビットPICやAVRごときでCなんか使うな、プログラミング力が停滞するぞ
では東京5輪の年という事で(?) 今周の標語「アセンブラでより速く、より小さく」w 個人的にはprintf類はサイズが大きいので使わない様にしてる
sprintfも使わないが、万一使う場合でも文字列整形で使うだろうから必ずCOMで使わないと思う
sprintfで文字列作って自分でCOMに出力すると仮定した場合の個人的に思っている利点は、機種依存しないsprintfと機種依存する出力部分が分離出来るので作ったプログラムの移植が判り易そうと思っている
好みと言われればそうだろうと答える >>576
16F1778のピン、命令互換な他のPICってなにかないすか?
内蔵プルアップで躓くorz
型番一覧ってあんの? >>600
通信などのプロトコルの構造体定義が多数あるのは、C言語じゃないと悩ましいソースになってしまわないか? >>600
コンパクト、高速よりも
開発期間、保守性、堅牢性、可読性
が求められる時代 PICライターは、RS-232Cの時代で止まってる(笑) >>602
俺は1文字出力関数を関数ポインタにして、切り替え出来る様にしてる。 PCの冷却FANの回転数を測定したいです。
黄色の線のパルス(オープンドレイン)の周波数はどのくらいなのでしょうか?
3000rpm=3000/60=50Hzとかでしょうか? あ、それはファンの回転数だ
PWMは25kHzとある、すまん 3パルスのヒネクレモノがあって、マザーボードで表示できなかったのを思い出したw 皆さん、ありがとうございます。
1〜3パルス/rev と覚えておきます。
ありがたう PICのICSPのPGEC, PGEDのピンは、
書けないと怖いのでI/Oなどに割り当てせずに、専用で放置していました。
でもI/Oが足らなくなって、使いたくなりました。
そこで すでに使っている人にお聞きしたいです。
PICKit3で、PGED, PGECピンに、どのくらいの負荷なら書込できていますか?
・デジタルトランジスタ(0.5mA)くらいなら余裕で行ける。←これは当然と思います。
・LED 1個(5mA)くらいなら余裕で行ける。LEDの点滅でICSPの書込が確認でき便利。
・LED 2個(10mA)くらい楽勝。
・小型のリレー(50mA)くらい行けた。 ←これは言い過ぎですよね。
PICKit4ならもっとたくさん流せる、とかありますかね?
書込中はPICKIt3が占有しますが、実行時はPICKit3はハイインピーダンスになると考えれば良いでしょうか。 番号なんか覚えちゃいないがApplication Noteにその手の回路図載ってなかったか?Dとかで分離しろとか。 書き込む PIC も PICKit3 も基本的には PIC の I/O ピンなのだから PIC から流せる電流、PIC に流し仕込めるせる電流と思っていいんじゃないか >>619です。
質問の説明が悪いです。読み返して思いました。すみません。
以下の条件のとき、どうなのでしょうか?ということでした。
PICKit3を接続します。
・PICにプログラムを書き込みます。このとき書込の障害にならない負荷はどのくらいでしょうか?
・そのままPICKit3を接続したままで、PICを起動させたとき、
PICKit3はハイインピーダンスになって、PICのI/Oの動作の障害になりませんよね?
というものです。
PGED, PGECはPICKit3の内部で、4.7kでGNDと接続されているようで、
1mAくらいの負荷になっていることはわかりました。 >>622
> 書込の障害にならない負荷
PIC から流せる電流、PIC に流し仕込めるせる電流と回答済
> PICのI/Oの動作の障害になりませんよね?
デジタル的には動作の障害にならないと考えて良いが、実行時 AD 入力にして使う場合はアナログ的に完全に切れた状態のハイインピーダンスにはならないね(経験則)。
そういう使い方をする場合は実行時 PICKit を抜いて動作させるしかない。 私の場合は 8bin PIC 使いだから、はなから PICKit 専用ピンなんてあり得んです >PICKit を抜いて動作させるしかない。
これが回答?
なるほどねw みなさん、ありがとうございました。
・今の自分と同じで放置
・当然使ってる
・コネクタを抜いて動作させる
ですね。
自信持って使ってみたいと思います。
ありがとうございました。 >>628
条件文から条件外して解釈するとはねえ、、
IOの多いPICに逃げるだけあって頭悪そうだ どの方法が「頭いい」かは人それぞれ
少なくとも他人を「頭悪い」呼ばわりするような品性だけは避けたいものだ >IOの多いPICに逃げる
根性論にも似た安っぽい価値観w
もう一生直らないんだろうねえ、かわいそう >私の場合は 8bin PIC 使いだから
察してやれよ、「8bin PIC 使い」なんだとさw I/Oの多い上位PICで十分デバッグして、8ピンでクローズすれば良い。
普通、そうやるんじゃね。 >>631
叱咤のコメントありがとう
step 1 :>>624 多 IO に逃げるか?
step 2 :>>626 ID 見れば回答済が分かるだろう?
step 3 >> 628 故意に条件外して嫌味か?
と度重なったので品性踏み外しました >>632
「逃げる」は笑うよねえ、お前は何と戦ってんだって話
案の定、耐性が低く、すぐキレて罵詈雑言>>ID:DfnD7PFa 少ピン使いはスポーツだしね。
その制約を尊ぶ人が、その制約外の人をdisったらダメでしょ。 PIC10F322なんて正にそれ
実質6本やからな >>640
初心者向きじゃないな
しかもハンダつらいし
ブレッドボードには変換して挿さないと…(;´д`)
プロ用っすね PIC10F322はDIP 8ピンもあるよね。>>641 確か普通にaitendoに米粒PICと変換基板をセットで売ってた気がするけど、ピンヘッダ付けるとDIPになる奴 楽にマイコンを使いたいだけなら、8ピンを選ぶ理由も薄くなるのがわからんのだろう。 >>640
実質というか本来6ピンパッケージですし 別にピンが足りれば良いんじゃね?
センサ(電圧)をシリアル変換するなんてちょうど良いんだが? 工作を楽しようとすれば、秋月のPIC18F46K22基板がICB-93と同じ寸法で、シリアル2chあるので、古い機器の通信を最近のに合わせるプロトコルコンバーターとか出来て便利だよ。
勿体無いくらいの機能なPICだけど基板込みで 1100円は安い。 工場は色んな制御機器の集合体だよ。
PLC相手のためかRS485が結構あるね。 8ピンDIPだと内容シール貼るのが大変です。
昨今のラノベみたいな長タイトルは貼れません。
ポスカで色マークする場合も単色で1pinあたりに丸ポチのみ。
2点以上のポチ印をすると、わざわざ逆差しする方が発生する。 逆に8ピンだと単一機能だろうから超短い名称で良くね?
例えばK13とかK系の13番とか? >>651
デカい、高い、チープ、今時miniUSB >>658
だから、パソコンと通信しない制御系の話でしょ? すいません、質問なのですが。当方初心者で、lチカとスイッチon/offによるLEDのon/offまでは出来ました。次の段階としてスイッチを1秒長押しすることによってLEDをon/offさせたいのですがどのようなコードを書けば良いか教えて頂きたいです。 1秒スイッチ割り込みがダサいのなら割り込みはコンテクストスイッチャーに
専念さしてLEDの制御はイベントタスキングの形でハンドラーだけ登録さして
コンテクストスイッチャーが登録されてるイベントハンドラーをコール呼び出しして
順次タスクを実行させると言うのはどうかな >>661
押した-->ON というコードを
押した-->一秒間押し続けた-->ON というコードにする。
考えてここにコード貼ってみ。
http://codepad.org/ >>661
スイッチがONなら変数を1増やす
スイッチがOFFなら変数を0にする
変数がある値以下ならLEDをOFFにする
変数がある値以上ならLEDをONにする
まあそんな感じだ みなさんありがとうございます。ちょっとやってみます! 技適の問題があるから、技適マークの付いたモジュールが必要です おまいら冷たいんだなあ
Lチカ以外は守備範囲外か?
USB HOST機能のあるPICとUSB Bluetoothドングルを使え >USB HOST機能のあるPICとUSB Bluetoothドングルを使え
それなら、売り物にする場合でもBluetoothのライセンス費用も回避できるかな。 >>677
面倒くせえもなにも
ここはPICのスレなんだけど ESP32つかえ、は、ESP32の中のプログラムを書き換えるのが前提じゃなくて
ESP32を単にBTモジュールとして使うだけだ、とかなんとか。
PICからシリアル接続でESP32を使う人がどれぐらいいるかは知らんけど。
まあESP32もArduinoライブラリで使ってたら、配布物や売り物にするときは
ライセンスの注意が必要かも。 売るとかじゃなくて
アマチュア無線のモールス電鍵を無線化したくなって聞いてみたw マイコン工作にPICは必須なんだろうか。
PICが必須でなく、ほかのマイコンでこなしうることだったら、このスレに書いてはいけないんだろうか。
「このスレに書いてはいけない、なんて誰も書いていない、聞いただけだ」と言うのだろうか。
どうなん>>685 スレの保持のために定期的に架空の質問をするヤツがいる
情報を小出しにして辻褄が会わなくなると逃げる
今回は特にこのスレに質問する必然性が無いので
また架空質問かと 架空の質問でつじつまが合わなくなって逃げたのか、
もともと自分にもよくわからないことを尋ねて、追って聞かれれてよくわからず答えるから矛盾が出てくるのかわかるまい。
つじつまが合わないことは、質問者には珍しくもなんともない。矛盾を責め立てたり、悪意のある質問だとレッテルを貼る人もいるから逃げる人も出てくる。
10の質問の中に9の悪意のある質問があったとしても、1の質問が、本当にわからず迷走している場合もある。
たったの90%なり99%の悪意の確率で、残りのものを切り捨てるのはどうかと思う。 >>679
PICのスレにPICでやるよりESP32でやる方がいいという提案を書くのはごく普通のこと
ESPのスレに書けってこと?PICとの比較なんだけど?
料簡の狭いPIC使いはPIC使いの名折れだわ、黙っててほしい。 そして上級者?同士のケンカが始まって質問者が出て来れなくなるまでがお決まりのパターン >>689
>PICのスレにPICでやるよりESP32でやる方がいいという提案を書くのはごく普通のこと
Bluetooth接続機器をPIC+BTモジュールではなく、ESP32でやるほうがいいかどうかは
用途や考え方次第で一つの答えにはならないと思う。
(処理速度なり部品のコストですべてが決まるなら、世の中のBTモジュールのほとんどが
ESP32に置き換えられていそう。でもそうはなっていない。すべての俺にわからなくても、
理由があると考えるのが自然)
提案するのはいいけど、初めてのPICスレで、ほかのマイコンの話題をくだくだやろうとするのは
いやがらせをしていることに無自覚な人にとってはごく普通であっても、
いやがらせをしていることに自覚的な人にとってはごく普通ではない。
フランス料理のお店で、鴨肉には山葵醤油が一番美味い、って提案するのはデリカシーを欠く行為だよね。
提案したらあとは比較スレに誘導するかESP32スレに来たらいろいろ提案できるよ、って言って引き上げ
るのが良いのでは?
AVR、ARMでも同じ。ここはPICの話題がメインだよ。 >>688
このスレははじめてか?
過去スレを見ればわかるよ >>691
長えなあw
選択権は完全に質問者側にあり、かつ、提案に何の強制力もない
それを踏まえてあんたは何が言いたい?もっと簡潔に頼むわ >>691
>くだくだやろうとする
どのあたりでそれやられてるの?具体的にスレ番書いて
仮定の話なら「くだくだ」になるからやめな
>フランス料理のお店で
はあ?その店はシェフが客にソースについて質問する店なのか?
例えが恣意的に過ぎる >>694
簡潔にまとめられない馬鹿が文の長さで知れる
読んでみたが、薄っぺらで取るに足らない内容
フランス料理の例えときたら陳腐で噴飯ものw マイコン工作にPICが必要なのではなく、後閑さんの本や作例サイトを見てよく理解しないまま製作に着手しちゃう初心者が増えたからでは
Arduinoでやれば良いだけなのかも 後閑さんとこやPICの作例に当たるより前にArduino作例に当たるよね
ていうか、俺の場合はESP8266に当たる方が多い
だからここもすっかり過疎って排他主義者が見回りしてるだけのスレになった MPLAB IDE や xc8 等が2月にバージョンアップしてたのね。
知らずに1つ古いの使ってた。
proドングル、欲しいが高いな。 開発環境ならPSoCはサービス良くて好きだったけどねー。Arduinoなんてショボくてしょうがないって感じるくらい。
それでも、昔昔にデータシートを見ながら手書きのソースをハンドアセンブルしてバイナリをユニバーサルプログラマで書き込んだ時を思えば天国だけどね。 PSoCはずっとあるけれども初心者向きではないな
面白いデバイスだけども設計が必要だしLチカしかしない大半の電子工作者には機能過剰だな 大半の電子工作者がLチカ?
そんなわけないだろ
このスレ限定だとそうなのかもしれんが 使った当人の認識がよくわかるね。「大半」という言葉は。 >>703
目的が出来るまでは色々なプログラムを実行した結果、LEDを光らせてる人は多い気はするな PSoCの場合もLED点滅くらいならいきなりプログラムだけでいけるけどね。
タイマー配置して、GUIで初期設定して、ソフトはStart()呼ぶだけで、その後CPUは何もしないっていうやり方のほうが「らしい」んだろうけど。
スレチなのでこの辺までにしておこ。 >大半の電子工作者がLチカ
Lチカは初心者向きだが奥が深いぞ
Cだけのプログラマ(つまり3流プログラマ)には実現できないようなLチカもある ジャーン、またの名を「リエントラント君」ともいうw
口先ばかりで言い訳上手な3流プログラマのレスには飽きた
誰でもいいから、いいかげん模型自動車用LチカのプログラムをPICで書いてくれよ
プログラムROM2KB、SRAM128BのAVRでアッという間に(数時間で)書けるんだぞ
仕様を書いておく https://pastebin.com/hZ4EiF7m
では失礼します >>710
PICで書いたらこのスレに2度とあらわれない? エフェクターの複数制御用にリレー制御用に点灯切り替えと同時点灯をPICで作ったけど、面倒だから基板試作で終わったわ 面倒でもその面倒を克服するともっとすごい面倒から解放されると思わないと最初の面倒が克服されないで終わっちゃうよね。
#自分で読み直しても面倒な日本語だと思った。 LEDを1列に複数個並べて振り子のように振動させて時刻をダイナミック表示する、なんてのは難しいLチカか? 車のホイールキャップの裏に仕込んで、
車が走っている時にホイールに文字や絵が浮かぶとかね。
カー用品系はかなり強気の値付けをしても売れるみたいだからやってみたら? (簡単なLピカ)
LEDをピカピカさせて、それをスマホのカメラで受けてデータ通信
(難しいLピカ)
簡単なLピカの応用で、LEDを4x4とか8x8のマトリクス上に配置してそれをスマホの
カメラで受けてデータ通信を高速化 >>718
回転なら簡単だが、振り子(往復運動)だと、何かしらのセンサー必要だな。 昔なら水銀スイッチ使う手もあったかな。
Gセンサも安くなったけどね。 >>710
PIC16F18346で試してみた
250kHzくらいで8個のLEDのON/OFFが出来る
これでCPU占有が100%近くになる
64階調だと4kHzくらい
32MHzのPIC16は実質8MHzだし
無料の標準コンパイラだから最適化もいまいち
だからまあこんなもんかな
100Hzくらいでも問題ないので
これだとCPU占有率2.5%ってところ
64周期で8LEDそれぞれ任意パターンで駆動出来るので
暗い所を使わなければさらに落とせる
PWM以外の処理(占有率)はほぼゼロ
考えなくて良い >>725
ステッピングモータという物もあるという突っ込みを待ってますか? >>728
LEDを1列に並べた棒をステッピングモーターで回す?
センス無いね >>729
「センス」の定義とそれにのっとった「センス」のいい方法、お待ちしています。 >>727
> PWM以外の処理(占有率)はほぼゼロ
> 考えなくて良い
各スイッチのチャタリング除去やゲームの進行処理は? ウインカー、ハザード、数あてゲームは作ってない
キーやUARTでON/OFFや調光8段階は作った
チャタ取り期間は40ms
UARTは115.2kHz、キューサイズは送受信それぞれ64バイト
調光8段階の比率は1:2:3:6:11:20:35:64
(大まかに等比数列)
この辺はコード上の数字を変えれば変わる UARTで数字を大量に送り続けで攻撃した場合には
CPU占有率はもちろん上がる
手打ちやキーリピート位では何の問題もない
64バイト以内なら一気に送られた場合でも取りこぼしはない 部分、部分を作って「動いた」じゃしょうがない
一つにまとめて仕様通りに動作するリストを発表してくれ
呪縛や絶望から解放されたい、期待している CPUを2.5%しか使わない軽い処理
という事が示せたから
私の役目は終わり MPLAB X で悩んでいます。ご存じの方、教えてください。
1
MCCの中で、各種の設定をしますが、IOピンの表(?)が表示できません。
何か設定がありますでしょうか?
その表とは、横方向にピン、縦方向にI O OSC などのある表で、
該当するセルをクリックすることで、鍵のマークが付いたり消せたりでき、
いろいろな設定を決める表です。
今回MPLAB X を起動時に、何かのバージョンアップがあり、それを実行したため
あの表はなくなってしまったのかとも考えていますが。
2
関数の場所に行きたいのですが、方法がわかりません。
下の画像はMCCで作成したmain()関数です。↓
https://imgur.com/lhXEDHK.jpg
例えば、この画像の中で青く選択した、SYSTEM_Initialize() の中身を見てみようと思うのですが
どこに書かれているか、とりあえずわかりません。
そこで、図のように選択した状態で、検索窓を表示させて検索すると、
プロジェクト内の全てのファイルを検索して、それを含むファイルがフルパスで表示され、
それをダブルクリックすると、そこに飛んでいける、
ということがしたいのですが、どのようにしたら良いでしょうか? >>736
素直に、「2.5%の軽い処理」なのに私には作れませんって書けば? 3流プログラマさんw
終わった人に何を言ってもしょうがないか、ホントに期待してたのに・・・・ >>737
1つめ
Window > MPLAB Code Congigurator > Show All ×Congigurator
○Configurator >>737
2つめ
Projects > Sourcefiles > MCC Generated Files > system.c >>737
2つめ
検索でSYSTEM_Initialize()をも探してもいいね
Edit > Find in Projects >>739
ありがとうございます。
1つめ Show Allが灰色でインアクティブで触れないです。
何か設定があるかもしれませんね。
2つめ Edit > Find in Projects したのですが、main.cにあるよ、
とは言うのですが、system.cにもあることは言わないです。
main.cのxx行目にあり
system.cのxx行目にもあるよ
と教えてくれないかな、と思うのです。
プロジェクト内の変数やコメントなど、
とにかく文字列を、指定した拡張子ファイルの中から
検索してくれないかな、と思います。 >>743
1つめ
MCCが起動してないからでは?
2つめ
SYSTEM_Initialize(
で探し直してみて >>743
>指定した拡張子ファイルの中から
それはFind in Projectsにオプションがあるでしょ
少しは自分でも確認してからレスして >>774,775
ありがとうございました。SYSTEM_Initializeで検索できました。
ありがとうございました >>710
PIC16F18857でLEDを24個にしてみた
100Hz 64階調でCPU負荷4.8%くらい
負荷部ほぼそのままでマトリクス駆動も可 >>738
残りは何の技術的懸念もないし
ゲームもつまらなすぎる
じゃあ曖昧性のない仕様を書いたら作るよ
100人のエンジニアリングが見たら100人とも(性能以外)同じ動作になるような記述で
こんなに曖昧な仕様だと仕様確認が一番時間がかかるので xc8 pro のドングリを個人で買った人いますか?
16でも32でも良いけど。
どんな使い方する人が買うのか気になってます。 PICと8bitDIPスイッチを使って周波数変化できる発振器で矩形波をピンから出したいです。
DIPスイッチ100→100Hz
DIPスイッチ50→50Hz
DIPスイッチ10→10Hz のような感じです。
delay()で待って変数を1引いていき、
DIPスイッチの数値より減ったら変数=0と出力反転すればできそうな気がしますが、
数字が大きい255→254の変化のときは周波数は細かい変化すると思いますが、
数字が小さい5→4の変化のときは周波数が激しく変化するように思います。
そんなことはないでしょうか?
高級なPICだと数値を書き込めば周波数を出力してくれるモジュールがあって簡単
ということはないでしょうか。
よろしくおねがいいたします 10Hzでは1周期が100ms 矩形幅は50ms
11Hzでは矩形幅は45.45ms
100Hzでは5ms
101Hzでは4.95ms
4msにすると125Hzになり1ms単位で変えるということは25Hzも変わるということを示す delay()を使ってやるなら毎回矩形幅で反転させるんじゃなくて
ある程度の時間を累積させて、その数値で反転させる
だから101Hzさせたいときは、5msのまま19回
20回目は100msになるが、101Hzは99msが20回目だから99msになったら反転しちゃう
20回に1回、5msを4msにしてやると101Hzになる >>750
NCOという機能があります。
ただし、ジッタという問題があって、1周期1周期が違う時間になって、
全体として見てみれば指定した周波数になるものです。
その代わり、指定した数値に比例した、わりと自由な周波数設定が可能です。
高級なPICということでもなく、秋月で100円のPICにも載ってるよ。 皆さんありがとうございます。
やはり三角波、数値比較と言うやり方だと一定の変化にならないんですね。
NCOというのは、PIC内蔵モジュールでしょうか。
タイマー割り込みを使ってもダメでしょうか。 まずは、具体的にどうしたいのか、どうなって欲しいのかを書いてみたら? >>750です。
みなさんありがとうございます。
教えていただいたNCOを調べたら期待通りの機能であることがわかりました。
やりたいことは、DIPSWの数字と同じ周波数の矩形波を作り出したいです。
0000_0001のとき1.000Hzで0001_0000のとき16.000Hzで1111_1111のとき
255.000Hzの周波数が出したいです。
無事解決できそうで、みんな喜んでいます。ありがとうございました。 MCCでタイマー割り込みを作成したとき、
ユーザー処理を書き込む場所にできる、tickerとは、何でしょうか?
消してしまってはいけないのでしょうか?
以下のところです。
//***User Area Begin
// ticker function call;
// ticker is 1 -> Callback function gets called everytime this ISR executes
if(TMR1_InterruptHandler) {
TMR1_InterruptHandler();
}
//***User Area End tickerはわからんけど、
その関数内に直接ソースを書くと、
次回のMCCで上書きされて、消えてしまわないか? >>761
Callback functionを使う際のカウンターだと思う。
>消してしまってはいけないのでしょうか?
そもそもticker云々の行はコメント・アウトされてるけど?
Callbackを10回とかにしてGenerateしなおして比べればわかるかも。 >>764
ありがとうございます。
やっとタイマ1が動いたので、書いときます。あとの人の参考になれば。
まず、MCCでタイマー割り込みで生成。
タイマ割込み処理で行いいたことを関数(My_ISR()とか)にします。
そして、MCCの吐いた関数TMR1_SetInterruptHandler(My_ISR);を実行します。
そのあとに、Timer初期化の含まれるMCCの吐いた関数SYSTEM_Initialize();を実行します。
すると、割り込みごとに、My_ISR()に飛んできて実行されました。
直接、MCCの吐いた関数 void __attribute__ ( ( interrupt, no_auto_psv ) ) _T1Interrupt ( )
の中にやりたい処理を書いても実行されます。
再度MCCをかけても、その中に書いたコードは消えませんでした。
同時に生成される、
void __attribute__ ((weak)) TMR1_CallBack(void){
// Add your custom callback code here
}
という関数があり、上記のTMR1_SetInterruptHandler(My_ISR);を実行しなくても
この関数は実行されました。
この中に特定pinを↑↓の処理を書けば、オシロで割り込み周期が確認できます。
tickerの数値は、#defineで1に定義されていましたが、10にしても
変化無く毎回割り込みが実行されました。
自分で書けば10行程度で済むのですが、MCC様のお考えを理解するのに、
1日掛かりました。MCCは便利ですが好きになれないです。 MPLAB X の基本的なことで教えてください。
テキストエディター画面で、
・uint16_t とか、false とか TMR1 が青色で表示されるのですが、
どの設定を触れば黒色に鳴りますでしょうか。
・カーソルのある行全体が背景が空色で表示されてしまいます。
色なしにするには、どこを触れば良いでしょうか。
・Outputウインドウに出るWarningやErrorの行が青色の文字で表示されるのですが、
赤色とかに変えるには、どこを触れば良いでしょうか。
option Editpr Color をいろいろ触りましたが、
それぞれの英語名称がわからないので、闇雲に触ってるだけで、
変えられませんでした。
宜しくお願いします。 すみません、色の件は直りました。
アプリ再起動したら反映されていました。
ありがとうございます。 MPLAB X IDEをやっているのですが、MCCで生成してもらった関数を、
main()で使用すると、コンパイルで、implicit... 暗黙の宣言のwarningが7個くらい出ますが、
コンパイル通って、書き込んで動作もします。
MCCが作った関数をmain()で使用しただけなのに、
宣言が出来ていないというのは、私のやり方がいけないのでしょうか?
MCCがちゃんとやってくれればいいと思うんですが。 >>768
知らんけどヘッダのインクルードは必要とかかい? >>768
変数名含めその1つを全文載せてくれんと、是非を判断出来んよ。
エラーでなく動くなら、たぶん問題ないけど。 intを返す関数ならほっといていい。結果同じだから。
そうでないなら… ちゃんと宣言を見つけてやれよ。 自分のバカはどうでもいいけど、
他人のバカは許せない >>772
やらないから、そういうwarningが出るんでしょ? キツいこと言うようだが、
MCCだろうが他所のコード生成ツールだろうが、
手間は0にはならん。
生成されたコードを読み取って自分の応用で
足す不分、引く部分の吟味が必要。
そんなんやってらんねーよ 全部自分で書く、なら それもよし。 少なくとも、あの長たらしいコメントはカットできないのかな。
「うるさいわ!」という感じ。
MCCは、宣言も含めて、全部面倒見るべき。 >>781
べきだのなんだ言ったって知らんがな。
文句があるならマイクロチップ本社にでも言うか、自分で作れ。
そういや、PSoC Designerは早くからやっていたこともあって全デバイス対応で、わりとサービス良いけどね。 なんかアップデートしたらMMCのピンマネどっか行っちゃった(;´Д`) MCC ver2をダウンロードすればいいんじゃない? mplab5.50入れたら使えるようになったわ
お知らせくらいしておくれよ〜 Build Main Projectするたびに、フォーマットを自動で修正してほしいのですが、Optionを探してもメニューが見当たりません。
過去はできていましたが、どこで設定したか覚えていないです。
ちなみにMPLABは5.45、XC8は2.32です。 MCCで、左窓の Generate ボタンが、いつの間にか消えてしまって、ほかのメニューが出ています。
仕方がないので、毎回 MCC ボタンを押して Generate を呼んでいます。
何をしたら Generate ボタンを再表示できるのでしょうか? ありがとうございました。
すみません、もうひとつ教えてください。
MPLABの、Run projectボタン(緑色の右矢印)のショートカットは、何でしょうか。
探したけど、見つけられません。 MCCを実行しようとしたMCCボタンを押したらContent Managerとういうタブが出てきて一向に起動しません。
対策とかありますでしょうか?
mplab x ide v5.50
mcc v5.0.0
xc8コンパイラ v1.45 v2.29 v2.32 3つ試してみましたがどれもMCCは起動できませんでした。 >>797
pic16f18857を使用しています。 >>797
私も詳しくないのですが、
MCCは、ダウンロードして追加する機能のようです。
MPLAB X の、TOOLタブの中の、plugins というところを選ぶと、
「(まだダウンロードしてないけど)これだけいろんな機能を用意してますよ」
みたいな画面が出るので、その中の MCC をチェックして、Install ボタンを押すと
自動的にダウンロードしてInstallしてくれるみたいです。 MPLAB X Ver5.50 , PICKit3, PIC24FV32KA301 でプログラムしています。
なんとか動くようになってきたので、
PICKit3を外してPICだけで動かそうとしたのですが、電源ON しても何も起こりません。
これまでRAMで動かしていて、ROMに焼かれていないのでしょうか。
知っている人がいましたら、教えてください。よろしくおねがいします。 >>801
ありがとうございました。動きました。
UARTピンのコネクタを抜いて電源を入れたら、ちゃんと動きました。
原因は、UARTから来ているプルアップの5Vで、
PIC基板の電源5Vが下がらず、RESETが出来ていないようでした。
・UARTコネクタ接続+基板電源off=2.1101V
・UARTコネクタ抜き+基板電源off=0.0008V
大事な事に気づかせてくれて、ありがとうございました。
感謝いたします。
問題は、UARTコネクタを刺したまま起動するにはどうしたら良いかです。
/MCLRは外に出していないし、5V-GND間に抵抗入れるのも無駄な消費です。
TXD, RXDの線に直列に抵抗を入れてみたいと思います。
5V電源線を、3Vまでは消費電流を多くし、4V以上は消費ゼロにできるといいですね。
どうもありがとうございました。 mcc壊れた!
消したり入れ直してもだめかよショボーン >>808
レジストリを探して消してみるとか、隠しディレクトリがないか探してみるとか
とりあえずアンインストールした後の残骸探しかな? バージョンも書かないOSも書かないで
>だめかよショボーン
この国はいつからこんなのばっかりになった?w 12f1822で新しいプロジェクトを作ってMCCのアイコンをクリックしたら
MCC Content Manager Wizard
The selected device is not supported by any of the content types
MCC Classic
MCC Melody
MPLAB Harmony
バージョンアップで切り捨てられたのか >>811
情報を出さないで嘆くのは完全な独り言
ちらしの裏にでも書いてろ
情報を出せばもしかしたら有意義な事もあるかも OSはwin10
インストールされたMCCのバージョンは5.0.0
MCCwebsiteでは最新は4.2.1ということになっている
5.0をアンインストールしてダウンロードしてきた4.2.1を手動インストールしても
起動時に自動的にアップデートされるのでお手上げ PIC16F18313かPIC16F15214を使えってことだ >>814
PICの型番を変えてもだめでしょうか?
僕も今週それが出て何ともならなかったので、
怖くなって別のPCの古いMPLAB+MCCでやった。
起動時の「updateせーよ」の窓は、×で閉じてる。
このところのMCCはおかしい。 仕事で使ってるわけじゃないから変更するのに躊躇しないけど
手持ちのPICが使えなくなるのはつらいし
秋月の商品より高くつく送料は面白くないし
>>816
レスもらったPIC16F18313で試しても同じでした
旧バージョンをインストールして再起動する時に
「他のソフトもインストールするよ。これはMCCに必要なものだから」というようなメッセージが出て
インストールしないとMCCが無効になりました
仕方なくメッセージどおりにインストールすると>>814でした >>818
そういう問題じゃないでしょ
静かにしていてください 18313が非対応なんてことがあるわけない
と思ってやってみたら普通にできた 古いのを新規で作ることなんか普通はないから
いいんじゃない?切っちゃって 5.50 5.0.0 は現状最新のバージョン番号じゃんw レスしていただいた方ありがとうございます
12f18313でもう一度やってみたけど結果はおなじでした
他の人ができるということはおま環でお騒がせしただけなのかもしれません
もしかしたら画面の下の方のnotificationsにあるライブラリーをインストールすればいいのかなと思ったのですが
時間のある時に試してみます
>>822
4.2.1をインストールしネットを切断してから再起動して
these pluguins have installed dependency updateというメッセージが出たときに
update and restartを選択すると
旧パージョンが使えるようになりました
18313も1822も >>826 途中で送信してしまったので続き
18313も1822もMCCの画面に入れます >>826
ああ、私と同じことやってみてますねw
で、不思議なことにMCCのバージョンは5.0.0になってる
5.0.0には1822情報が含まれないけど、古いバージョンに入ってた1822情報は残されるってことかな >>828
確認してみたらMCC4.2.1のままでした
(起動を確認しただけなのでその先まで進めるかどうかわかりません)
5.0.0.で最新の18313がいきなり対象外になるというのも変な話なので
自分の設定が他の所で間違えているのかなあと思ったりします
5.00にアップしても古いのはそのまま使えるというのならそれが一番いいですね
自分はアップデートされないようにこのまま使い続けます
問題解決できるような技量がないので 手持ちの1822を使えば18313を新たに買うより安いだろ、馬鹿なのか? >>829
そういう人、多いと思う。
僕も変なことしないで、
触らないようにしながらやってる。 変更するのに躊躇しないと言いつつ
結局ゴミみたいな金額が気になって変更しない
矛盾 やっとピンマネジャーまで出るようになったw
疲れた(;´Д`) >>835
MPLAB 5.45
mcc 2.0.1
xc8 1.36(16f1778使うんで >>836
違う組み合わせだとダメだったということ? >>837
他のXC8バージョン変えたり試し中
ちょっとなんか変だが何が変なのかわかんないw PIC12F675のOSCCALがリセットされてしまいました。タイマーが2割ほど早く回る感じです。書き換える方法を優しく解説しているサイトがなく困っています。PICKit3を使っています。教えて下さい。 >>839
>書き換える方法を優しく
>PICKit3を使っています
何か矛盾してる。
PICKit3は何に使ってんだ? PIC12F675のプログラム領域の最後の箇所がOSCCALでクロックの周波数補正データなんですけど、それを操作するやり方がわからないです。リセットされてしまってクロックが早すぎます。 pickit programmerでtools→osccal辺り >>843
この手のPICは、リセット解除後に 最後尾から実行される。
最後尾に補正値をWレジスタにロードする命令が書かれてる。
実行後に先頭に戻るから、今度はWレジスタの値をOSCCALに書き込めば良い。(何もしなくても、スタートアップルーチンで処理される筈)
普通は書き込み時に、補正値保存されるが、消してしまったら、調整し直すしかない。 消しちゃったのね。
MPLABXだと
Project Properties - XC8 Linker - Runtime - Calibrate osc...にチェック入れて
その下へ中心値の0x3480でも入れとけば、そこそこの速度にならんか? 皆様ありがとうございます。846, 847さんの方法で書き込めますね!素晴らしい!
なお新しい12F675のOSCCALはどのような方法で知ることができますか?これも調べてもわからないんです。。 pickit programmerは調べて無いのかよー
自動で最適値が入るはずだぞ 「pickit programmer」とは一体何でしょうか??ちなみに私はPICKit3を使ってます。 検索したら見つけられました。PICKit3 programmer application v3.10ですね。ブラウザが拒否しましたがダウンロードできました。ありがとうございました! >>850
>自動で最適値が入るはずだぞ
それはいいね、どういう仕組みで最適値を見つけてくれるの? >>316
Baselineなら、逆にアセンブラ 一択だと思うが。 データシートの和訳をいそいそとコピペしたり
3か月も前のレスにドヤ顔で反応したり
おかしなのがいるなw >>853
メーカーが初期値を入れる為の方法があり、その方法を利用するだろう
パソコンのクロックと比較すれば値を計算できるだろう
但し、PICの温度により値が変わるからメーカーで温度管理された状態で設定された値より誤差はあるだろうと書かれていたと思う >>856
それがpickit programmerに機能として備わっているなら大変興味深いです。
ソースにリンク張っていただけませんか? >>857
読んでPICに書き込んだのがたぶん10年以上前なので何を参考にしたのか覚えてません
ご了承下さい >>858
たぶんあなたの勘違いだと思います
私が探した限りではそのような情報は全く出てきません
逆に回路にいろいろ工夫して最適値を割り出す工夫はいくつも出てきます
あなたの言う機能があるなら誰もそんな苦労はしません
初心者スレで古い記憶に頼った回答を未確認のまま書くのは迷惑です >>ID:rt1Sfja8とその後の単発ID>>856,858
サポートの切れた古いユーティリティーを持ち出してあいまいな記憶で嘘を教える迷惑な奴
PICスレはこういう老害の切り分けが初心者にとって最大の負担
ここに限らずいまだに更新してない古い記事ばかりなのはPIC全般に言えることで
だからArduinoに負けて鼻にもひっかけてもらえなくなってるんだけどねえ _φ(・_・
mplab540
mcc3.95.0 >>863
昔のことで覚えてない
こんなのは免罪符にはならんのだわ、嘘つき老害
わかったら、お前は二度と書き込むな >>864
昔見たページとは違うと思うが下記のページ辺りはどうよ?
当時、たぶんこれをやったはず
https://www.ne.jp/asahi/air/variable/picmel/other_info/index.htm
OSCCAL値の工場設定値を消してしまったら・・・・・
OSCCALの工場設定値はPickit2があれば、メニューのTools ->OSCCAL -> Regenerateで簡単に再設定する事が可能です。
http://greenasgrass.web.fc2.com/pic.html
※picの書き込みについて(備忘録)
書き込みは完了するけど実際の回路では動かないという時はpickit2 Programmerで確認してみるとOSCCALが赤字で0000となっていることがしばしば。(プログラムに矛盾や設定に誤りがあるなどの欠陥がある場合に見られる)メニューのtools→OSCCAL→Auto Regenerateでキャリブレーションデータを書き込めば復活(工場出荷時の状態)。 >>865
Regenerateとやらで最適値を割り出して書き込んでくれるわけ?
上の方で、それならすごいねとソースを求められてるんだよ、あんたは
ソース出しなよ
そもそも質問者はPICKit3しか持ってないわけだけど、それ理解してる?
あんた、もういいから黙ってなよ カネ払ってコンサル受けてる訳でも無いのにその剣幕で怒るとは凄いね。 金取ってなければ未確認の嘘情報をしたり顔で吹聴してもいいと思える品性が凄いね。 >そもそも質問者はPICKit3しか持ってないわけだけど
に配慮してるから PICKit3 programmer application がでてきたんじゃなかったか。
不確かな情報を集成して確かな情報にしていくのも、掲示板という集団 の機能のひとつなんだし、
個々の情報の段階で完全なものでないなら出すな、未検証の情報は嘘と同じ、は、おかしいのでは。
関心を持った人が調べるきっかけになればいいじゃないか。 >>868
故意にミスリードした訳でも無いのに、嘘をしたり顔で吹聴と罵倒する品性がどうにも。
つか、突如として同じ文体の単発IDが湧いてきて罵詈雑言を繰り返す。この板では幾度となく見かけるね。どうしてだろう。 >突如として同じ文体の単発IDが湧いてきて罵詈雑言
同一IDで書き込んだら、自分のそれまでのいい加減発言を指摘されると困る
とか
なんとなく多数が同じ意見を持ってるように見せかけられる、
とか
ですかね。
掲示板の多数派なんてたいした意味ないんですがね。 最適値を割り出して書き込んでくれるツールが有るのか無いのかだけ知りたいなあ 測定は簡単だから自力でやれば?
数があると大変だけど >>873
上で出ているようなツールは無いってことでしょうか? ID:fhQd7yqk
金取ってないからいい
故意でないからいい
どういう品性だろう、この人、迷惑だなあ >>874
無い
年寄りの思い込みと言い逃れに惑わされてちゃダメ
返答を見て察しないと 10年以上前なので何を参考にしたのか覚えてません
ご了承下さい
そうか、悪かったね
カネ払ってコンサル受けてる訳でも無いのに
故意にミスリードした訳でも無いのに
PICユーザーの現実 まあなあ、若い人はArduino系へ行って年寄りばかりだから仕方ないね
だいたいいまどき何でPIC12F675なのかすら俺には理解できない >>878
ひらきなおるその態度が気に入らないのよ 16F84Aがいっぱいあって捨てられない(`;ω;´) >>881
そんなゴミいつまでも大事にしてないでさっさとすてろよ
いらないビニール袋とかも大事に大事にとっておくタイプだろ >>883
秋月のチャック袋捨てないねw
2SC1815 1S1588
1N60捨てられないぞ(`;ω;´)
さすがにケミコンは諦めた(`;ω;´) >>881
入門用ですといってヤフオクで売り捌け
でもさすがにもう後関本を買って始める人もいないか >>889
まだアセンブラ本もあるけど
microchip社の動作保証はない
CもXC8本は少ないしなんかパッとしないpic
子供の教育用はAruduinoやラズパイでちょっともったいない気もw >>887
そういや、6502って秋月で買えるんだな >>879
PICは名前が覚えにくいから流行らない 他人のやる事が気になって気になって仕方ない
そのくせ、自分の価値観と違う物を見つけたら、
その価値観を理解しようとはしないで、ディスってニヤニヤ
ジジイだけかと思ったら、若いのも同じなんかな
あれだ、根本にあるのはノーベル賞とった爺さんが
アメリカ行った理由とおんなじなんやろな >>894
何に対して吠えてるのかアンカー無いからわからんけども
真鍋さんは縦割り行政で官僚がてめえの手柄しか考えないのに辟易したかららしいね >>891
ほぅ確かに売ってるね
ただ、単なるCPUをマイコンってタイトル付けたり、アドレスバス16bitとデータバス8bitなのにGPIOが24と書いてあったり、笑ってしまった >縦割り行政で官僚がてめえの手柄しか考えないのに辟易した
PTAとか自治会とか隣組とか消防団とか業界団体とか組合とか、行政から近所まで、
縦割り、押しつけ、手柄、協調への圧力、前例主義、いろいろ相似形をなしているしね。
いくらかはニッポンの地域性の問題なんだろうね。 mcc 変わっていたのはいいが動かん。サーバーの問題かな。
02:02:06.261 情報: Fetching list of available libraries.
02:02:07.546 情報: Download failed. Connection response:503 Service Unavailable mcc のversion下げたら動くようになった! 4.0.1よりはあたらしいか
あんがと 5.50に入れてみる mplab よくわかんねぇ
Node-REDで組めたらなぁ〜 >>908
まあその通りなんだけど
最新のでなく1つ古いバージョン使うとか
とくに不都合がなければむやみにバージョンアップしないとかが
言うなればユーザー側の暗黙の了解事項 >>910
ありゃ
プロジェクト新規12F675でMCCできないね 20年前のCPUなんか
サポートから外れても当然と思う
さっさとディスコンすればいいのに たかがMCCが使えなくなっただけの話じゃ無いか大袈裟な。 MCCが無いとソフト開発も出来ないような人が多いみたいだから 楽だしね。
なしでできるようになるための学習時間や情熱をもっと創作的なことに振り向ける選択も人それぞれだし。
それよか、古いものが徐々に切り離されていくのが、こういうところでわかるね。 melody 使ってみるかな
絵でポチポチできるのよね? 上位層を共通化するために
下位層を独自で作る
という方針もある
PIC, AVR, RL78, ...
USBやEthernetは複雑で自作する気にはならないけど
古典シリアル系やタイマーは簡単だから
その方針の方が結局は速かったりする >>911
そもそもの話、PIC12F675って一度もMCCで対応されたことないんじゃない?
以前から対応してないものは新たに対応はしないと思う。
PIC12F1822は昔は対応してた。 >>914
>MCCが無いとソフト開発も出来ない
そんな大それたことではない。
ただデータシートを見るのが面倒ってだけ。
問題はMCCが無いと面倒なのに、対応してないPICを選んでしまうこと。
下調べはしろよ、両方楽はできねえでしょって話。 mccの生成した関数名の付け方の規則が嫌い
mccの生成した変数名の付け方の規則が嫌い
mccの生成したソースの括弧の位置が嫌い。if(){ for(){ であるべき。
置くときはTABが使えるけど、それを消すときにスペース4個になっている、設定でも変更できないのが嫌い
ソース上に感じが使えないのが嫌い 近代的なIDEに比べると古い設計引き摺ってる感じはするよね VSベースに変わりました!ってなったらまた文句いうくせに >>921
出ました「なら使うな」
それでは議論にならない。 >>922
だよね。
閉鎖的な感じがする。
WORDのチェックボックスの
初めから全部onになってるのと同じ >>924
MCC使わなくてもコード自分で書けばいい。
Microchipがいちいち>>920の好みに応じてくれるわけない。
ならMCC使わない選択肢しかない。
結論出てるじゃん。
どういう議論するつもりか言ってみ。 >>926
Visual Studio ベース だよ。 >>926
Visual Studio。 AVR がそれ使ってる。 ひながた生成ソフトが吐き出すソースが気に入らない、っていうのは
どこのメーカーのものでも絶えることのない声。
使う側の好みが多様なんだし、メーカーがどういう選択をしても誰かが不満を持つし
カスタムできるようにすることはコストがかかる。
使う側が自分の好み主張を殺して慣れて、それを好みになるのがベストだと思うよ。 >>924
>出ました「なら使うな」
>それでは議論にならない。
言いっぱなしかよ、議論はどうした?
>>927
同意
ここで文句垂れてないで、せめてMicrochipのフォーラムで英語で問題提起して来いよって思う。
でかい口叩くくせにやってることが全く無意味。>>ID:UZ6Rhmz5 こういう時解決を求めたり公式凸求めるめんどくさい奴って絶対おるんよな
好きに文句垂れてもええやで コード生成ツールなんて自分のアプリケーション作る為の
下地づくりに過ぎ無いんだから
好きに整形なりリファクタリングなりすればいいのに。 >>932
「王様の耳はロバの耳」と聞かされる穴ですね。 >>931
おまえみたいなのがいると、議論にならないを >>930
概ね同意だけど、かっこの位置くらいは、
設定で選択できれば良いと思うよ >>924
7時間経ったが「議論」とやらのお題の提示すら無しかw >935
ああ、怖くてネタふりすらできないんだろ?腑抜けがw >>936
>>931がもどかしく思ってるのは、それをここで議論しても得ることがほぼないからじゃないかな。
>>932が言ってるように、解決を求めるわけでもなく、不満を吐き出して楽になりたい。
もし同意する人がいたら自分は孤独でもないのだな、と安心できる。そういう意味ぐらいはあると思う。
でも「〜ができるようになってほしい」って本当に願うなら、ここで書いてもダメだ。作ってる人に伝わらない。 かっこの位置が気に入らん!とか吠えてる人は学生さんかな、
就職するともっと意味不明なコーディングルールで書かされる可能性 PORTJの設定が出力されない不具合は直ってないな
というか、不具合と認識されてないのか? 書式が気に入らないなら、
clang-formatでも使って好みのスタイルに整形すりゃよかろう。 エディターは便利で使いやすい
変数や関数をクリックすると右のルーラーに他の場所が表示されて
クリックするとジャンプできるし、Renameで名前を一括変更できる
デフォで黒背景にならないのが不満 エディタは「指馴染み」もあるし、好き好きだけどね。
IDEのエディタはそういう便利機能用で、プログラム入力はemacsとかの馴染みのエディタ愛用だわ。 馴染みのエディタにemacsが出る辺りおっさん御用達のスレ >>950
そりゃあ、vi、emacs(や、キーバインドを似せたエディタ)はどこでも使える、ないし使えるようにできるからね。いろいろな環境でプログラムやドキュメント作らないといけない人には必修科目に近いですわ。nanoエディタもemacs風味だしね。
windowsだとxyzzyなんかも良いやね。 mccで7セグLEDないの?
LCDデザインはできるようだけど >>952
PICマンセー!爺さんが何か言ってるな? プログラムコミュニティで、
エディタネタが蔓延し始めたら、そのコミュニティはオワコン
という都市伝説があってだな 「お前(初めてのPICスレ)はもう死んでいる」状態だから生き続けると思うw 自分もEmacsのキーバインドで育った人間だけど
最近の若者はカーソルを動かすのにカーソルキーでOKなのか?
それとも入力支援が多機能でカーソル移動の重要性が減ってるとかか? 元々カーソルキーついてんだからカーソルキーバインドは要らない
ただしマウスは左に置いてる >>959
どっちもyesだね。
若者じゃない、かつてのEmacs使いだけど、使う頻度落ちてる 慣れの問題とかもあるからね
マウス操作が多くなった関係で
ホームポジションから指を離す機会も増えたからね
カーソルキーまで手を伸ばすのは
昔ほど煩わしく無くなってると思うわ
コピー範囲指定とか遠いトコまでのカーソル移動とか
マウスでやった方が楽って人も増えてるだろうし APPLEIIはカーソルキーが左右しかなかったな、ESC+’A’、ESC+’B’、ESC+’C’、ESC+’D’とかいう変なキーバインドでこれと左右の矢印キーは違う機能だったりしたし キーボードのショートカットで済ませることも多いし、手慣れたエディタ使っている時はカーソル移動キーはほぼ出番なしだな。 CTRL+とかESC+とかのキーバインドを使ってた頃は、端末のキーコードが統一されていなくて
カーソルキーや特殊キーの発生コードがまちまちで使いにくかったからだよ
昔はWordMasterやらWarfStarやらviやらいろいろと指に覚えさせていたが
ハードが統一され、OSが吸収してくれて、端末ソフトウエアがGUIになってからどうでもよくなった
唯一未だに使えないのがWindowsキーとかだな、OS依存もはなはなだしい 懐かしいなwordstarやwordmasterかあ。
そういえば、microEmacsを移植して使ってたなあ。
色々な環境で同じ使い勝手になるのがありがたかったわ。
GUIはちょっとしたところの修正に使う程度だなあ。 入力に使えるカーソルキーが横一列のゴムボタンだったりしたな。。。 そろそろ老害のエディタ雑談がマジでうざいんだけど
PICとも無関係だし
荒らすならよそのスレでやってくんない? IDEを使うときは、IDEのエディタに慣れよう。好みを持ってる人は損だ。 IDEと好みのエディタ両方使う
キーボードマクロや矩形選択なんかが出来ないIDEもまだまだ多い PICでUSBホストやらせてみたけど、
いまいちサービス悪いなあ。
まあ、動いたからよかったけど、
もうちょっと気の利いたライブラリを用意して欲しかったわあ。 MCCにしてもMLAにしてもHarmonyにしても、
それ下敷きに過ぎないって事は忘れてる人が多い。
必要なら作り込め。 さすがにUSBやEthernetをゼロから作る気にはならん MLAのコンポジットUSBデバイス対応したけど、無理ではないよ? ベアメタルでSL811使ったりもしてきたから、まあサービス悪くてもなんとかなるけど、あちこちで同じようなライブラリを作ってると思うと、無駄なことやってるなあとは思うわ。
自分のを公開するかと言われたらノーだけどさ。 Arduinoみたいなワールドワイドな統合環境がないからな MCCはユーザーフォルダ含めて日本語フォルダは駄目。
中途半端に動いていたのと、会社PCで初期設定済みだったから解決に時間がかかってしまった。 PSoCは割とサービス良いんだけど、USBホストを内蔵したのがレア物なのよね。 CPU Core2Duo メモリ 2GBなのですが
この時代のPIC開発ソフト手にはいりますか?
可能ならば軽めのLINUXでできないかと考えています >>986
手に入るよ
でも、そんな事すらこんな腐った所で聞くようなら
PCの性能じゃなくて、君の頭の性能的にムリだと思うよ なんで自作しないかねぇ、一度作れば必要に応じて手を入れつつ
死ぬまで(CPUが入手可能な限り)使えるのに・・・ べつにIDEじゃなきゃだめって訳じゃないから、それならなんでもいいレベル。 Linuxで開発してますかって言うのだったらYESだけど、そのスペックでやりたいですか?って言われたらNOだ 最新版は64bitのみ何だね。古いの探してけば32bit版もあるでしょう 今は64ビットなんだVisual Studioはもうすぐ64ビットに対応らしいが、頑張っているんだな。 >>986
5.45だったか、まさにその環境で2月ほど前まで使ってた。
mccとかも使ってなかったし、そんなに大きなもの作るわけじゃないので
特に不自由は感じなかったけど他所の環境で不自由なく動くかは不明。 https://rio2016.5ch.net/test/read.cgi/denki/1632622106/911
このレスについてもう少し初心者にわかりやすく解説いただけませんか?
スレチなのでこちらに持ち込ませていただきました。
よろしくお願いします。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 219日 20時間 43分 45秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。