>>936 どれくらいグラフィック関連関数を用意するかだろうね。
ビットマップ表示とプロットだけならそれほどのことはないが、
直線だの円弧だの任意の範囲のビットマップだの論理演算表示だの入れると
メモリ制約が大変そうだ。
買ってほしくないんじゃね?
もしかして 扱ってない
IPIから以前に通販でATtinyを買ったことがあるんだが
あれは幻だったのだろうか。
株式会社アイ・ピイ・アイと印刷された小さな黒い紙箱で届いた記憶が。
945 :
774ワット発電中さん:2007/10/11(木) 00:04:41 ID:qBRCbKe7
946 :
774ワット発電中さん:2007/10/11(木) 16:53:13 ID:Y8V1/ps6
すまん、ちょっとききたいんだが。
AVRのプログラムで(C言語)割り込みをフラグでやるってどうやるんだ?
割り込みを制御するレジスタの対象ビットに1を書き込むか0を書き込むか
って事?
948 :
946:2007/10/11(木) 17:06:11 ID:Y8V1/ps6
説明が少なくてすみません。
Aという情報を送信しているときにフラグを使って割り込みをして
Bという情報を送信してまたAを送るを繰り返すプログラムです。
フラグを使わんでも、送信ルーチンが「自分が何回呼ばれたか」を覚えていて、
再突入だった場合は、今送信中の内容&何バイトまで送信したか、をスタックに積んで新規の内容を送信開始。
送信が終了したらスタック降ろして、降ろした内容を送信再開。
スタックが空になるまで以下ループ。
て考えたところで気がついた…SRAMがパンクしちゃうか orz
ひじょーにわかり辛いんだが、「INTの割り込み」じゃなくて「Aを処理中にBという処理を差し込みたい(割り込ませたい)」という意味か?
んで、おそらくUARTとかの割り込みルーチンにフラグを渡す方法がわからない、ってこと?
それなら、
volatile uint8_t flag;
ってな感じでグローバル変数を定義してやればおk
volatileはCコンパイラの最適化を抑制する命令
>>946 そのフラグを使う目的が何か(Bという情報はいつ何を送るのか)がわからないと
誰もいい助言は出せないぞ。
具体的に何がしたいの?
スレ950を超えるとDAT落ちしやすいんだっけ?
トラ技P.105のFMトランスミッタにTiny26が載っている。でも発売は10月下旬予定。
AVRって16ビット以上の精度のA/Dが入ったタイプはないんだよね?
そういう用途は眼中にないのかなあ。
16ビットだと5V÷65536=0.076mVの精度。
10ビットでも不要なクロック止めるとか配線の注意とか必要なので
16A/Dはデジタル回路満載のマイコンでは無理です。
いや、今時AVR以外のマイコンでは16ビット以上の精度のADを内蔵なんて
珍しくもないんですがね。。
でもAVRはポートから10mAとか平気で吐いちゃう粗雑なマイコンなんですぜ
16bit ADC載ったマイコンって何?
いいとこ12bitくらいのものしか見つからんのだが。
ADよりDAをのっけてほしい
2R-Rラダーか
PWMでいいんじゃね?
自分もD/Aほしい。一部のMSP430やH8にはあるし。
MSP430は元が電力計特化なので16bit A/Dがあるんじゃないだろうか。
>958
つかったことはねーが C8051 に 16bit ADC 積んでるのがあるし、
ADuC847 や MSC1210 みたいに 24bit ADC 持ってるのもある。
超低速とはいえほんとに24bit精度でるのかよとは思うが。
>961
ADサイドと同等の速度が出ないと意味ねーのでPWMじゃちょっと。
R-2Rもピン数を食うし、ちゃんとのっけて欲しいと俺も思う。
>>960 今入手できる外付けDAって、手ごろなのは、全部シリアルなのな。
いまいちタイミング的には使いにくい。
シリアルじゃないとピンが足りなくなる
AT90S8515のソフトってAT90S8535で使えますか?
ハード的な互換(ピン配列とか)がないのは別として。
>>967 8535は8515の上位コンパチという位置づけではないので、使ってる内蔵
I/Oによる。ポートに繋いだLEDのチカチカくらいなら可では?
8515と8535はA/Dの有る無しやタイマの数が違うけど
違う部分を使ってなければ大丈夫。
970 :
967:2007/10/14(日) 22:23:56 ID:Z2el487T
>>970 今時だとATmega48あたりを使った方がいいんじゃまいか。
>>970 汎用I/Oとソフトタイマだけなので8535def.incでアセンブルし直せば動くと思う。
I/Oを29本使っているので40ピンのAVRでないと作れないね。
973 :
967:2007/10/14(日) 23:51:04 ID:Z2el487T
やってみます。ありがとう。
>971 いちからプログラムするような技量はないんです。せっかくだから、これから勉強します。
974 :
774ワット発電中さん:2007/10/15(月) 11:43:34 ID:8dkt+ZIW
TWIを使って通信を行いたいのですが、3つのデータ(例えばA、B、Cのような文字データ)を
繰り返し送信し続けるプログラムを作りたいと思っています。
mainプログラムで通信処理を行い、1つのデータを送信するとフラグを立てて、送信できたかどうかを
判別します。フラグが立っていれば次のデータを書き込み、再び送信を行います。
このデータの書き込みを「割り込み」を使って処理を行えと言われました。
わかりにくい内容だとは思いますが、いいアイディアがありましたら、力を貸してください!
送信中にデータの書き込みを「割り込み」処理したいってこと?
普通、送信中に送信データは書き込めんからな〜
>>974 UARTの割り込み利用送信プログラムは書ける?
あれとほぼ同じ。
977 :
974:2007/10/15(月) 14:59:51 ID:8dkt+ZIW
>>976 UASRTについてはまだ勉強中なので、はっきりとはわからないのですが、
サンプルプログラムなどがありましたら教えていただけませんか?
MEGA88の日本語データシート(有志の方の翻訳でしたっけ?)に
そのものズバリが書いていなかったっけ?
980 :
774ワット発電中さん:2007/10/15(月) 17:27:33 ID:jFJ9Y2ZE
皆さん、ありがとうございます。
参考にさせて頂きます。いいアイディアがあれば、また教えてください。
tiny2313をI2Cのスレーブでコントロールしようといじっているけど
USIの動作が今ひとつ良く理解できない・・・orz
982 :
774ワット発電中さん:2007/10/16(火) 11:17:04 ID:NkzriBaf
「TWI割り込み」について、どなたか詳しく教えていただけませんか?
参考資料が少ないため困っています。。。
>>982 何がわからないとか、何が知りたいとか言わないと、
アプリケーションノート嫁で終了しちゃうぞ。
っ「コピペするだけでOKなソースが欲しい」
985 :
774ワット発電中さん:2007/10/16(火) 17:34:40 ID:NkzriBaf
マスタでTWI割り込みを行うには、ステータスレジスタの7ビット目とTWI制御レジスタの7ビット目を
1にセットしておいて、『sei();』で割り込みを有効にすればよいのでしょうか?
そして送信が完了し、TWINTビットがセットされるとTWI割り込みが発生するのですか?
>>985 その他TWCRのTWEN、WIEなど初期設定レジスタの類があるね。
TWCRって初期設定レジスタなどについても毎回書き込まないとTWENなどが消えてしまう。
TWCRに書き込むデータにこれらのビットが含まれていないということはないですか?
初期設定でTWCRにTWEN、TWIEなどをセットしても、その後
TWCR=(1<<TWINT)|(1<<TWSTA); とかやったら消えちゃう(TWEN,TWIEにゼロを書き込んでいるので)
987 :
774ワット発電中さん:
1を書くと0になったり、割り込み終了でリセットされたり(そのために割り込みが無限には続かない)
します。
動作の度にセットしなければならないビットに注意すると整理しやすいかも。