マイコンソフト 悩み事相談室 3 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
.
∧ ∧
( ´・ω・) < コンフィグって何? 昆布なら知ってる。 ボラチルって何? ボラは魚だよ。
( ∪ ∪ ,.-、 ,.-、 ,.-、 ,.-、
と__)__) (,,■) (,,■) (,,■) (,,■)
PIC AVR H8 ARM
学校でC言語を習ったことがあるので「楽勝でしょ」って、マイコンを始めたけど、
わからないことだらけ。誰か教えて!
PCとは別世界の、マイコンのソフト。難しいよね。
ツールの使い方、ツールの設定、マイコン特有のC言語の書き方、
「デバッグモードにプログラミングモード。何?」 Eclips, Emacs って何?
VBAしか知らないよぉ、という人まで、
各社マイコンに関するマイコンソフト相談室です。
質問者は、「初心者質問スレ」の>>1を見て、分かり易く質問を書いてね。
回答者は、威張らない、バカにしない、言葉使い注意で、親切に教えてあげてね。
あっ、そうそう。
ハードウェアに関する質問は、それぞれのマイコンのスレに、達人がいるから。
過去スレ
1 2014/09/11〜
2 2016/07/31〜 http://rio2016.2ch.net/test/read.cgi/denki/1469905691/l50
では、質問、ドゾ〜 実際にやってみて悩めばいいと思うけどな。
他人にあらかじめ見てもらって悪いところを全部直してもらう
なんてことやってたら一人でプログラム作れるようにならないし
楽しくないだろ。 だいじょうヴイ
楽しみ方は人それぞれだし
天下無敵のコピペがあるじゃないかw CPUを使った既製品ハード+コピペソフトの電子工作の素晴らしいところは、
「コンピュータを動かしている俺、何て頭が良いんだ」
と気持ちいい誤解を素人にさせてくれるところだなw 趣味の電子工作は気楽で良いよな
同僚が作ったバグのせいで取引先に呼び出されて
エライ人達5、6人に取り囲まれて
原因と対策を延べよ、なんて詰問されたりしないだろうし >>956
>原因と対策を延べよ、なんて詰問されたりしないだろうし
原因なんて「検査の見落としでした」しかないでしょ?
どんなバグがあろうがなかろうが、出荷前検査で確認してあれば良い訳だから。
対策は「検査項目を増やし、検査員を1人追加します」
結局、多項目の検査を複数回、複数人でやる以外に対策は無いんだよね。 >>958
趣味でしかコードを書いたことがないヤツの発想 >>958
天才が独りでやった方が間違いは少ない。 「検査の見落としでした」
「検査項目を増やし、検査員を1人追加します」
何も報告してないのと一緒
出直してこい ミスは絶対にゼロにはならないし、問い詰めること自体が意味が薄いことが多いんだよなあ。
Windowsのバグがあったから、っていちいちユーザーがマイクロソフトの上級エンジニアを呼び出して、
納得いくまで詰問するわけじゃないことぐらいわかってるのに、そのことは棚に上げて、詰問するんだしな。
詰問される側になったこともあるし、愚かなことに詰問する側もやったことがあるけど、作業環境の問題とか
わりとはっきりと対策できること以外は、たいていが担当者個人の資質に依存することだし。
かといって、継続的な製品なら、その人を担当から外すとか、その外注さんを変えてしまうとか、そうそう
できるものでもないしね。
チェック項目やチェック担当者、ハンコ欄を増やすのは割と最悪の納得だよな。
https://pbs.twimg.com/media/EA7jtfYVUAAe6Mb?format=jpg&name=small
https://japanese.engadget.com/jp-2019-12-17-1-2-2019.html まぁ、実害(金銭的な損害)が発生すると、たいていの場合は目の色が変わってくるんだよね
会社によっては謝罪だけでは済まない場合もあるし 以前、こんなソースを見たことがある。
mainが、タイマー割込ごとに動作するという。
void main(){
if( wrikomi==1 ){
warikomi=0;
処理を書く
}
}
もうほとんどFPGAじゃないか?と思った。
分かりやすくて好きだけどね。 これが変とか言われたら結構な割合で世の中の組込みコードは変という事になる。 タイマー割込ごとにmainが動作するというわけでもないし
>>964は馬鹿なのか? すぐにmain()を抜けるんだね。
無限ループの中にif(warikomi == 1)が入ってるのはあると思うけど。 >>964
> mainが、タイマー割込ごとに動作するという。
これは見たことないな
割り込みをフラグで拾ってメインルーチン側で処理すると言うのはそれなりに見るけど
> もうほとんどFPGAじゃないか?と思った。
これはよくわからん >>968
そうだよね。抜けたらHaltかな?
割り込みやらの初期化もしてないし。 単純にvoid loopの書き間違いだと思ってたよ。
だってソース通りなら基本的に即HALTやん。 >>972
割り込み入ったらSLEEP解除ってのは、マイコンで良くある。 スタートアップコード自作ならmainの外でどんな動きにも出来る >>969
> > もうほとんどFPGAじゃないか?と思った。
> これはよくわからん
always に似てると思ったんじゃない? Verilogか…
VHDL使ってたからピンとこなかったわ 教えてください
switch文で質問があります
switch (制御式) {
case 値1: 文1
case 値2: 文2
default : 文3 break
}
通常は各case文の末尾にbreakをおきますが、
それがない場合は、どのような動きになるのでしょうか?
・値1の時は、文1 文2 文3 を実行する
・値2の時は、文2 文3 を実行する。
・値3の時は、文3を実行する。
という理解で、正しいでしょうか? >>977
セミコロンがないのでバイナリ生成されず >>978
ありがとうございます。
とても覚えやすくて、ありがたかったです。
ありがとうございました。
>>980
ありがとうございました 教えてください。
マイコンで、AD変換→EEPROM記録を定周期で行っているとき、
電源が抜かれて0Vになった場合、記録中のデータ書き込み完了や破損を防止したいです。
そのめに考えたのは、
・大きな電解コンデンサで電源低下を持たせる
・電源電圧2V〜5Vのマイコン、EEPROMを選定し、5V→2Vの間で作業完了
上記の結果、少なくてもその回の書き込みを完了させてから落ちることを考えました。
しかし前者ではコンデンサが大きくなりそうで、スマートではないなぁと思っています。
そうしなくても、ソフトウェア的に何かテクニックがありますでしょうか?
これまでのデータが喪失しないこと、今回のデータは最悪喪失でもよいです。 >>982
書き込みは6ms位で終わるから、コンデンサで持たせる で良いと思う。
ページ単位なら同じ書き込み時間で32byteとか書ける。
データをバッファに溜めてるなら、電源低下をなるべく早く検出して、残ってるのをEEPROMに書き込み。 そもそもプログラム中に給電が止まったときの影響範囲ってマニュアル等に書いてないの? ソフト的には「一定電圧以下では書き込みを行わない」しかないっしょ。
書き込み時間の確保や低下検知後の動作はハードの問題。
少なくとも書き込み実行しちゃった後の時間を確保するためのコンデンサは必須だよ。
それが大きくなるか小さいので済むかもハードの問題。 >>982
・電気二重層コンデンサでバックアップしたら、マイコンとEEPROMぐらいなら秒オーダーでもつよ。(マイコンによりけりだけど)
・電源低下はm秒より短いサイクルで検出したいし、モーター、リレー、ディスプレイなどの電源はマイコンの電源から切り離せるようにしたい。
・>>984の方法が確実では。Z80の時代からSRAMのバッテリバックアップはよくあった。
・今なら、書き込み時間の短いFRAMもあるし、なんなら、一部のMSP430みたいに、FRAMを搭載したマイコンもあるし。 >>982です。
みなさん、どうもありがとうございました。
やはり、電圧が残っている間に、チャチャって済ます ですかね。
以下のように考えてみました。
1. 電源断をいち早く知る
2. 短時間に書くようにプログラムを工夫する。
3. 記憶媒体を見直す。
1. 電源断をいち早く知る
電源RESET ICかコンパレータICを使用して、4.0Vを↓したら、外部割込をかける。
(NMIは使ったこと無い)
2. 短時間に書くようにプログラムを工夫する。
・マイコン内部のRAMにBufferするのをやめて、毎回毎回書き込む。
・バースト書き込みはやめて、1byteずつ毎回、Address, R/W, Dataで書き込む
3. 記憶媒体を見直す。
・EEPROM→FRAM 使ったこと無いんですが、パラレルバスのICでしょうか。
ワンチップマイコンなので、外バスが出ていなくて、要検討です。
SPIのFRAMがあれば、書き込み時間を検討してみます。
4. 次点
・電源の改善に、空気二重層を付ける→入手難のようですね。Panasonic?
書き込みが完了したら、空気キャパシタを遮断するようなスイッチ必要検討。
マイコンがスリープすれば良いか。
屋外で使用したいので、電解コンデンサの容量減少も考えないと。
みなさん、いろいろと、どうもありがとうございました。 EEP-ROMで足りるもの(アクセス速度や回数制限が問題にならない)を
FARMやバックアップ付きSRAMに変える意味はほとんどない。
データ書き込みプロセスを始めたら、終わるまで止まっちゃならんのはすべて同じ。 >>989
> データ書き込みプロセスを始めたら、終わるまで止まっちゃならんのはすべて同じ。
そこは同じだけど速度が全然違うだろw >>991
そんなものは設計次第
>>992
反論できず涙目?w 速けりゃ電圧維持時間ゼロでもいいのか?
ちゃんと設計せにゃならんだろ?
> 終わるまで止まっちゃならんのはすべて同じ。 薄れ逝く意識 弱り逝く体力で遺されたダイニングメッセージ
判別でけんかったり 内容がデタラメだったり
そんな記憶値 簡単に信じたらあかんで 抽斗は多い方がいい。
自分の流儀にあわないものでも好き嫌いなしに抽斗に入れておけば役に立つことがある。 あ、多い方がいいのは抽斗の中身だね。
(カモシカのような脚ってどんな脚?) >>994
SRAMとかに随時書き込んでるなら電圧維持時間ゼロでもいいだろ。
書き込みシーケンス途中で落ちるのが悪いんだから。 >>998
いいわけ無いだろ
書き込みの瞬間に電源落ちてアドレス不安定になったらどこに書くかもわからんし
シーケンスの意味がわかってないなら黙っとけ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1180日 7時間 14分 26秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。