EEPROMについてご教授願いたい
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/07/01(火) 20:40:26参考文献が少なく八方塞です
知ってる方がいれば教えてください
開発環境
C言語
H8マイコン
0002デフォルトの名無しさん
2008/07/01(火) 20:42:430003デフォルトの名無しさん
2008/07/01(火) 20:55:050004デフォルトの名無しさん
2008/07/01(火) 21:04:07データシートって何でしょうか;
EEPROMしかない状態で…
0005デフォルトの名無しさん
2008/07/01(火) 21:05:480006デフォルトの名無しさん
2008/07/01(火) 21:14:40電気的にデータを書き換えられるROMです
データロガーとして使いたいのですが、予想以上に苦戦してます
0007デフォルトの名無しさん
2008/07/01(火) 21:45:22データシートを入手して、それからだ。
0008デフォルトの名無しさん
2008/07/02(水) 03:10:20解かりました
調べてみます
0009デフォルトの名無しさん
2008/07/02(水) 07:28:44あと、sageろ。
00101
2008/07/02(水) 11:33:3324lc64です
今から翻訳して読んでみます
0011デフォルトの名無しさん
2008/07/02(水) 12:40:020012デフォルトの名無しさん
2008/07/02(水) 16:01:59CPUにI2Cインターフェースなかったら、ちょっとメンドウかもな
0013デフォルトの名無しさん
2008/07/02(水) 23:48:17つ ttp://ww1.microchip.com/downloads/en/DeviceDoc/21930a_jp.pdf
00161
2008/07/04(金) 16:43:59ただ、どのような命令で動くのかまったく分からないです
0017デフォルトの名無しさん
2008/07/04(金) 17:01:160019デフォルトの名無しさん
2008/07/05(土) 06:12:2500211
2008/07/09(水) 10:36:46EEPROMに書き込めるデータってcharだけじゃないですよね?
0022デフォルトの名無しさん
2008/07/09(水) 11:49:13えーと、かなり理解に苦しむ質問なんだけど・・・
2バイトデータを書きたいとかそういう話し?
だったら、自分でエンディアン決めて1バイトずつ書けばいい
00231
2008/07/09(水) 12:40:24今のところなんとか英数字を書き込めるところまで来たのですが、
intなどではできず、charのみでしか書き込めないんですよorz
普通ならintとかでもできるんですかね?
0024デフォルトの名無しさん
2008/07/09(水) 13:29:531アドレスに書けるのは8bitなんだから、
intを書こうとしたら、8bitずつに分解して書く必要があるんだけど
ちゃんとやってる?
00251
2008/07/09(水) 13:46:25一応今は半角数字一文字ずつの入力を試しにしてるのですけど;
というか…
もしかしてintでもa='1'のような表記をしないと書き込めないのですか?
0026デフォルトの名無しさん
2008/07/09(水) 14:18:06ごめん、付き合い切れないw
ポインタとかアドレスとかCの基礎やりなおして
00281
2008/07/09(水) 14:28:49''はアドレスに代入してたのですね
解りました
0029デフォルトの名無しさん
2008/07/09(水) 22:42:28と思ってたけど、1の相手するだけで1000行きそうだなw
しかし、みんなやさしいな
0030デフォルトの名無しさん
2008/07/09(水) 23:15:45int a = 0x00745687;
char b[4];
memcpy(&b, &a, sizeof(int));
で、b配列に入ってるデータを1つずつ書き込む。
OK?
0031デフォルトの名無しさん
2008/07/10(木) 11:35:06>また単発質問スレ立ててボケが・・・
それでも途中までは
「このスレが役に立つと思う人もいるかも知れない」
と思ってたんだが、>>21 で腰が砕けそうになった。
>>1 は味噌汁で顔洗って出直した方がいい。
0032デフォルトの名無しさん
2008/07/10(木) 12:25:1200331
2008/07/14(月) 14:50:22皆様すいませんorz
ちょっと以前使ってたCの本最初から読み返してきましたorz
地道にがんばっていきます…
気が向いて死ぬほど暇なときにでも相手してくれたら嬉しいですorz
>>30
分かりました
ありがとうございますorz
0034デフォルトの名無しさん
2008/07/26(土) 23:19:34秋月のフラッシュromライタ LEPER-3Cの27XXX設定項目に select algorithmってのがあって、
項目が
Q-100uS
Q-50us
N-100uS
I-500uS
I-1ms
とまぁ、選択できるのですが、
これはいったい何の項目なのでしょう?
0035デフォルトの名無しさん
2008/07/26(土) 23:46:10書き込みに必要なパルス幅じゃね?
てか、マニュアルとかないのか・・・それ
0036デフォルトの名無しさん
2008/07/26(土) 23:53:58英文版には書いてないです。
中文版には書いてあるみたいですが全く読めません。
ttp://www.leap.com.tw/download/manual/programmer/Flash_Writer_CHINESE.pdf
0037デフォルトの名無しさん
2008/07/28(月) 12:43:09書き込みアルゴリズムの違いでしょ。
NはNECとか、IはIntelじゃね?
# Qはしらねw
0038デフォルトの名無しさん
2008/07/28(月) 23:59:420039デフォルトの名無しさん
2008/07/29(火) 11:16:480040デフォルトの名無しさん
2008/09/18(木) 16:24:21コンピュータのハードウェアが何やってるか全くイメージが無くても
H8マイコンとC言語を使ってROM焼きをやろうとするのか。
いや、時代は変われば変わるもんだ!(いくら何でも無謀だ)
>1さんはLittle EndianとBig Endianの区別も無さそう。
つーか、整数の2進数表現や16進数表現を理解してるんだろうか?
0041デフォルトの名無しさん
2008/09/18(木) 16:57:07多分、もうこのスレを見てないとは思うが一応、
メーカーサイトのダウンロードページ
ttp://www.leap.com.tw/english/products/dow.htm
にある"Leaper-3 User's Guide"の英語版(以下)を参照の事。
http://www.leap.com.tw/download/manual/programmer/LP-3_manual.pdf
"Q","N","I"はそれぞれQuick Pulse、Snap Pulse、Inteligent Pulse
の事だそうだ。この情報で書き込み法を選択するのに役立つかどうか
知らんが、後は書き込み対象のFlash ROMのデータシートと見比べて
適当に選んで実際に書き込めれば良いんじゃね?
ちなみにLeaper-3Cのユーザーガイドの方は本当にQuick User Guideで
何の説明も無いから、その元機種らしいLeaper-3のユーザーガイドを
参照したわけ。データシートを探す時は応用を利かせる事が大事。
0042デフォルトの名無しさん
2008/09/19(金) 15:42:11参考に出来る資料とかありますか?
0043デフォルトの名無しさん
2008/09/19(金) 15:59:350044デフォルトの名無しさん
2008/09/20(土) 13:48:00ある程度、(ハードウェア的に)メモリを扱う事に慣れていれば
>43さんの言う通り、その目的に使えそうなモノのデータシートを
読み比べれば十分だと思うが、どんなメモリコントロール回路も
設計した事無いとか、Flash MemoryとEEPROMの区別が言えないとか
言う状態ならこんな本を読むのも良いかも。
ttp://www.cqpub.co.jp/hanbai/books/32/32701.htm
さらにもし >1さんのような状態なら、まずは「コンピュータハードウェア入門」
とか「マイコン入門」みたいなコンピュータはどういう風にデータを
いろんなメモリに読み書きしてるか?とか、その内部表現は?とかを
解説している本を読んだ方が良いかも知れません。
整数の二進数表現とかLittle EndianかBig Endianかとか、
バイトマシンとワードマシン(最近ほとんど無いけど)の区別とか
もっと基本的にノイマンアーキテクチャとはどういうものかとか
そう言う事をまず知った方が良いかと思います。
0045デフォルトの名無しさん
2008/09/20(土) 14:14:45この本が役に立ちそう。
ttp://www.cqpub.co.jp/hanbai/books/42/42081.htm
私自身は読んだ事無いし、読む人のレベルと目的にもよるので
必ず役立つと保証はできませんが。
0046デフォルトの名無しさん
2008/09/25(木) 13:58:37なるほど
ありがとうございます
0047デフォルトの名無しさん
2008/10/17(金) 15:30:050048デフォルトの名無しさん
2008/10/18(土) 18:41:150049デフォルトの名無しさん
2008/10/31(金) 16:52:250050デフォルトの名無しさん
2008/11/15(土) 13:47:300051デフォルトの名無しさん
2009/01/21(水) 18:28:45tx_data[j]=('0'+((data/x)%10));
}
この形でintをcharに変換して書き込んでるんだけど、負の数が書き込めません
どうしたらいいですか?
0052デフォルトの名無しさん
2009/01/22(木) 13:20:25整数の数値を10進文字列化して書き込もうとしてるんだよね?
sprintf関数が使えない環境なの?
もしそうなら自分で整数の符号を判定してマイナスなら
正負の符号を反転してから10進数として文字列化し、
頭に "-" 記号を付けるしかないんじゃ?
EEPROMに関係ないC言語の話だけど。
0053デフォルトの名無しさん
2009/01/22(木) 13:34:032進数(2の補数)形式のまま書き込んで、
表示するときに10進数に直す方が
普通だとは思うけどね。
余分な記憶容量を食わないから。
そのデータをそのまま通信路に流したいとか
特別な理由があれば別だが。
0054デフォルトの名無しさん
2009/01/22(木) 18:37:56ありがとうございます
その方法で無事出来ました
>>53
確かにその方法のほうが良いかもしれませんね
ありがとうございます、検討してみます
■ このスレッドは過去ログ倉庫に格納されています