08/06/10 12:02:05 glsd/dxS
去年DigikeyでSTK500とJTAGICEmkIIのセットが安かったので、
それを買ってマイコン入門した。
JTAGやDebugWireはやっぱり便利
51:774ワット発電中さん
08/06/10 13:13:34 ZSXbmeQB
>47
それavrdudeで動かないと思う。(=winオンリー)
AVR Dragonでいいのでは?
ISPできるしデバッグもできる。
52:26
08/06/10 14:04:39 Zq0EcZ/b
>>51
ありがとうございます。
digikeyで送料込みで7500円になってしまいました。
デバッグしたくなるほど本格的にハマったらこれですね。
URLリンク(homepage2.nifty.com)
これは
URLリンク(homepage2.nifty.com)
「AVR-ISPはアトメル互換品」とあるので、
URLリンク(yuki-lab.jp)
avrisp = Atmel AVR ISP [/usr/local/etc/avrdude.conf:310]
avrdudeでも使えるのですよね。
やはり、安くすませようかとおもいます。
確認なのですが、この制作例は
・まずライター上の2313に「AVRISP互換のプログラム」を焼く
・実際に制作するモノ(LEDチカチカとか)は白い6ピンの先に繋ぐ
・LEDチカチカのプログラムは
PC->シリアルケーブル->「AVRISP互換のプログラム」->6ピン->チカチカ
の流れで焼く。
ということですよね。
初心者すぎてすみません。
53:774ワット発電中さん
08/06/10 15:06:48 ZSXbmeQB
>52
>・まずライター上の2313に「AVRISP互換のプログラム」を焼く
自作ライターには「卵先鶏先」問題があって
まずAVRを焼けるライターを用意しなくちゃいけない。
54:774ワット発電中さん
08/06/10 15:16:21 IpM7ITFY
素朴な疑問だども
ライターを持っていないのに
プルグラムしたチップを使うと言うのは
やっぱライターを持っている人にしか出来ないんじゃないか?
55:26
08/06/10 15:25:50 Zq0EcZ/b
>53-54
あれ、
その鶏卵問題をRS-CR方式という技
URLリンク(homepage2.nifty.com)
を使って乗り越えられる救世主ライターが
URLリンク(homepage2.nifty.com)
これなのだと思ったのですが、ちがった?
56:774ワット発電中さん
08/06/10 15:36:18 ZSXbmeQB
>55
なんだ二段階でもいいのかよ。。
だったらとりあえず共立ライターでも買って
あとでUSBaspでも作ったら?
57:774ワット発電中さん
08/06/10 16:11:57 pIT3YWcH
>>56
負け惜しみ乙
58:774ワット発電中さん
08/06/10 16:18:19 ZSXbmeQB
>57
小出しに負けたw
59:774ワット発電中さん
08/06/10 17:29:20 6NgZNm11
ATmage32のデータシートについての質問なんですが、
命令一覧のSBRCの項のクロックに記載されている
「1/2,3」というのは、
条件非成立なら1/2(0.5)クロック
条件成立なら3クロック
という意味でよいのでしょうか?よろしくお願い
します。
60:774ワット発電中さん
08/06/10 18:06:06 jblRumc8
>59
そんなあなたのための HERO'S Download
URLリンク(reef.path.ne.jp)
非成立で1、成立で2もしくは3 (後続の命令語長次第) だそうで。
そんな命令あったかいなと思わず調べてしまったぜ。
61:774ワット発電中さん
08/06/11 00:56:57 ILrM88wG
>52,55
その考えで合ってる。ちなみに白いコネクタまで真似する必要は無いし
ブレッドボードで作ってファーム書き込み後は3.3nFと100kΩを取り除いてもOK
62:774ワット発電中さん
08/06/11 07:52:37 vpS0izlc
>>60
ありがとうございます。他にもいろいろ日本語になって
いるんですね。助かりました
63:26
08/06/12 14:39:05 LTjUw7U5
>56,61
どうもです。小出しですません。
今日か明日には秋月からの通販が来るので週末にAVRデビューの予定です。
まずは、ブレッドボードで1個焼いてライター作ります。
そのあとLEDチカチカつくります。
URLリンク(www.obdev.at)
ここの作例リストは面白かったです。
AVRでUSBデバイスが作れるとは驚きました。
ソフトで何とかなってしまうんですね。
64:774ワット発電中さん
08/06/14 16:13:57 M22dvnki
>>63
くれぐれも、RST端子をI/Oとして使うヒューズビットを立てて、二度と書き込み出来な
い状態に陥らないように。(高電圧モードのライタがあれば復活できるが)
USBはいろんな人が実験やってるけど、専用の石じゃないのでそれだけにかかりっきり
になってしまうのが何点。2313とかを1個USB専用に使うのならよい鴨
65:774ワット発電中さん
08/06/14 19:20:36 rM+0UP6p
>>64
最近2個立て続けにISP不能にしました。(´・ω・`)
66:774ワット発電中さん
08/06/14 21:32:16 GqcIBavx
>>65
おお、それはすごい。ルーターにアタックかけたのか?
67:774ワット発電中さん
08/06/14 23:22:15 yrXTcYMF
放火でもしたんじゃねーの?
68:26
08/06/14 23:49:30 Blwi60kA
通販で2313とmega88を買いました。
URLリンク(homepage2.nifty.com)
これをブレッドボードで組んで鶏を書き込みました。
ぴったりの部品が無かったので、
C2は2000pF
R3は47kΩ
R1,R2は470Ω
でやったのですが、運良く1発で書き込み成功。
電源はエネループ2個です。
その後、C2,R5を省略したものをユニバーサル基盤で組み直し、鶏を装着。
もう一個のブレッドボードで
「試しながら学ぶAVR入門」のLEDチカチカを作りました。
hexファイルを'Program'してOKと出るのに動かない。
VerifyしてもOKとでるのに動かない・・・。
コンパイラの最適化が「-Os」になっていて空ループwaitが効いていません
でした。「-O0」にしたら解決しました。
明日は全ピン引き出したテスト用ボードでも作ります。
28ピンソケットにしておけばmega88と共用にできるかな。
とりあえず、スタートできました。皆さんありがとうございました。
69:774ワット発電中さん
08/06/14 23:56:01 EK0E5QOK
始まったな(CV冬月
70:774ワット発電中さん
08/06/15 00:03:03 S1CWuqYa
>>68
#define nop() __asm__ __volatile__ ("nop")
for(i=0;i<=10000;i++){
nop();
}
参照:
URLリンク(avrwiki.jpn.ph)
Q) コンパイラが勝手にループの中の式を削除しちゃうんですけど。
A) 割り込み処理中で立つフラグをメインループで監視する場合は、変数に volatile 宣言を付ける。( volatile static unsigned int iflg=0; とか )
nop() は #define nop() __asm__ __volatile__ ("nop") にすると良い。
71:774ワット発電中さん
08/06/15 05:07:51 L2DU/Yoo
AVRのアセンブラはマルチステートメントが使えたので調子にのって使ってたら
同じ行でマクロの後ろにも書いていたら、エラーも出さずに無視されるんだな。
SCL_H RCALL WAIT
(SCL_Hは特定のポートのビットを操作するマクロ) RCALLは完全に無視
ヘルプ見たらマルチステートメントは推奨しないとあるからしょうがないけど
72:774ワット発電中さん
08/06/15 10:16:00 /0g72jGT
一行プログラムに挑戦!w
73:774ワット発電中さん
08/06/16 08:40:57 Nfj/z+BQ
>>64
>くれぐれも、RST端子をI/Oとして使うヒューズビットを立てて、二度と書き込み出来な
>い状態に陥らないように。(高電圧モードのライタがあれば復活できるが)
AVRのライタってフル機能持ってないのが普通なの?
それならPICのほうが楽なのかなぁ。
74:774ワット発電中さん
08/06/16 09:04:43 xWsMhaQV
>>73
書きこみに必要なピンのアサインや、そもそも書きこみの可否を変更しておいて「普通の」
ロジックで書き込めるって、そっちの方がおかしくない?
そりゃ、PICみたいにIn-Systemでも、書きこみ時に高電圧を要求するCPUならできるけどさ
(AVRでも、一度抜いてから、ライタで書き込めば、復活できるけどね)
75:774ワット発電中さん
08/06/16 09:12:14 7fNqUk4z
>>74
おかしいという点では、そういうことができるマイコンってのが、ちょっと
おかしいというか珍しいかな。
他の普通のマイコンではそういうことはないよね。
76:774ワット発電中さん
08/06/16 09:22:50 MDSoY/A9
>>73
何を重要視するかは人それぞれだろうから
色々使ってみるのも良いんじゃない。
77:774ワット発電中さん
08/06/16 09:43:18 829DH0LM
>>75
いや、その辺の事情はPICでもたいして変わらないよ。
PICも低電圧書き込みモードを使えば高電圧はいらないし、低電圧書き込みモードを
使えなくするヒューズ設定をすると高電圧をかけないと元には戻せない。
PICの場合、低電圧書き込みモードに特化した機能省略型ライタがほとんど存在せず、
フル機能ライタばっかりというだけ。
まぁ最近はそもそも高電圧を必要としないマイコンのほうが普通だから、
高電圧が必要な場合がある=特殊という認識なら、それほど外れてはいないけど。
78:774ワット発電中さん
08/06/16 10:13:34 QgDUTcsS
>76
そのとおりだと思う。
まーAVRやってる人ってほとんどPIC経験者じゃないかなあと思う。
79:774ワット発電中さん
08/06/16 10:14:17 ET8x0A5B
>>73
通常はリセットをIOに設定しなければいいだけの話で、
フル機能を持たない分、ライターは簡単で安価に作れる
80:774ワット発電中さん
08/06/16 10:23:32 BU4Pf53S
やってしまった
81:774ワット発電中さん
08/06/16 13:15:16 5Cy91+4m
俺もPICから引っ越してきたがAVRが快適すぎてもうPICには戻れない。
82:774ワット発電中さん
08/06/16 13:57:34 DZezCgEL
おれも
83:774ワット発電中さん
08/06/16 14:27:19 peKEkBLm
でも、dsPICには勝てないだろう
84:774ワット発電中さん
08/06/16 14:50:34 QgDUTcsS
>83
適材適所って聞いたことある?
85:26
08/06/16 14:52:56 /qjQn8Rj
おっと、2313の18bitをフルに使おうと考えてましたよ。
8x8x2色のLEDパネルを2個の2313をUSI2線動作で通信させて制御します。
(USI2線/3線動作ってどうですか??)
開発時は1bit省略で最後にRSTをIOに変更ですね。
いずれパラレルライタを作ろう。
URLリンク(elm-chan.org)
2313の場合はパラレルモードで・・・
と思ったらパラレルモードに12V必要なんですね。
9Vでは動かないですかね。9V電池でできればお手軽なのに。。
86:774ワット発電中さん
08/06/16 17:38:44 ca5Ybwvl
これからAVRの勉強をしようと思うのですがAVR関連の書籍でオススメの物はありますか?
87:774ワット発電中さん
08/06/16 17:41:43 xWsMhaQV
>>85
そのためのDC-DCコンバータでは・・・
88:774ワット発電中さん
08/06/16 17:43:23 xWsMhaQV
>>86
もう、これってテンプレに入れといた方が良いのかもね。
89:26
08/06/16 18:00:25 /qjQn8Rj
>87
9V×2=18Vにして100Kオームの抵抗3本で分圧でもOKでしょうか。
こういう場合の抵抗の大きさってどうやって決めるのでしょうか。。。
でも、エネループ6個かき集めて
Tiny2313リセッター
URLリンク(homepage2.nifty.com)
でなんとかなるなあとおもいました。
何度もやるわけではないし。
ちなみに、
『Tiny2313はS2313と比べると間違ったヒューズ設定をしてしまう可能性が高い』
ってのはなぜなのでしょうか?
>86
自分にとっては「試しながら学ぶAVR入門」は良かったと思う。
まだ実際に全部ためしたわけじゃないけど、通して読んでみてAVRで
何ができるのかがだいたいわかったきがします。
他の本は読んでないのでしりません。
90:774ワット発電中さん
08/06/16 18:10:33 MDSoY/A9
>>89
真意のほどは本人に聞かないとわからないと思いますが
想像するにTINY2313にはヒューズでRESETとI/Oを切り替えることができてしまうが
S2313にはそれがないってことではないでしょうか。
91:774ワット発電中さん
08/06/16 18:29:47 5Cy91+4m
>9V×2=18Vにして100Kオームの抵抗3本で分圧でもOKでしょうか。
ダメ
18Vに12Vのレギュレータつけるのが簡単かと。
92:26
08/06/16 18:36:58 /qjQn8Rj
>90
なるほど。
S2313は低い可能性で間違っちゃうのかと思ったけどゼロ%なんですね。
>91
だめすか。
なんでだろう。。。
AVRにつないだ瞬間に電圧かわっちゃうから? <まじでわかってない。
93:774ワット発電中さん
08/06/16 18:54:38 BU4Pf53S
分圧しても並列に回路つなげたら抵抗下がって電圧も下がるでしょ
94:774ワット発電中さん
08/06/16 19:06:43 bSC3KuMP
>>92
100kオームの抵抗にたった0.1mA流れただけで10Vの電圧降下。
しかも電池の電圧は残量によって変わる。当然分圧した電圧も変わる。
だから抵抗による分圧では正確で安定な12Vは得られない。
プログラミング電圧の12Vは安定した電圧じゃないとだめ
9V電池1本がいいならチャージポンプ型昇圧回路とかが簡単でいいんじゃね?
95:774ワット発電中さん
08/06/16 19:25:29 ojbTNgDR
12Vの電池も売ってるよ(タンゴサイズ)
以前ダイソで見つけた・・・・けど素直に12VのACアダプタ使えばいいんでないの
おらのSTK500はPCの12Vから直接取ってるけど。
96:774ワット発電中さん
08/06/16 19:40:30 +5MeslM0
>>86
PICじゃないんだから、「AVR」と名がつく本を全部買っても、
たいした事ないと思う。
amazonで調べても
試しながら学ぶAVR入門―マイコンの基礎と電子工作とWindowsアプリケーションの作り方 (Skill up my computerシリーズ)
AVRマイコン活用ブック―オリジナル電子ゲーム&ロボット製作 (わかるマイコン電子工作)
AVRマイコン・リファレンス・ブック―AVRのCPUアーキテクチャ、豊富な内蔵周辺機能を詳細解説 (マイコン活用シリーズ)
マイコン搭載ロボット製作入門―AVRで魚型ロボットのメカを動かす (電子工作シリーズ)
パソコン用手作り外部インターフェース―USBモジュール、PIC、AVR、H8を使って実装し、パソコンから入出力を行う (マイコン活用シリーズ)
マイクロコントローラAVR入門―身近で便利なワンチップマイコンの使い方と応用 (ハードウェア・デザイン・シリーズ)
12時間以内に「お急ぎ便」でご注文いただくと、2008/6/17 火曜日までにお届けします 。
これくらいだろ?
まぁ、どれかといわれたら、AVRマイコン・リファレンス・ブック かな。
97:774ワット発電中さん
08/06/16 20:06:35 l/4HrTjB
AVRいじってたら、
勉強しなかったのにテクニカルエンジニアエンベデッドに合格できました
98:774ワット発電中さん
08/06/16 20:17:38 Ym/Dnnz5
>96
武藤佳恭 『超低コスト インターネット・ガジェット設計 第1版』 オーム社
一冊つーたら俺もリファレンスブックになると思うけど、リファレンスブックでいい奴は
そもそも「どの本?」とか聞かないのではなかろうか。
99:774ワット発電中さん
08/06/16 21:18:04 QgDUTcsS
>>92
>AVRにつないだ瞬間に電圧かわっちゃうから? <まじでわかってない。
AVR云々の前にオームの法則を勉強した方がいいかと。。
100:774ワット発電中さん
08/06/16 21:20:40 ibiMrhzd
>>97
オメ
101:774ワット発電中さん
08/06/16 21:26:57 +5MeslM0
>>100
コ
102:774ワット発電中さん
08/06/16 21:43:27 ACI2/H8N
>92
+5Vに006Pのマイナスをつなぐと14Vになる。後2V減圧すれば12V。
新品のエネループは1.7Vぐらいあるので+エネループ4個で11.8Vになるよ。
103:774ワット発電中さん
08/06/16 21:44:50 ACI2/H8N
試しながら学ぶAVR入門とAVRマイコン活用ブックはWin-AVRを使っている。
Win-AVRは前Verから最適化のデフォルトが-O0から-Osに変わっているので
例文通りでもwait()が消えちゃう。
>70さんのnop();を入れるのが間違いない書き方だね。
AVRマイコン・リファレンス・ブックは使っているコンパイラがIcc-AVR。
といっても#include <***.h>以外はWin-AVRでもコンパイルできそうな書き方になってる。
104:774ワット発電中さん
08/06/16 21:55:29 5dh7DbPx
>>92
>S2313は低い可能性で間違っちゃうのかと思ったけどゼロ%なんですね
AT90S2313は高電圧ライタを使わないとヒューズビットの変更が出来ないので、
”低電圧ライタ”を使う限りでは、RESETをI/Oに切り替えてしまうことは無い。
無条件でゼロ%という訳じゃないぞ。
105:774ワット発電中さん
08/06/16 22:45:42 l/4HrTjB
AVR32をDIPで出してください
106:774ワット発電中さん
08/06/16 23:20:10 3emb5VZd
>>104
そもそもS2313にはRSTDISBLヒューズなんて無いし。
107:774ワット発電中さん
08/06/17 21:09:53 XGTTAaBk
ちらっと仕様書みてみた。
たしかに、S2313に関しては~RESETは専用端子なのでi/oを増やそうとして
間違ってResetをdisableにしてしまいISP不能にしてしまう事は無い。
ただ、SPIEN(シリアルダウンロードイネーブル)を高電圧モードで1にしたら
ISPは使えなくなる。
確立が低いというのは高電圧書き込みの道具を持ってない人はISPが使え
なくなる事はほぼ無いのでS2313は安全だという事なんじゃ?
108:774ワット発電中さん
08/06/17 21:28:12 CKiw3TSC
>>107
あり?S2313ってSPIでSPIENをDisableに出来たっけ?
AVRで一番やっちゃいがち(俺だけかも)なのは、クロックソースを
間違えて外部にしちゃったりとか。まぁ、外部からクロックを入れて
やれば復活はするけど・・・
109:774ワット発電中さん
08/06/17 21:29:31 CKiw3TSC
>>108
SPI→ISP
110:774ワット発電中さん
08/06/17 21:57:24 KF58Xx/G
RESETを3分間Loにするとヒューズが初期化される隠し機能とか無いのかなw
111:774ワット発電中さん
08/06/17 23:32:56 UXp+2dFH
>110
恐ろしい機能だな。
112:774ワット発電中さん
08/06/18 02:03:41 PvswKumm
>>108 漏れも外部クロック設定しちまって動作不能によくはまってた。
113:774ワット発電中さん
08/06/18 08:17:18 raJsNd2o
外部クロック設定で動作不能って言っても書き込み直せば使えるんですよね?
まさか、書き込みもできなくなるの?
114:774ワット発電中さん
08/06/18 08:52:25 MCCVKQjy
>>113
クロックがなくなると書き込みもできない。
内部RCやセラロックをクロックソースとしてハードを組んだ状態で、
外部クロックに設定しちゃうとISP経由での書きこみが出来なくなる(当然)。
こういうときは、簡単な発振器(インバータ×2のRC発振器で十分)出力を
外部クロックソースに使って、とりあえずフューズを書き換えて復旧させる。
115:774ワット発電中さん
08/06/18 09:48:02 raJsNd2o
>>114
ありが㌧
しかし、それも変態仕様だなぁ。
PICよりはマシ・・・なのか?
116:774ワット発電中さん
08/06/18 09:48:51 raJsNd2o
すまんsage忘れたorz
117:774ワット発電中さん
08/06/18 10:26:42 JZVv7NfO
そうかな? すっごく納得できる仕様だと思うけど。
わざわざ高電圧ライタを用意するよりだいぶ楽じゃないか?
118:774ワット発電中さん
08/06/18 10:31:58 raJsNd2o
>>117
外部クロックがないと書き込みできない仕様より、外部クロックがなくても
書き込みできる仕様のほうが納得できるんだが・・・
通常動作時に外部クロック供給の設定であっても、書き込み時には
セルフクロックで動作するマイコンのほうが多数派だし、扱いも楽だと思うんだが。
119:774ワット発電中さん
08/06/18 10:47:38 XtZ3/7/H
>118
PICならICSPでもMCLRの高電圧に気を遣わないといけないからイヤだね
120:26
08/06/18 10:58:06 T1y6Oj4w
URLリンク(homepage2.nifty.com)
Tiny2313リセッターはソフトでクロック出してますね。
121:774ワット発電中さん
08/06/18 11:01:54 raJsNd2o
>>119
PICとの比較だと、PICも高電圧なしで書き込みできるモードがあるけど、
低電圧書き込みモードのヒューズ設定を消してしまったら、再設定するには
高電圧ライタが必要。この辺の扱いはやっぱり変態だね。
122:774ワット発電中さん
08/06/18 11:07:08 XtZ3/7/H
>121
変態だからなんなの?
123:774ワット発電中さん
08/06/18 12:21:56 fU5tKcQH
変態だから、す・き
124:774ワット発電中さん
08/06/18 14:09:12 MCCVKQjy
>>118
クロックが無い状態で、どうやって書きこみモードに入っているってことをCPUに認識させるの?
汎用I/Oを使ったISP書きこみ(勿論、電圧制御などをしない)で、クロックソースが切り離されても
書きこみができるマイコンって存在する?
なんか、ID:raJsNd2oってISPによる書きこみを本質的に誤解しているような気がする。
125:774ワット発電中さん
08/06/18 15:53:00 raJsNd2o
>>124
>>114は、MPUコアのクロックを外部供給に設定すると、ISPで書き込みのコマンドを
送っても、コアにクロックを外部供給しないと書き込みができないって意味だよね?
MPUコアへのクロック供給がなくてもISPのシリアルコマンドのクロックは
あるんだから、書き込みモードに入ったことをチップが認識することは可能でしょ。
同じATMEL製でもシリアルEEPROMチップなんかはそういう動作してる
わけだから可能であることは明らかだし、他のマイコンを挙げるとすれば、
PICも書き込みのシリアルコマンドが入力されれば、MPUコアへのクロックが
外部供給に設定されていて外部からクロック供給がない状態でも書き込みできるね。
逆に聞きたいんだが、MPUコアのクロックを外部供給に設定するとISPで
書き込みができなくなるマイコン、AVRのほかに実在する?
ISPシリアルコマンドのクロックとMPUコアのクロックを取り違えてない?
126:774ワット発電中さん
08/06/18 16:08:31 XtZ3/7/H
>>125
>MPUコアのクロックを外部供給に設定するとISPで
>書き込みができなくなるマイコン、AVRのほかに実在する?
その比較になんか意味があんのかな
まさか優劣とかじゃないよね?
127:774ワット発電中さん
08/06/18 16:55:23 JZVv7NfO
雑談に意味を求めることに意味はなかんべ。
128:774ワット発電中さん
08/06/18 19:18:00 eBYisrII
>汎用I/Oを使ったISP書きこみ(勿論、電圧制御などをしない)で、クロックソースが切り離されても
>書きこみができるマイコンって存在する?
フリースケール
129:774ワット発電中さん
08/06/18 20:25:19 1gmNpx/R
JTAG とか使うんじゃねの?
130:774ワット発電中さん
08/06/19 20:01:15 26e9hCUO
Tiny2313 でスタックポインタの設定を忘れていた。
初期値が$00とあるから、スタックが進むと$FFとかなるんかな。
こうなった場合、AVRはどんな挙動が予想されますか?
131:774ワット発電中さん
08/06/19 23:27:39 u+h9rV1G
これからAVRを勉強しようとおもっているのですが、CのコンパイラはWinAVRとかじゃないと絶対無理ですか?
慣れてるので、できればVisual C++でやりたいのですが・・・
132:774ワット発電中さん
08/06/19 23:31:11 xj2cf/+W
つりですか
133:774ワット発電中さん
08/06/20 00:19:19 YmJuaxaL
あまりにもばかばかしくて思わず一度スレのログ削除しちゃった
134:774ワット発電中さん
08/06/20 00:23:46 SShDQ9Yb
VS2005のIDEだけ使ってる。
コンパイラーはWinAVRだが…
135:774ワット発電中さん
08/06/20 00:26:12 lM1OkOSS
変な質問してすいませんでした・・・
136:774ワット発電中さん
08/06/20 00:28:18 uvuZi4NQ
>131
AVR-GCCもあります。
>慣れてるので、できればVisual C++でやりたいのですが・・・
ソースは書いても良いですが、コンパイルするときは、WinAVRか、AVR-GCCで行えばオケ。
137:774ワット発電中さん
08/06/20 04:57:53 kJe9Bs2g
メイクファイルを作る。
VC++でメイクファイルプロジェクトを新規作成し、
このプロジェクトのプロパティで、上記メイクファイルを使ってビルドするような
ビルドコマンドラインを設定すれば、VisualStudioのIDE環境でもビルドできる。
138:774ワット発電中さん
08/06/20 08:27:26 5avISalj
URLリンク(www.avrfreaks.net)
ここに同じような話が出てるね。
139:774ワット発電中さん
08/06/20 09:30:16 cVUJRNdN
>>131
分かっているかどうか分からんが、VC++はあくまでエディタやプロジェクト管理とかのGUIだけ利用する、ということになるぞ
C++では書けないし、MFCやライブラリも利用できない(なのでエディタ上の自動補完、MSDNの参照とかはほとんど意味が無い)
コンパイラとライブラリは別のもの(WinAVRとかAVR-GCCとか)を使う。見るならそっちのライブラリのヘルプ
140:774ワット発電中さん
08/06/20 09:41:14 meoo+mze
>>139
Visual C#でAVR用のソースを書いている俺が飛んできました。
インテリセンスでコード補完が出来たり、リファクタ出来たりしてなかなか便利ですよ、と。
C++/C#の機能は使わず C コンパイラでコンパイル出来るように注意深く書く必要あるけどね。
141:774ワット発電中さん
08/06/20 10:27:17 JSmS3oBB
XCodeでやるときも似たような感じになるね。
142:774ワット発電中さん
08/06/20 11:11:23 FX8a8bLa
WinAVR以外の開発環境という話題になるなら、eclipse+AVR Pluginが使いやすいと思う
143:774ワット発電中さん
08/06/20 11:48:03 1oIP5Qpi
Cygwin,avr-binutils,avr-gcc,avr-libcの組み合わせは異端ですか?
144:774ワット発電中さん
08/06/20 11:50:34 GKsPp8KM
IAR Embedded Workbench コードサイズ制限版(4K) という選択肢もある
ユーザ登録が面倒だけど・・・
URLリンク(www.iar.com)
145:774ワット発電中さん
08/06/20 11:57:47 JSmS3oBB
>143
それ普通にWinAVRでは。。
146:774ワット発電中さん
08/06/20 12:07:43 40Nm5gzA
AVR StudioからWinAVRを使うのが一番楽では
147:774ワット発電中さん
08/06/20 12:17:20 FX8a8bLa
Windowsオンリーならそれでもいいけどそうとは限らないからな。
148:774ワット発電中さん
08/06/20 13:01:58 1oIP5Qpi
>>145
すんません、ボケてました。
149:774ワット発電中さん
08/06/20 15:59:03 meoo+mze
>>147
Windowsマシンが家に10台ぐらいある俺からすると、Windowsがない環境なんて考えられないので
純粋に興味本位でお尋ねしたいのだが、あなたの言う「Windows環境のない人」のイメージは
Linux使いなのか、それともMacなのか?
そういう人たちはWindowsが無くて困らないのか?
それともAVRのプログラムをやっているような人は組み込み系の人が多いので、
Linuxでコマンドラインだけで何でもやっちゃうのか?
俺んちにはMacはMacBook Airがあるだけで、LinuxはVmWare上にCentOSを入れているだけだ。どちらもほとんど使ってない。
150:774ワット発電中さん
08/06/20 16:15:07 vgYr2MBj
>>149
俺は廃品回収業
まで読んだ
151:774ワット発電中さん
08/06/20 16:41:42 meoo+mze
>>150
ワロタ
152:774ワット発電中さん
08/06/20 16:43:52 uuDnnjTk
大学で初めて触った計算機がIRIXとMacだった関係からか、
いまに至るまで、あんまりWindows触ったこと無い人間がここにいます。
一応組み込みでは無いけどソフトウェア開発者です。
最近、Windows用バイナリを作る羽目になって難儀しました。
家にはWindowsはありません。
こんな僕でもなんとか生きていけるようです。なんかごめんなさい。
153:774ワット発電中さん
08/06/20 16:46:03 uuDnnjTk
あ、書き忘れたけど、家で使っているのはMacとLinuxです。
AVR MacPack サイコー
154:774ワット発電中さん
08/06/20 18:42:16 FX8a8bLa
AVR MacPackいいよね
>>149
仕事対応せざるえない以外は、なくても全然困らない
155:774ワット発電中さん
08/06/20 19:06:09 JSmS3oBB
>149
XCode+AVR MacPackでやってるけど特に困ってないな
シミュレータ無いのが痛いけど、無きゃないでもなんとかなる。
winでしかできない時はwinでやるよ。
どっちでもできるのはmacでやっちゃう。
156:774ワット発電中さん
08/06/20 19:26:26 2CvL2vFj
>>150
それ、何て俺?
157:774ワット発電中さん
08/06/20 21:18:10 zHnKbHWk
米Atmel,独自の省電力技術を採用したマイコンを開発
URLリンク(techon.nikkeibp.co.jp)
158:774ワット発電中さん
08/06/20 21:52:12 8CY+tFh+
日本ではあんまりメジャーじゃないのかもしれないけど、CodeVisionの最適化
効率は驚異的。WinAVRと同じコードをmakeしても半分ぐらいになる。
コードで2Kまでは試用版でmakeできるのでおすすめ。Mega8ぐらいまでなら、
無料版で十分いろいろできる。
159:774ワット発電中さん
08/06/21 10:12:27 Yz7ytxx5
GAOとかyahoo動画見る時にはwindows必須
160:774ワット発電中さん
08/06/21 11:42:58 07OVMz5J
俺がAVRを始めたのはWinでなくてもひと通り開発環境がそろうから。
161:774ワット発電中さん
08/06/21 12:19:29 Yz7ytxx5
まあ俺もそうだ。
なので、仕事場で動画みたいときは、MacでParallels Desktop+Win版IE動かしてる。
162:774ワット発電中さん
08/06/21 15:34:49 zvSLxx9Z
携帯電話用の開発環境ないかね。
シリアルポートついてるんだし。
...あるわけないか。
163:774ワット発電中さん
08/06/21 15:53:30 7RPLMqCc
>162
URLリンク(code.google.com)
164:774ワット発電中さん
08/06/21 15:59:13 BwGgi8fa
URLリンク(code.google.com)
Will Android run on <insert phone here>?
No. There is currently only an Android SDK for the Windows, Mac OS X(intel), and Linux(i386) platforms. The SDK includes a software emulator on which you can test Android applications.
165:774ワット発電中さん
08/06/21 23:54:14 zvSLxx9Z
ちょっとキビシそうだこれは。
166:774ワット発電中さん
08/06/22 22:45:23 nxMJ3WYL
日本語で
167:774ワット発電中さん
08/06/24 00:51:01 fso1qyAL
いまだによくわかってないんですが、
xmegaって、AVR Dragonで書き込んだりデバグしたりできますか?
168:774ワット発電中さん
08/06/24 02:34:19 7DpA0I1y
DragonのDeviceSupportには、xmegaは入っていないようだ。
URLリンク(support.atmel.no)
169:774ワット発電中さん
08/06/24 22:26:36 CyFetoh1
英語が読めない人のAVRの勉強の進め方を教えてください
英語を勉強しろってのはナシで
170:774ワット発電中さん
08/06/24 22:28:06 hI7tN47x
そーいえば電波新聞社のAVRマイコンを使用したLEDマトリクスゲームキットを
買ったっきり半年ばかり放置してる
171:774ワット発電中さん
08/06/24 22:35:23 CyFetoh1
よかったら作ってくれませんか?
172:774ワット発電中さん
08/06/24 22:35:50 FP5bGI7t
>>169
日本語に翻訳されているデータシートがあるチップを選択する
日本語のサイトを検索して読む
日本語の本を購入する
173:774ワット発電中さん
08/06/24 22:44:30 FQ5pGtRP
あきらめる
174:774ワット発電中さん
08/06/24 23:02:11 m+xHxNnZ
英語は毎日みてりゃなれるさ
175:774ワット発電中さん
08/06/25 00:03:51 LjB5jbfT
データシートの英語なんて難しくないので英語を勉強したほうが早い。
176:774ワット発電中さん
08/06/25 00:55:43 OHsGizXk
HEROさんはほとんどのAVRを翻訳されている。すごいよ
177:774ワット発電中さん
08/06/25 01:45:34 XvD7a6qz
ほとんど自動翻訳。
英文を読む→機能を理解する→日本語で書く
の人力翻訳なら最高なんだけど、そこまで望むのはムリというものか。
178:774ワット発電中さん
08/06/25 02:26:25 hMjp4NYc
英語が読めないってネタでしょ?
179:774ワット発電中さん
08/06/25 03:28:02 nKI1ja1K
・単語だけ読んで何が書いてあるか推測する
英語ダメダメな俺でさえこれで何とかなってるよw
180:774ワット発電中さん
08/06/25 05:27:32 45Nd1RDQ
データシートとかなら頑張れば中学程度の英語力でも読める。
フォーラムは勇気がいるがw
181:774ワット発電中さん
08/06/25 08:23:51 b6xemOzu
朝からスマン、これってノーマルPVですか
合成とかじゃなくって・・・
URLリンク(www.nicovideo.jp)
182:774ワット発電中さん
08/06/25 08:25:59 b6xemOzu
誤爆 orz
183:774ワット発電中さん
08/06/25 09:12:39 fgxu95Cv
>>177
あれ自動翻訳なの?結構読みやすい日本語になっているが。
訳注も入っているし、少なくてもちゃんと内容理解して翻訳してるだろ。
根拠あればor中の人の発言ならいいけど、そうじゃなければちょっと失礼かと。
(「機能を理解する」が無理という部分が)
184:774ワット発電中さん
08/06/25 09:32:12 M1JZZyiS
>>183
>177ではないが、たとえば
URLリンク(reef.path.ne.jp)
で、
「この構造の結果は現状のCISC型マイクロ コントローラよりも10倍速いスループット
向上を成し遂げる更に優れたコード効率です」
てな具合だと、機械翻訳にかけていることは確かだろうね
185:774ワット発電中さん
08/06/25 09:38:56 T9qpwMLq
けど、文系の英語が得意な奴(大抵日本語は下手)が翻訳してもそんな感じだからw
186:774ワット発電中さん
08/06/25 10:21:12 tujAJ3ea
そんな奴を、英語が得意とは言わない
「文系」「理系」と語学能力関係ないし
187:26
08/06/25 11:15:40 uvLOnBce
WinAVRのC言語でのプログラミングはわかるようにはなりました。
(サンプルを改造する程度ですが)
次にやりたいこと(2313でi2c通信)を調べていたら動作しそうな
サンプルコードがアセンブラでした。
URLリンク(www.wsnak.com)
WinAVRでC言語とアセンブラを組み合わせて使うにはどうすれば
いいのでしょうか。「このページ嫁」でいいのでお願いします。
あと、上のURLのサンプルがアセンブラな理由はなんでなのでしょうか。
速度の問題でないのならばC言語に書き直してしまおうかとも思っています。
188:774ワット発電中さん
08/06/25 11:25:42 yqnig5Lj
CのサンプルならATMELのサイトになかったかな。
189:26
08/06/25 13:09:50 uvLOnBce
>>188
ありがとうございます!ありました!
URLリンク(www.atmel.com)
このページ楽しすぎです。なんでもできそうな気がしてきました。
2313ならこのへんですね。
AVR310: Using the USI module as a I2C master
AVR312: Using the USI module as a I2C slave
mega88ならこのへん。
AVR315: Using the TWI module as I2C master
AVR311: Using the TWI module as I2C slave
2313同士で通信させるので
AVR307: Half Duplex UART Using the USI Module
これで十分かもしれません。
190:774ワット発電中さん
08/06/25 23:00:40 eeABGp6m
>>184
そこの原文は...
| The resulting architecture is more code efficient while achieving throughputs
| up to ten times faster than conventional CISC microcontrollers.
だから、素直に訳すとそんな感じの文章になる。
機械翻訳だと...
[Excite]
結果として起こるアーキテクチャは従来のCISCマイクロコントローラより最大10倍速く
スループットを達成している間、より多くのコード効率的です。
[Yahoo/nifty]
従来のCISCマイクロコントローラより最高10回速くthroughputsを達成している間、
結果として生じる建築は効率的なより多くのコードです。
[livedoor]
生じるアーキテクチャーは、処理能力を従来のCISCマイクロコントローラより10倍以内
速く達成する間に効率的なより多くのコードです。
となるから、参考にしてるんだろうけど、機械翻訳をそのまま載せてるわけじゃないと思う。
191:774ワット発電中さん
08/06/25 23:21:25 tujAJ3ea
機械翻訳を<そのまま載せてる>なんて誰が言ってるんだ?
192:774ワット発電中さん
08/06/25 23:38:22 T9qpwMLq
結局機械だろうが人間だろうが単語の意味が理解出来てない上に日本語がおかしいとみょうちくりんな翻訳になる訳で>>185がガチ
「この構造の結果は」なんて専門用語じゃ無い普通の日本語としておかしい。
193:774ワット発電中さん
08/06/25 23:56:51 XvD7a6qz
まぁ、文法上の変換は翻訳には入らないよなぁ。
翻訳ってのは原文の意味を言語を変えて表現するという、一種の創作活動だからね。
でも、英語が全くダメな場合はあの程度でも十分役に立つから存在意義は大きい。
194:774ワット発電中さん
08/06/26 00:12:59 OiyovAzT
>>191
はいはい、あなたの言う通りです。
# 突っ込みできてよかったね。(w
>>192
> 「この構造の結果は」なんて専門用語じゃ無い普通の日本語としておかしい。
| 結果としてこのアーキテクチャは通常の CISC マイクロコントローラよりコード
| 効率がよく、同時に最大 10倍のスループットを成し遂げます。
ぐらいだと、だいぶ分かりやすいかな。
でも、そもそもデータシートなんて専門用語が使われてるし、大体の意味は取れるから
>>193 の言うように、存在意義は大いにあると思うよ。
195:774ワット発電中さん
08/06/26 00:17:34 QymmBLb6
>>183
強調したかったのは「日本語で書く」という部分なんだけど。
紙面をカラフルに飾ることなんかより、そっちの方にパワーを割いてもらった
方がよりより使いやすい日本語データシートになると思う。
196:774ワット発電中さん
08/06/26 00:44:10 NSJyXdwv
カラフルなのは無断印刷を防止したいからだと思っていたよ。
個人の勉強ために作ってくれたのに・・・
単語をクリックすると飛んでくれるので便利。
197:774ワット発電中さん
08/06/26 00:50:26 9MV56Oor
このアーキテクチャにより, より高いコード効率と共に
通常のCISCマイコンの10倍のスループットを実現します。
普通に読んで意味を日本語でかけばいいんじゃね?
198:26
08/06/26 00:59:44 aF7yDPxE
MacPackをインストールして秋月USBシリアルケーブルと
URLリンク(homepage2.nifty.com)
これを使って環境を作っているのですが、うまくつながりません。
なにかパラメータが足りないのでしょうか。
USBシリアルのドライバは
URLリンク(www.prolific.com.tw)
を入れました。
avrdude -v -c avrisp -p t2313 -P /dev/tty.usbserial
avrdude: Version 5.5, compiled on May 14 2008 at 14:05:11
Copyright (c) 2000-2005 Brian Dean, URLリンク(www.bdmicro.com)
System wide configuration file is "/usr/local/AVRMacPack-20080514/etc/avrdude.conf"
User configuration file is "/Users/***/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/tty.usbserial
Using Programmer : avrisp
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
199:774ワット発電中さん
08/06/26 06:06:29 rp7mw2K7
>198
まずはそもそもライターちゃんと動いてんの?
HPに載ってるやりかたのwinで確認したのか?
200:26
08/06/26 13:32:19 aF7yDPxE
>>199
レスありがとうございます。
USBシリアルから先の接続はそのままでUSBをWinに差し替えて
AVR Studio+WinAVRから書き込み、動作させることはできました。
URLリンク(homepage2.nifty.com)
ここに「AVR-ISPはアトメル互換品」とあるのでavrdudeで行けると
おもったんですが・・・
シリアル通信のパラメータかISP Freq.あたりの設定か・・・
macでavrdudeで「AVR-ISPはアトメル互換品」でやっている方いらっしゃいませんか?
201:774ワット発電中さん
08/06/26 14:18:24 oDgZi7Ge
>>200
-c avrispv2
でやってみ。
202:774ワット発電中さん
08/06/26 21:43:25 +55pJAl6
>>194
もっともそれを言い出すと変な訳されるより、原文のままキーワードを
拾うだけでも良いやってことになったりな
203:774ワット発電中さん
08/06/26 22:20:38 OiyovAzT
そう言う奴は、原文読むから問題ないでしょ。
あと、カラフルより日本語がどうのこうのとか言ってる奴いるけど、
だったら自分でやれよと思う。
204:774ワット発電中さん
08/06/26 22:37:16 MJBvwUTI
英語が苦手なら、日本語に訳してくれてる奴を読んで概要を理解した上で
細かい所は英語版を読めばいい。
あとAVRは新チップ、旧チップでレジスタ命やカウンタの使用が若干違う
けど基本的には似たような仕様なのでとりあえずどれでもいいから日本語
訳を読んでみるといいんじゃない?
205:774ワット発電中さん
08/06/27 05:32:36 4gEhApgT
何だかんだ言ってあの仕事はすごいことだと思うよ。
206:774ワット発電中さん
08/06/27 05:33:46 8DpqTzgE
何打 神田 秋葉原
207:774ワット発電中さん
08/06/27 07:33:17 DLbecLiw
日本語データシートとavr wikiだけで作ってるな。
あのデータシートながないとかなり困る。
208:26
08/06/27 09:11:03 /BTUAt1e
>>201
ありがとうございます。
avrdude -v -c avrispv2 -p t2313 -P /dev/tty.usbserial
これでOKでした。
Makefileは
DEVICE = attiny2313
CLOCK = 8000000
PROGRAMMER = -c avrispv2 -P /dev/tty.usbserial
OBJECTS = main.o
FUSES = -U hfuse:w:0xDF:m -U lfuse:w:0x64:m
これでOKでした。
avrdude: stk500_2_ReceiveMessage(): timeout
と出て、もたつくことが結構あるんですが待てば確実に書けます。
209:774ワット発電中さん
08/06/27 10:24:45 DLbecLiw
>208
AVRのヒューズ設定は?クロックの
210:774ワット発電中さん
08/06/27 10:30:33 HgWu5a8f
翻訳は単発の文を見れば変なところがあるかもしれんが、まとまった文章を
翻訳してると途中で脳がなぜか回らずに変な文章になることはままあること。
疲労とかじゃなくて脳がお腹いっぱいになる現象なんだけど、推敲を重ねれば
品質はあがる。でもそこまでいうならプロに頼めってことになる。
211:26
08/06/27 11:41:40 /BTUAt1e
>>209
シリアルの通信相手なのでライターのAVRですよね。
買ってきたまま「RS-CR方式」
URLリンク(homepage2.nifty.com)
で1回焼いただけです。
もう一個ライタ用を焼いて確かめてみます。
212:774ワット発電中さん
08/06/28 04:22:53 5Vg/fDvK
piano, synthesizers - Jim Beard(ジム・ビアード)
9年ぶりの新作Revolutions
CDはスパーCD(音が良い)
URLリンク(profile.myspace.com)
クイックタイムURLリンク(www.apple.com)
ライブURLリンク(www.jimbeard.com)
ライブURLリンク(jp.youtube.com)
ホームページURLリンク(www.jimbeard.com)
PokeURLリンク(www.jimbeard.com)
Gonna Tell on You URLリンク(www.jimbeard.com)
Haydel Bay URLリンク(www.jimbeard.com)
Jon Heringtonの新作Pulse And CadanceURLリンク(www.jonherington.com)
Pulse And CadanceURLリンク(info.hmv.co.jp)
213:774ワット発電中さん
08/06/28 10:17:09 yJqiQJgL
avr-gcc-4.3.0とBestTechnologyのBTC067を使って,ATmega32を
勉強中です.
32 bit変数(long,unsigned long)について質問させてください.
割り込みを禁止せずに32bit変数の演算を行うと値がかなりの
頻度で破壊されるのですが,これはそういうものなのでしょか?
また,条件分岐などの値を変更しない処理でも誤動作を起こすの
ですが,これもそういうものなのでしょうか?
最初の現象は,「そういうものかな」とも思えるのですが,後の
方はちぇっと納得いかない感じです.
もし32bit値を使わないや割り込み禁止以外の対処方法があれば
教えていただきたいのですが,よろしくお願いします.
214:774ワット発電中さん
08/06/28 10:45:30 42W0Sqk6
>>213
そんなもんではないと思いますが。割り込みが発生した時点でレジスタはちゃ
んと退避されますし、global変数を割り込みハンドラでいじってるとかなら
壊れて当然ですが。
割り込みを禁止する事によって、ポインタなどの可変範囲がかわっていません
か?変数が壊れたりハングしたりというのでまず思い浮かぶのは、配列の範囲
を越えてしまったとかかな。
215:774ワット発電中さん
08/06/28 12:08:27 yJqiQJgL
>>214
回答ありがとうございます.そうですか,割り込み禁止で括らなくても
大丈夫ですか.
>global変数を割り込みハンドラでいじってるとかなら壊れて当然ですが。
割り込みハンドラ内でいじっている変数を割り込み禁止せずに割り込み外
でいじったらということでしたら,大丈夫です.
ところで勉強不足で恐縮なのですが,
>ポインタなどの可変範囲がかわっていませんか?
この件の意味が分かりませんでした.ポインタの処理(例えば,ポインタの
データをループでIncrementしながらコピーする等)を行っているときに
割り込みが発生すると,ポインタが飛んだりするのでしょうか?
216:26
08/06/28 12:32:08 MMJegKQ8
>>209
avrdude: Device signature = 0x1e910a
avrdude: safemode: lfuse reads as 64
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
でした。ので「8MHz RC」でした。
ずっとエネループ2個でやっていたので電圧が低いかと思い、5VのACアダプタ
でやってもみましたが
avrdude: stk500_2_ReceiveMessage(): timeout
は相変わらずでます。
217:213
08/06/28 18:12:36 0UBtyAZm
解決したので報告します.WinAVR-20080610に上げたら直り
ましたw.
こまめにチェックしないと駄目ですね.ちなみに上げる前は,
WinAVR-20080430を使っていました.
218:774ワット発電中さん
08/06/28 18:23:37 uN9+Ulbx
>>216
入門用AVR-ISPライターがavrdudeでtimeoutするのはバグでした。
お手数ですがファームを更新してくださいです。
219:26
08/06/29 14:11:48 LJCDRw5L
お、作者さんですか!
ありがとうございます。
しかし、更新してみたのですがあまりかわらないです。
avrdude: stk500_2_ReceiveMessage(): timeout
が出ます。
しかし、毎回必ず出るわけではなく、1回の場合もあれば2回の場合もあります。
(ほとんどの場合は1回です。)
URLリンク(ja.pastebin.ca)
ここにログを置きました。
まったく焼けないわけではないのでお暇な時間に対応していただければ
助かります。
220:774ワット発電中さん
08/06/29 16:33:39 GKHVdlLx
疑問、質問なのですが、
ChaN氏のライタには -c パラメータでCAL値Flash書き込みがあります。
Flash末尾へのCAL値書込みって(AVRでは)一般的な手法なのでしょうか?
これって、AVRdude?/avrasp?/本家ライタとかにもあるんでしょうか。
AVRSPしか使ったことなく、代替処理など見つけれなかったもので…。
知っている方いましたら教えていただけると助かります。
221:774ワット発電中さん
08/06/29 19:07:35 v/y+mh+z
>>220
avrdude にはOSCCALの値をFlashに書き込む機能はない?みたいです
-OオプションでアプリケーションノートAVR053の方法によるCalibrationはサポートしているようです
本家 stk500/avrisp(stk500.exe)では -O/-Sf/-Seオプションにてavrsp相当の機能はあるようです
また、-YオプションでAVR053にも対応しています
USBaspについてはavrspxを使用することでavrspと同様の操作が可能です
222:774ワット発電中さん
08/06/29 19:47:54 V/WApfwY
>>220
本家AVR Studioは、工場出荷時の校正値を読み出して、FlashかEEPROMの
任意のアドレスに書き込む機能がついています。
でも自分で値を変更する事は出来ないという仕様なんで、それは使わず
専用のプログラムでI/Oをトグルさせてオシロで見ながら設定値を探し
eeprom.hのなかの関数を使ってEEPROMの一番後ろのアドレスに書
くようにしてます。
所でEEPROMをプロテクトするヒューズビットを立てずにはまった人って
いますか?自分はマニュアルをあまり読まない人間なので30分ほどそれ
で悩んでしまいましたw
223:218
08/06/29 22:57:37 tOlq0/rT
>>219
効果ないですか、私の方ではこれでtime outが出なくなりました。
Windows2000でavrdudeを試すとtime outが出ないのでファーム以外に原因がありそうです。
ファームをいじっても効果はなさそうですが、ページの下の方に対策版(ISP2313E)を追加しました。
224:774ワット発電中さん
08/06/29 23:11:49 Z6k2ldw5
どこかにAVRでスイッチング電源を作ったサンプルはないでしょうか?
225:774ワット発電中さん
08/06/29 23:26:50 bA6gXVKz
トラ技2007年5月号 URLリンク(www.cqpub.co.jp) に
>最終回 クローズアップ ! ワンチップ・マイコン〈第12回〉
>専用電源ICと同等性能のプログラマブルDC-DCを製作
>高速タイマ内蔵 8ビット・マイコンATtiny461
という記事 URLリンク(www.cqpub.co.jp) がある。
内容的には「これが同等性能???」という感じではあるが、参考にはなるかも。
226:774ワット発電中さん
08/06/30 00:13:56 i2gJr0Eq
ありがとうございます
ちょうどその号は持っているので読んでみます
227:220
08/06/30 02:42:51 OGwtzLut
>>221,222
回答ありがとうございます。
AVR053、拝見しました…が普段C使ってるのでasmは辛い。
斜め読みで、タイマカウンタ回して、所定のクロック待って、OVFした
回数から本来のクロックへ補正していく…ってところでしょうか?
オプションでAVR053に対応=EEPROM最初のアドレスに記入ですかね。
(つまり222さんの言うヒューズEEPROM消去だと、消えちゃう?)
>>222
自分は、AVRSPで校正値を読み出してソースコードの
初期EEPROMも毎回変更して再コンパイルして書込み。
手動AVR053と言ったところでしょうか…。
IC毎に書き込む.eepが異なる状態で、非常に面倒です。
プロテクト、面倒なのでデバッグでは毎回両方書いてますw
画一的にできるとすれば、AVR053を計測部分をプログラム実装なのかなぁ。
228:名無しさん@3周年
08/06/30 18:45:13 PTqJfVCV
すみません失礼します。BASCOMなのですが。avrの2313で簡易A/Dの仕方
(アナログコンパレーターを使って)のサンプルプログラムってございませんか?
(昔MCSのホームページでANに載っていたような気がするのですが、現在は見あたりませんでした)
ご存じの方いらっしゃいましたら是非、お願いします。
229:774ワット発電中さん
08/06/30 18:56:32 MNGtXyVu
サンプルソースはアセンブラなので
BASCOMで応用可能かはわかりませんが
ATMELのサイトにこのようなアプリケーションノートがあります。
URLリンク(www.atmel.com)
URLリンク(www.atmel.com)
230:774ワット発電中さん
08/06/30 19:46:00 8JixxFZY
A/D内蔵のTiny26やMega88あたりに変えたほうが手っ取り早い気がする
BASCOMならたったの2行でA/D数値を取り出せるし
231:名無しさん@3周年
08/06/30 19:54:44 PTqJfVCV
たしかにそうなのですが、、チップが100個近くも余ってまして。。。orz
(アセンブラはわかりません。初心者ですみませんです。。)
232:774ワット発電中さん
08/06/30 19:56:22 RXHzlcww
100個も何に使うんだ
233:774ワット発電中さん
08/06/30 20:22:34 iHHuHRej
初心者だけど、箱買いしちゃったんですね。
234:774ワット発電中さん
08/06/30 20:31:05 XeabKGmA
>>227
tips.txtに書き込まれた校正値をc言語で取得するサンプルが載ってる。
235:774ワット発電中さん
08/06/30 23:36:18 Mouq7rSP
>>227
確認だけどデフォルト以外の周波数を使いたいんだよね。
デフォルトならOSCCALを自動的にセットしてくれる。
236:774ワット発電中さん
08/06/30 23:48:22 PTqJfVCV
見てみましたが、コンデンサをチャージして、、、までしかわかりませんでした。
237:774ワット発電中さん
08/07/01 09:23:00 oEQcntV5
>>236
原理的には超簡単(積分型DACの教科書に出てくるような話)
RC直列回路を作って、これに時刻t=0でV0の電源に繋ぐと、コンデンサの電圧は
Vc = V0(1 - exp(-t / T))
ただし、T = 1/RC
RCが十分大きければ、exp(-t/T)≒ 1 - t / Tなので、Vcは電源入れてからの時間tに
ほぼ比例して上昇する。
そこで、アナログコンパレータを使って、Vcと外部(測定したい)電圧Viを比較し、Vc=Vi
(正しくはVc > Viとなる瞬間)の時間t0をタイマーを使って測れば、Vi = Vc*t0/TでVi
が求まるって原理。
測定前にCを放電させとかないといけないとか、変換時間が長いとか、非線形性が結構
強いとかの欠点もあるけれど、何より簡単、安価、ラダーと違って高精度抵抗が要らない
とかの利点も多いよ。
ちなみに、AVR401の方はコンデンサの充電を定電流でやるタイプ。こっちはVc = I0/C tと
なって(I0は流す電流)、線形性が大幅に向上する。
物は、ためしにやってみれば?アナログコンパレータを持っているAVRだったら、どれでも
できるはずだから。
238:774ワット発電中さん
08/07/01 14:59:16 3TrDUmol
>>237
「積分型DAC」は実在するけど、この場合は積分型ADCだよな。
電電板には、なぜかADCとDACを書き間違える香具師が結構いるんだよな・・・
239:774ワット発電中さん
08/07/01 15:11:57 tN6p1W/n
>>238
>>237 は、間違ってないと思うが…
240:237
08/07/01 17:28:52 oEQcntV5
>>238
すまん、もちろん「積分型ADC」の書き間違えだ。
241:774ワット発電中さん
08/07/01 21:46:40 nQa3MXdJ
>>239
さて、どうする?
242:227
08/07/01 22:32:37 wui8FI95
ありがとうございます。
>>234
説明いただいた方法は知っております。
数百台単位のロットになった場合に、プログラム側で
近い形で実現できればいいかな~とか思った次第です。
>>235
そうです。デフォルトでは、確か中央値の0x80になってるんですよね。
今日AVRDragon+Studioはじめてまともに使って(ぉぃ)所定の位置に
OSCCALのWriteを確認しました。AVRSP方式にもあわせこみできるようで
ひとまず -cオプションで進めることにします。
# 最初DebugWIREをDisableする方法分からなくて、無理かと思い焦ったw
243:774ワット発電中さん
08/07/01 23:08:19 fEDPqRZq
>>237
ありがとうございます。
しかし、初心者初心者いっていてすみませんが、全く理解できません。
(こんなやつがAVRマイコンで工作しようとするのが間違っているのでしょうか??)
ただ、電圧を7segで表示(簡易的に)したいだけなのですが、、、
みなさんレスありがとうございます。
244:774ワット発電中さん
08/07/01 23:14:13 hXkKP8it
>>242
0x80って事は無いと思いますよ。多分選択した内部発振周波数での校正値が
自動的にロードされてくるはずです。自分の持ってる石はほとんどBF-C4ぐ
らいなので、80だとMHz単位の誤差が出そうです。
面倒ならSig-genで基準周波数作って割り込みpinに入れて、カウンタでカウ
ントしながら自動的に校正値を決定してRomに書き込むようなプログラムを
入れ込む事は出来そうですけど。
Sig-genつないでいちいちやるのはめんどいけど、毎回値を書き換えてmake
しなおすよりはらくちんかも。
245:774ワット発電中さん
08/07/01 23:32:11 oEQcntV5
>>243
AVRの初心者かどうかってより、電気回路理論(過渡現象)の基礎中の基礎なんだけど・・・
理屈はともかく、次のようにすればとりあえずA/D変換できるはず。(回路はAVR400で1200を2313に
置換えただけとする)
0. 初期化(アナログコンパレータ割り込み可(立下りエッジ)、PB2を出力
1. PB2をLowにして、しばらくWait (←コンデンサに溜まった電荷を放電)
2. カウンタスタートと同時にPB2をHi(←コンデンサにチャージ開始)
3. カウンタリセット
4. コンパレータ割り込みルーチンでカウンタの値を読み込み(キャプチャ)
5. 1へ戻る
カウンタの値を k, カウンタが1インクリメントするのに必要な時間をΔt、R*Cの値をτ、電源電圧を
V0とすれば、求める電圧Vは
V = V0*(k*Δt)/τ
となる。ただし、非線形性が出るので、上式が実用となるのは2/5*V0ぐらいまで。あと、上のルーチン
はあくまで実験用で、実際に使うんだったらタイマー割り込みなどで、止まらなくなっちゃった対策を
しておかないとまずい。(いきなりVc > Viだったりしちゃった場合の対策(割り込みを使わずにACOを
モニタしつづける手もあるけど・・・))
これでだめなら、素直にATtiny26あたりを使うことをお勧め
246:774ワット発電中さん
08/07/01 23:33:39 oEQcntV5
>>245
あ、すまん。またやっちまった。手順2と3は逆な・・・
247:235
08/07/02 00:19:25 k+KYFOgB
>>242
デフォルトの意味が違ってますよ。
例えばTiny26は1MHz,2MHz,4MHz,8MHzそれぞれの校正値を持っているけど
リセットでOSCCALにロードされるのは常に1MHzの校正値です。
Tiny2313は4MHz,8MHzでデフォルトが8MHzだけどヒューズで4MHzにせず
8MHzをCLKPLで2分周すれば大丈夫。
248:26
08/07/02 01:11:51 mHFoJtfQ
>>223
遅くなりましたが、抵抗を追加して試してみました。
E版にしてみましたが、今度はタイムアウトが無限に続くようになってしまいました。
USB変換ケーブルが怪しいでしょうか。
とりあえず、A版をつかうことにします。
ありがとうございました。
249:26
08/07/02 02:13:37 mHFoJtfQ
tyny2313でI2C通信を試しています。
USIで使うピンはSCLとPB7、SDAとPB5がそれぞれ兼用なのですが、
このときPORTBの0,1,2,3,4,6番をOUTPUTとして使うことは可能なのでしょうか。
出力値を設定しようとPORTBに書き込むとUSIのユニットの出力を上書き
してしまわないでしょうか。DDRBでPB7,PB5入力にしてもプルアップがON/OFF
するので悪影響があるような気がします。
PORTB = (PORTB & 0b10100000) | (data & 0b01011111);
としたら安全でしょうか。
タイミングによってダメなような気もします。
250:774ワット発電中さん
08/07/02 06:31:29 xvhDoBsL
>249
そこまでできてなんで実際にやらないの?
251:26
08/07/02 10:10:10 mHFoJtfQ
>>250
舌足らずですみません。
実際に試してみて、PORTBに書き込んでいたら通信ができなくなり、
PORTB = (PORTB & 0b10100000) | (data & 0b01011111);
を入れたらとりあえず通信ができるようになったのでした。
しかし、この回避/対応方法が正しいのか不安だったので質問しました。
252:774ワット発電中さん
08/07/02 10:50:24 5wvimV2O
TINY45で、タイマー0の比較A,Bで割り込み処理して
Aの割り込みでAの割り込みをマスクしカウンターをリセット、
次のBの割り込みでBをマスクしてカウンターをリセット+分週比変更
AとBトグル処理をさせたいのですが、何故かAのみ連続割り込みをしてしまう
(シュミレーションではトグル出来る)
何が原因ヒントでも御願いします。
尚割り込みマスクを操作しなければ、出来るんですが分解能が犠牲になるんで・・
253:774ワット発電中さん
08/07/02 10:51:54 rvyt+Tlq
シュミレーション・・・
254:774ワット発電中さん
08/07/02 11:03:32 xvhDoBsL
>251
後出しいくない。
つか、だめなときのソースだしてみたら?
255:774ワット発電中さん
08/07/02 11:55:05 1HcjRYqg
>>251
データシートを読むとSDA, SCLはPORTB, DDRBレジスタの影響を受けるようですね。
(影響を受けるというかPORTBをソフトウェアで制御することが必要なのでそういう仕様?)
> PORTB = (PORTB & 0b10100000) | (data & 0b01011111);
たぶんこの対処で問題ないと思うけどソース全体をみないとなんとも言えないと思う。
256:26
08/07/02 13:25:44 mHFoJtfQ
>>254
ごめんなさい。
後で整理したダメコードをアップします。
デバッグ用のLEDをPORTBのSDA/SCL以外に繋いで、
送信側は送信したデータ
受信側は受信したデータ
をPIN0,1,2,3,4,6に表示していました。
>>255
> たぶんこの対処で問題ないと思うけどソース全体をみないとなんとも言えないと思う。
PORTBから読むタイミングと書き込むタイミングで信号が切り替わっていたら
だめですよね。
そんなことがあるのかわかりませんが、もっと確実な対処方法(書き込みを無視してくれるとか)
が無いのかなあと。。
夜にでもソースをUPします。
257:774ワット発電中さん
08/07/02 13:32:14 kK/+SgUh
>>251
> PORTB = (PORTB & 0b10100000) | (data & 0b01011111);
右辺でPORTBを読み込んでから、左辺でPORTBに書き出すまでに
割り込みでPORTBの値が書き換わらないことが保証できるなら、
それで意図した動作なのだろうけど。
このように、出力したい時に特定のビットだけ書き換えたいことがあるが、
DDRのような入出力の切り替えが欲しいのではなくて、出力マスクの設定が
欲しいんだよな…。
上のも出力マスクの設定があれば、
PORTB_MASK = 0b01011111;
の状態にしといて、
PORTB = data;
とするだけで済むのに。
258:774ワット発電中さん
08/07/02 16:40:22 x/HQ+TMd
ランキング
URLリンク(www.dmm.co.jp)
259:26
08/07/03 00:07:59 6Pjbcf40
URLリンク(aikofan.dee.cc)
upしました。(ぜんぜん整理できていないです。)
Atmelのアプリケーションノートとavrfreaksで拾ってきたものを元に
動くようにしたものです。
upしたコードは_delay_ms(10)を入れていますが、
delayなしのものを1日中動かしておいても動き続けていました。
260:774ワット発電中さん
08/07/03 11:57:49 A3jVoO4l
>259
I2Cやったことないんだけど
PORTBのDDR設定で
//LED feedback port - connect port B to the STK500 LEDS
DDRB = 0b01011111;
update_PORTB(0b01011111);
日本語データシートには2線動作の場合
-----------------
シリアル データ(SDA)とシリアル クロック(SCL)ピンは双方向でオープン ドレイン出力駆動を使用します。
この出力ドライ バはDDRレジスタでSDAとSCLに対応するビットの設定(=1)により許可されます。
-----------------
っておもいっきり書いてあるけど、どうなんだろう?(なにぶんI2C未経験なので)
もひとつ、
update_PORTB(0b01011111);
最初のポート設定でupdateは気持ち悪いと思った。
サンプルコピペよりもデータシートとwiki見てイチから書いたほうがよっぽど簡単になると思う(笑)
261:26
08/07/03 14:31:55 6Pjbcf40
> PORTBのDDR設定
USI_TWI_Master_Initialiseで初期化してくれてるみたいです。
DDR_USI |= (1<<PIN_USI_SCL); // Enable SCL as output.
DDR_USI |= (1<<PIN_USI_SDA); // Enable SDA as output.
> イチから書いたほうが
動作確認できたのでこれから整理していきます。
通信モジュールをゼロから書くのは結構面倒そうなのでこのままのつもりです。
これでI2Cで2313を100個以上つなげるので、、、、
・・・なにができるかなぁ。
262:774ワット発電中さん
08/07/03 14:41:34 SaGuiAYv
>>これでI2Cで2313を100個以上つなげるので、、、、
正気か?つないで何をする?
I2Cは基板内のような、ごく限られた条件下での使用を想定した
通信方式の筈だが。ケーブルで延ばすなら通信速度を大きく下げて
ノイズに対する対策をこれでもかとやらないと無理だと思う。
263:774ワット発電中さん
08/07/03 14:47:45 rcYrndVr
何をするのか考えてないのか・・・・・
264:218
08/07/04 00:23:44 bWQ+niRi
>>248
役に立たず済みません。
> E版にしてみましたが、今度はタイムアウトが無限に続くようになってしまいました。
7番ピン(RTS)を+電圧として仮定してますので改悪になってしまったようです。
> USB変換ケーブルが怪しいでしょうか。
RS232-Cがシャットダウンしていて最初の1文字が受信できてないと思います。
MAX232などを使うと直りそうですが、トリプルは作るのに少し手間が掛かりますし
直るとも言い切れませんです。
265:218
08/07/04 00:28:39 bWQ+niRi
> 7番ピン(RTS)を+電圧として仮定
マイナス仮定でした。10kオームでは弱かったようですが、抵抗値を低くすると+が下がってしまいます。
266:774ワット発電中さん
08/07/04 08:20:49 1Swu4p2A
>261
どんな回路かわからんが、回路内蔵プルアップでやってんの?>I2C
これもあんま気持ちいいもんじゃないよな。
ちなみに、修正したら通信できるようなったとあるが
原因はPORTB上書きによる弊害だったのは決定なわけ?
ピンで確認したとか?
100個以上。。。通信部分も書けないのに?
267:774ワット発電中さん
08/07/04 08:39:48 3xnUYM+i
>>245
了解です。なんとなくわかったような気がします。
つまり、比較する電圧とコンデンサにチャージする時間で割り出そうという考え方ですね。
268:26
08/07/04 10:18:54 4f99B00W
>>264
いえいえ。とんでもないです。
すばらしいライターのおかげで鶏を作れて今があります。
我慢できなくなったら「Windowsではリトライが早い」のをMacに移植仕様と思います。
>>263
とりあえず2313を2個繋いで8x8x2色のLEDパネルを制御するのが目標です。
夏が終わる前に「自宅サーバ--RS232C--AVR温度計--赤外線--エアコン」ってのは作りたい。
I2C的には、LCDモジュール、温度計モジュール、サウンドモジュール
マトリックスLEDモジュール、赤外線リモコン送受信モジュール、
とかつくって組み合わせて親機から制御できたらいい夏休みの自由研究になるなあとおもいました。
>>262 >>266
100個は冗談です・・・・>>231
269:774ワット発電中さん
08/07/04 16:01:11 JCzuX7js
温度計とか湿度計とかのデータロガー作りたいなって。
パソコンのブラウザから参照できたりして、グラフ表示になってると面白いなって・・
270:774ワット発電中さん
08/07/04 16:12:34 2XkLiRiS
MRTG
271:774ワット発電中さん
08/07/04 18:11:47 75lQxuk5
>>268
100個は冗談です・・・・
ようするに、釣りですね、分かります
272:774ワット発電中さん
08/07/04 19:35:41 0eJzsq1C
早押し機とか作るのかと>100個
273:774ワット発電中さん
08/07/04 20:44:42 BHkZYT02
ル・マン方式で最初に起動したデバイスがメインとして採用されます。
274:774ワット発電中さん
08/07/04 23:17:42 SvzNV88h
100年後最後まで残ったデバイスがr
275:774ワット発電中さん
08/07/04 23:23:56 00JaKXeE
digikeyの通販サイトでAVRISP2買おうと思ったんだけど
ATAVRISP2
ATAVRISP2-ND
と二種類あるんだけどどっち買ったらいいのでしょうか?
ググっても出てこないし、違いだけでもわかれば…
276:774ワット発電中さん
08/07/04 23:29:02 uJrWdhwF
>>275
ATAVRISP2はメーカ(ATMEL)型番でATAVRISP2-NDはDigiKeyの品番ではないのかな。
と言うか一つしかでてこないけど。
277:774ワット発電中さん
08/07/04 23:40:21 00JaKXeE
URLリンク(jp.digikey.com)
このページで数量の横の品番を選択すると2種類出てくるんです
どっちも同じなのかな?
278:774ワット発電中さん
08/07/04 23:45:07 uJrWdhwF
>>277
どっちも同じと思うけど心配なら-ND付きの方にしておくとか。
279:774ワット発電中さん
08/07/04 23:47:16 x+GYWAxX
arduinoってどうよ。
280:774ワット発電中さん
08/07/05 00:02:36 00JaKXeE
>>278
両方注文したら同じ商品が二つ入っているという注意文が出たから
ーNDのほうで注文しました
281:774ワット発電中さん
08/07/05 00:26:00 qVz3CsAY
>>279
興味ある
282:774ワット発電中さん
08/07/05 01:48:37 rQVYlJt5
>279
プロトタイピングにはいいかもだけど
あくまでその程度だしな。
小回り効かなくてそもそもデカイし。
素のAVRで作れる人には無用かも。
283:774ワット発電中さん
08/07/05 17:45:53 g2GAkb0U
WinAVRを調子よく使っていたのですが、
170byteくらいのhexファイルのプログラムでif文を書いたら突然
コンパイル後のサイズが4kBを越えて書き込めなくなりました。
何をチェックすべきでしょうか?
AVR wikiにあったファイルサイズを小さくする方法は
どれも該当しておりません。
284:774ワット発電中さん
08/07/05 17:56:56 rQVYlJt5
エスパーじゃないんだから、まずソース
285:774ワット発電中さん
08/07/05 20:54:56 VZHkVLaz
>>284
すみません。お願いします。
#include <avr/io.h>
#define F_CPU 1000000UL // 1 MHz
#include <util/delay.h>
int main(void){
unsigned int j;
unsigned char x;
double o1=4.0;
double T;
for(j=0;j<2000;j++){
x = 0b11001101;
if (bit_is_set(x,0))
o1 = 3.0;
else
o1 = 2.0;
T = 2/48*1000000/o1/(2.0*2.0);
_delay_ms((int) T);
}
}
286:774ワット発電中さん
08/07/05 21:36:56 7br7oyiY
>>285
浮動小数点が怪しい
287:774ワット発電中さん
08/07/05 23:00:47 qVz3CsAY
俺もそう思う>浮動小数点
288:774ワット発電中さん
08/07/05 23:15:14 2nE1Hx25
>>285
元ソースから
> if (bit_is_sen(x,0) )
を追加したんだろうが、これを追加するとコンパイル時にはここが成り立つかどうかが確定できない。
(最適化を頑張れば確定できるが、そこまで頑張らない)
そうなると、コンパイル時に定数と確定していて、最適化が出来ていたのに
最適化できなくなり、浮動小数演算ルーチン一式が必要になってコードサイズが膨らんだ。
> T = 2/48*1000000/o1/(2.0*2.0);
何がしたいのかさっぱりわからんが演算順序変えたらこんなものintだけで十分だろ。
あとF_CPUをdefineしてるならそれ使おうな。
ついでに言うと、正確に1 ms単位で待てるわけではないので、そのソース、本当に
タイミングがシビアな用途だと問題がある…が、そんなに精度は要求されてなさそうなので
(そのあとdelay_msを引数intで渡してるぐらいだし)まあ、いいな。
289:774ワット発電中さん
08/07/06 00:17:52 mCLLFMlD
>>288
コンパイラが最適化してくれるかもしれんが
o1とかTのとる変域、値域によっては、
T = 2/48*1000000/o1/(2.0*2.0);
は
long T,o1:
T=10417/o1:
で事足りるかもねー
290:26
08/07/06 01:03:40 KgZfwCxy
今度はPCとシリアル通信させようと
データシートのUSARTとURLリンク(elm-chan.org)
を見て頑張ったけどレベルの反転が必要だと言うことに気がつきました。
これ
URLリンク(homepage2.nifty.com)
は、ソフトウエアUARTだからレベル反転が不要ということでしょうか。
レベル変換ICなしでUSARTのモジュールを使えるようにする裏技なんてないですよね。
291:774ワット発電中さん
08/07/06 01:17:51 Qs+iTbRR
ハードのUSARTはレベル反転が必須。
ソフトUARTは送信中に受信できないのでプロトコルを考える必要があるよ。
292:242
08/07/06 10:01:44 OcM4Xmpm
やっとアクセス規制とれたorz
>>244,247
0x80じゃない、まじですか俺あほだぁ。となると一つしかCAL値がない、
例えばMEGA88の場合は、あえてずらす使う方法でもしない限り
OSCCALの設定は不必要ってことでしょうか?
OSCCALの質問から入ったのですが、元々はMEGA88にて
・CKDIV8 = 0(8分周)
・UARTの通信レートが合わない
・OSCCAL = 0xXX 実装してみた。
・UART通信OKになった!
となったからです。244,247さんの通りだと、自分の用途では
OSCCALによる校正の必要がないように思います。
色々ご教授いただきましたが、自分の実験ミスが根底にあったかも。
すいませんいま一度、確かめてみます。
しかし、今回かなり勉強になってます。本当にありがとうございます。
293:774ワット発電中さん
08/07/06 22:24:20 79ETIdma
どこかにPC用の液晶を制御する例はないですか?
294:774ワット発電中さん
08/07/06 22:30:48 CMSPyVuj
>>293
URLリンク(elm-chan.org)
これはモノクロだけど原理的にはカラーでも同じだと思うよ。
まあ問題はスピードが間に合いかどうかだろうけど
295:774ワット発電中さん
08/07/06 22:47:16 79ETIdma
ありがとうございます
chanさんのページですか
296:285
08/07/07 00:20:30 J/E8r+hF
>>286-289
アドバイスをありがとうございます。
自分:
> T = 2/48*1000000/o1/(2.0*2.0);
の計算内容にはあまり意味はありません。
if (bit_is_set(x,0)) 文をコメントアウトしてもコードサイズは減りますし、
_delay_ms((int) T); だけをコメントアウトしてもコードサイズは減りました。
結局、自分の理解していないと思うことは、AVRにおける浮動小数点の扱いです。
8bitのマイコンで浮動小数点を使うこと自体無謀なのでしょうか?
math.hも使いたいのですが。
297:774ワット発電中さん
08/07/07 00:22:47 tevC3XyB
うん。
298:774ワット発電中さん
08/07/07 00:36:24 4Wbh2hfv
>>296
浮動小数点は8ビットマイコンはもちろん、DSPでさえNAF。
DSPでもせいぜい固定小数点。
8ビットマイコンなら出来るだけlong型で押し通せ。
299:774ワット発電中さん
08/07/07 00:49:46 vp7mYFgC
最近、ちょっと気になってRAM512バイトの8ビットマイコンで浮動少数を使ってみた。
RAMはほぼ全部スタックにしたんだが、掛け算だけでスタック半分取られたっはっはっは。
300:774ワット発電中さん
08/07/07 00:57:05 61ZChlq0
浮動小数点や固定小数点の変数の中身をLCDに表示してみたいんですが良い方法ありませんか?
301:774ワット発電中さん
08/07/07 01:05:59 lxCrwcPo
>296
ちなみに libm.a リンクしてる??
302:774ワット発電中さん
08/07/07 02:16:39 4Wbh2hfv
>>300
100倍とか1000倍とかして、Long変数の範囲内にして表示すれば?
303:774ワット発電中さん
08/07/07 10:32:04 IN++mQSF
>>298 DSPでもせいぜい固定小数点。
浮動小数点DSPがあるじゃないか。(TMS320C67xx, TigerSHARC, etc)
それに、16bitや32bitのマイコンでも、コプロを積んでいなければ
固定小数点DSP(普通は16bit)と大差ないよ。
>8ビットマイコンなら出来るだけlong型で押し通せ。
この点には同意。
304:774ワット発電中さん
08/07/07 10:37:40 lANRD1gY
そういえば、固定小数点の演算ライブラリってあるのかな?
305:774ワット発電中さん
08/07/07 18:17:29 CBDOf0PO
固定小数点だと、整数演算みたいなもんやん
306:774ワット発電中さん
08/07/07 18:51:25 i5GZZzGk
固定小数点でシコシコ手打ちとかどこの最先端TK80だよ。w
307:774ワット発電中さん
08/07/07 22:32:42 E1dIk5Nj
>>300
流れ上、浮動小数点NGな雰囲気になってしまってるが、漏れはめんどいの
で普通に浮動小数点で計算して、sprintfかftoa使って文字列に落としてか
ら表示してる。
mega8とかで、処理速度を気にしなくてメモリが余ってるときの話な。
例えば圧力センサのVoutをADCで数値にしてから、単位変換して表示
させるような場合。
WinAVRとかじゃなくCodeVisionとか使うなら、浮動小数点でもそれな
りのサイズには収まる。リソースとお手軽さをはかりにかけて選べ
ばいい。処理速度やメモリ効率を突き詰めると全部アセンブラで書か
なきゃいけなくなるし。
308:774ワット発電中さん
08/07/07 22:40:30 XSC61Ub+
Alf and Vegard's Risc chip
309:774ワット発電中さん
08/07/07 23:11:02 IIKL8UKx
>>308
日本語だとどういう意味?
310:774ワット発電中さん
08/07/07 23:31:44 sIMZJV7r
>>296
浮動小数点入れると4kBくらいはあっという間。
LSTファイルでアセンブラレベルではどうなっているか眺めてみては。
それでどれくらい大変かは検討つくと思います。
MUL命令がないAVRだとさらに大変だろうなあ。
megaシリーズでなければやめといた方がいいと思う。
Wikiの、サイズを小さくする方法ってのは
サイズを気にする人がまさか浮動小数点を使うとは思ってもみなかったのでしょう。
mega168とか普通に使える今なら、もっと気楽に浮動小数点使ってもいいね。
311:774ワット発電中さん
08/07/07 23:44:39 Ht5yGqEv
URLリンク(www.eleki-jack.com)
の2007年9月26日からの連載を読んで、AVR Studio上でWinAVRでコンパイルできる環境を作って、
変数を見てみたり、Disassemblerを見てみてください。
if をコメントアウトしても、4kB以下にならなかったので、よくわからないです。>>285
170byte以下にするのもほとんどのソースを削らないと難しいのだが・・・???
何か隠してません?
312:774ワット発電中さん
08/07/08 18:50:24 Q2lLk+2i
285じゃ無いけど
T = 2/48*1000000/o1/(2.0*2.0);
_delay_ms((int) T);
これがコードでかくすると思う。
delay_msは定数を与える && 最適化オプションON
でないとデッカイコードを吐くから。
void waitMs(int time)
{
for(;time;time--)
_delay_ms((1);
}
313:774ワット発電中さん
08/07/08 18:51:25 Q2lLk+2i
途中で書いてしまった。
こんなんすれば関数呼び出しオーバーヘッド分誤差が出るけど
コードサイズは膨れないと思う。多分。
314:774ワット発電中さん
08/07/08 21:17:41 0UnACunm
>>311
>何か隠してません?
お前、なんか悪いものでも食って当たった?
315:285
08/07/09 10:26:12 7mhMR2Q4
>>301
libm.aをリンクしていませんでした。リンクしたところ、
hexファイルが1.2KB程度になり書き込めるようになりました。
#すぐにあふれそうですが。。。
#ありがとうございました。
>>297-299 >>303
非常に参考になります。固定小数点数の使用にトライしたいと思います。
>>307 >>310
浮動小数点数も使えることは使えるということですね。
>>311
私の環境では、if文をコメントアウト→小さなhexファイル、あるいは
_delay_msの文をコメントアウト→やはり小さなhexファイルとなりました。
小さなhexファイルとは、百数十バイト程度です。さらに
libm.aをリンクさせた時は、百バイト代前半になりました。
>>312
libm.aなし→2KBに半減するも、書き込めず。
libm.aあり→1KB弱まで小さくなり、書き込めました。
皆様、大変勉強になっております。ありがとうございます。
316:774ワット発電中さん
08/07/09 17:23:48 d4rFTVYo
秋月で attiny2313が @90円(18個以上購入時) と大変安いので、これを
FT232RLと繋いでシリアル通信させようと思うのですが、9600bpsぐらいなら
内蔵の発振回路で問題ないでしょうか?
@90円のマイコン本体に @50円の水晶を使うのも…と思って質問させてもらいました。
出来れば内蔵の発振回路で38600bpsで通信できるともっと良いのですが…。
周波数校正値をOSCCAL レジスタにセットした場合、
どれくらいの期間で狂ってくるものなのか、どなたかご存知ありませんでしょうか?
317:774ワット発電中さん
08/07/09 19:32:18 SIzqqxIo
>>316
適当にトレーニングさせてクロックを較正してやればOK
318:774ワット発電中さん
08/07/09 20:18:09 2Iif2ml6
>>316
誤差が蓄積しないよう、データを程々に短く切って送ればいいんでね?
319:774ワット発電中さん
08/07/09 20:41:53 2UGJCU/E
asyncでそれはないでしょ
320:26
08/07/09 20:56:28 tuUhnxaO
非同期ならスタートビットからストップビットまでせいぜい10数ビットの間ずれなければOKと理解してますがあってますか?
321:774ワット発電中さん
08/07/09 20:59:53 q2NxskP1
>>316
自分の所では115200でも通信出来てる。
UARTだとスタートビットで同期がとれるので、
バイト単位で誤差が修正され蓄積されることは
無いと思う。
よっぼど周期がずれてない限り大丈夫じゃない?
322:774ワット発電中さん
08/07/09 21:24:29 F/TSJyCj
>>321に同意。UARTならスタートビットの立下りでサンプリング位置が補正される
ので、1バイト単位で通信できれば誤差の累積は無いと記憶している。
323:774ワット発電中さん
08/07/09 21:26:15 2UGJCU/E
同期でもST2にすりゃ問題ないはず
324:774ワット発電中さん
08/07/09 21:41:07 gHD3BToh
>>316
校正なんて何にも考えなくても9600bpsなら無問題(実際やってる)
325:774ワット発電中さん
08/07/09 22:13:49 O75FNchG
通信速度が遅ければクロックが狂ってても問題ないのか?
326:774ワット発電中さん
08/07/09 22:20:41 gHLWqM+l
分周して通信速度*4±1.5%くらいのクロックが作れれば問題ないと思う。
327:774ワット発電中さん
08/07/09 23:26:46 IMS3/MgQ
その肝心の精度がデータシートに(実力値しか)載ってない、ってのが問題なんだが、
まぁダメなら破産するの?死ぬの?ってわけでもないんだろうから、
運よく動けばよしでいいんじゃないの。
328:316
08/07/10 01:06:58 wutDGNZq
みなさん、丁寧に教えていただいて、ありがとうございます。
特に>321 >322 が大変参考になりました。
329:774ワット発電中さん
08/07/10 01:21:17 EYippsH7
115.2kは誤差-3.5%だからダメだろうと思って実験したらできた。
OSCCAL値-2~+4でOKだったので+1かそのままで問題無いと思う。
誤差は内蔵RCの精度と8MHzがボーレート*16倍の整数倍になっているかが重要。
実は4800bpsでも38400bpsでも8MHzに対する誤差は0.2%で一緒なんです。
ただボーレートが遅いと計算せずに付けたクロックでも分周値でごまかせる。
(例えば8MHzの4800bpsなら分周値UBRRが103なので1%ずつ調整できます)
330:774ワット発電中さん
08/07/10 01:33:59 CgBi/Vyk
tiny2313の日本語訳データシート見る限り
OSCCALはスタートアップ中に自動的にセットされるから
特に理由が無い限りプログラム側でいじる必要ない
って思ってたんだけど、合ってるよね?
331:774ワット発電中さん
08/07/10 06:12:06 TBb+mkNp
>>330
250kbpsの通信をやらせていますが(すいません、BASCOMなのですが)
OSCCALを指定してやるとうまく通信するが、指定しないと通信しないという事はあった。
ぼんやりプログラムいじってますので、別の要因とごっちゃになってるかもしれませんが。
332:774ワット発電中さん
08/07/10 14:48:16 hpyBkEVU
PICのコードプロテクトに相当するものは何と呼ばれているのでしょうか。
「AVR プロテクト」などで検索しても見つけられませんでした。
333:774ワット発電中さん
08/07/10 15:26:31 QHKj4Fae
Memory LockないしMemory Lock Bitsだな。
334:774ワット発電中さん
08/07/10 17:08:54 hpyBkEVU
ありがとうございます。それで調べてみます。
335:774ワット発電中さん
08/07/10 19:03:18 VHzNxYnT
とりあえずデータシートを全部読んだ方が良いよ。
336:316
08/07/10 19:35:40 wutDGNZq
昨日、皆様にATtiny2313の内蔵RCでシリアル通信が出来ると教えていただいたので、
今日、何も考えずに秋月にATtiny2313を100個発注しました。
FT232RLのTxDからATtiny2313のRxDへつないで、ATtiny2313を
100個まとめて制御してみたいと思ったからです。(具体的には何もアイデアはありませんが)
1つのFT232RLのTxDに複数のATtiny2313のRxDを接続する場合、
何個ぐらいまでならぶら下がりますでしょうか。
データシートの読み方がいまひとつわからないのでアドバイスをいただきたく。
まずはFT232RLのTxDのfanoutと駆動電流をチェックすることから始めようと思ったのですが
それすらわからず…。
337:774ワット発電中さん
08/07/10 20:16:09 Jt9685hy
ファインアウトよりも配線のコンデンサ(浮遊容量)分で波形がなまると思う。
AVRでincして次のAVRに渡すのはどうかな。
FT232RL(0送信)-->AVR(1)-->AVR(2)-->AVR(3)......AVR(100)みたいな。
338:774ワット発電中さん
08/07/10 20:21:50 FeeSRV4s
ファンナウトを考えるなら
電気的特性の出力電流と
入力漏れ電流あたりを見れば良いと思う。
でも、100個をそれなりの間隔で並べると、
線路の容量で波形がなまってくると思うので
そうすると単純に出力電流/入力漏れ電流では考えられなくなるかも。
速度を上げすぎると信号がパタパタしなくなるかもだし、
まあ、適当なところでドライバとしてなんかいれれば良いと思うけど。
それか、Txを使うつもりが無いなら受信データをそのまま吐くようにして
ディジーチェーンさせるという方法もある。
FT232-Tx|---|Rx-Tiny-Tx|---|Rx-Tiny-Tx|・・・
でもこれ100個もやると結構遅延すると思うので、なにに使うかにもよるかな。
339:774ワット発電中さん
08/07/10 20:22:46 5I3q2Tqo
それより、AVR の書き込みをどうするのかと小一時間(ry
340:774ワット発電中さん
08/07/10 20:24:37 FeeSRV4s
かぶってしまった。
まあ、何に使うかを決めて
その制約の範囲で方法を考えるのが良いと思いますよ。
341:774ワット発電中さん
08/07/10 20:27:30 QHKj4Fae
最近はAVR×100個が流行りなのかね。
このスレで、ここ1ヶ月で3人目か。
342:316
08/07/10 20:28:46 wutDGNZq
>>337
数珠つなぎにするわけですか…。なるほど。
38400bpsで接続しようと思っているので、1バイトのデータを
最後である100番目のATtiny2313に伝達するのに(ロスがないとして)
100×1秒/(38400/8) = 0.02秒。
UARTのロスがあったり、受信してすぐに次のATtiny2313に送信できるか
という問題があるとして…この10倍要しても0.2秒!!
意外と実用的なんですかね。
最後のATtinyのTxDをFT232RLのRxDに接続しておけばそれぞれのATTinyと
数珠伝いに通信することも出来るので案外面白いかも…。
343:316
08/07/10 20:37:26 wutDGNZq
それぞれのAVRに固有のIDを振って、それによって挙動を制御しようと思っていたのですが、
IDだけ異なるプログラムをそれぞれ書き込むのが面倒だなと思ってました。
ところが、数珠つなぎにすると、自分のIDを次のATTiny2313に伝達して、次のATTiny2313は
そのIDに +1 したものを自分のIDとすればいいわけですね。
ひょっとしてSCSIとかそういう仕組みなんですかね。
これならすべて同じfirmwareで済むので書き込みが非常に楽です。これでいきたいと思います。
皆さん、本当にありがとうございます。
344:774ワット発電中さん
08/07/10 21:20:21 eGPdquFz
いや、SCSIはエンドユーザーがDIPスイッチ操作して、自機IDが重複しないように設定してたし、
USBやiLink機器はメーカー毎のIDと製造時のシリアルナンバーから生成される固有IDを
一台毎にファームウェアに書き込んでる。
フラッシュROMなりEEPROMの自機IDデータは"00"とかにして製造。
パワーONリセットでそこを読み、件の"00"だったら自機ID設定待ちモードに突入。
「おーい!御主人様よぉ、俺にIDよこせや!」と大声で叫び続けるか、
前に並んでいる奴がID番号くれるまでじっと我慢の子でいるか、
他の方法で逝くか、は任意。
345:774ワット発電中さん
08/07/10 21:25:58 h8GElIkT
コンテンションだな
346:316
08/07/10 21:27:25 wutDGNZq
>>344
あっ、そうなんですか…。
そういや、SCSIのHDDの背面のdip switchをいじったことがあるのを思い出しました。
daisy chainにしてIDを自動的に振るのって、どこで役に立つかは別として
新しい発明だったりするんですかね。
347:774ワット発電中さん
08/07/10 21:28:38 QHKj4Fae
発明された頃には新しかっただろうけど、今となっては使い古された手だね。
348:774ワット発電中さん
08/07/10 21:42:56 hmWRhyLB
>>346
Z80のmode2割込みとかでも使ってる気がした。中学生だった。
349:337
08/07/11 00:41:01 6AAPN4Tf
>>338
波形なまりとかディジーチェーンとか同じ考えにびっくり。
私の発言は説明を書いてないので要らなかったですね。
>>330
> OSCCALはスタートアップ中に自動的にセットされる
その通りですね。実験したらOSCCALがちゃんとセットされていました。
問題児はTiny26だけかな。なぜデフォルトが8MHzでなく1MHzなんだろ。
350:774ワット発電中さん
08/07/11 09:45:29 65edFr8R
SONYのVISCAを思い出してしまった。歳じゃわい
351:774ワット発電中さん
08/07/11 18:27:09 YHz0DZL1
スリープの、パワーダウンモードを使おうと思って以下のようなコードを書いたんですが
INT1_vectでスリープから復帰後に、どうやってスリープに入れば良いでしょうか?
これでも一応動いているんですが、割り込み中でスリープに入っているので
どんどんスタックが積まれていくような気がします。
こんな感じで問題ないでしょうか?
int main(void)
{
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
IOInit();
sei();
sleep_mode();
for(;;)
{
}
return 0;
}
ISR(INT1_vect)
{
if(PIND & _BV(3))
{
func();//なんかやりたい事
MCUCR &= ~_BV(ISC11) & ~_BV(ISC10);//TNT1 low level Itr
sei();
sleep_mode();
}
else
{
MCUCR |= _BV(ISC11) | _BV(ISC10);//TNT1 rising edge Itr
}
}
352:774ワット発電中さん
08/07/11 18:29:49 YHz0DZL1
ITR1割り込みは、ローレベル割り込み状態でスリープに入り、
この割り込みで復帰したら、立ち上がり割り込みに変更。
立ち上がりを検出したら、ちょっとした処理をしてスリープに入るって感じです。
353:774ワット発電中さん
08/07/11 19:02:52 z+dXa6OW
メイン側を
for(;;)
{
sleep_mode();
}
にしておいて、割り込みからは普通に戻ればいいんでねの?
354:774ワット発電中さん
08/07/11 19:20:02 YHz0DZL1
ローレベル割り込みなんでSw押されてる間割り込みが入りまくるんですよ。
実行は押下1回に付き1回で十分なんですがの
そのやり方で割り込みモードをローレベル割り込みじゃないものにすると
永遠に復帰できなくなってしまうという。
355:774ワット発電中さん
08/07/11 19:49:07 olK++xcy
割り込み再許可する前に「SW離すのを待つ処理」 を追加
チャタリングはソフトで除去してね
356:774ワット発電中さん
08/07/11 20:07:49 YHz0DZL1
なるほど。
for(;;)
{
if(sleep_ok)
{
sleep_ok = 0;
sleep_mode();
}
}
なんかこんな感じにしといて
いろいろ気が済んだらmainでスリープ掛ければよさそうですね。
どうもありがとうございます。
357:774ワット発電中さん
08/07/12 23:54:53 6pTWDAiS
daisy chainじゃない方法考えてみた。
100個のうちの何個かをドライバICとして使用。
INTピンだけ入力でレベル変化割込み。
残り出力ピン。
FT232からの信号を、レベル変化割り込みで受ける。
出力を同期する。
単純だけど、結構いける手段じゃないかと思う。
358:774ワット発電中さん
08/07/15 02:27:50 6JRDLvIh
URLリンク(members.fsij.org)
こんなのやってるみたいです。
359:774ワット発電中さん
08/07/15 19:56:25 tnpKaFvZ
>>358
海外のサイトではよく見かけるけど、結局USBの処理にかかりっきりで
あまり大したことは出来ない。やっぱソフトって専用ハードに比べたら
段違いに効率悪いから、つまんないけど専用チップ使う方がいいだろうな。
値段が安いんで2313を1個USB専用に使うっていうのはありかもしれんが。
360:774ワット発電中さん
08/07/15 20:00:45 emGUKY24
USBの処理をマイコンのソフトウェアで行う?
361:774ワット発電中さん
08/07/16 20:04:19 VP46dWZ9
>>360
そういうこと
362:774ワット発電中さん
08/07/16 20:45:18 PogkWxYr
UDP/IP/Ethernetをソフトでするのもあったな。
あれは驚いた。
363:774ワット発電中さん
08/07/16 21:23:51 xJBKixJr
すみません。
今 USBasp を作っている途中なのですが、Vistaでは動きませんか?
364:774ワット発電中さん
08/07/17 02:37:23 +TZHunp9
>>363
試して詳細を報告してくれると助かる
365:774ワット発電中さん
08/07/17 07:46:03 lWASm3iI
>>363
Vista(32bit)でも動いてますよ
366:363
08/07/17 09:53:35 W2BQkJug
>>365
動くんですね!よかった。
>>364
自分で試してみて動いたら報告させてもらいます。
367:774ワット発電中さん
08/07/17 10:53:11 uMk0a9Tj
USBaspがvistaで動くかどうか知りたい
動くという割りには検索しても情報が全くないし
368:774ワット発電中さん
08/07/17 16:21:20 aNCh5Ycu
>>359
速度のいらないHIDクラスみたいな奴だったら、いろいろ遊べるよ。
単純なセンサとか、インジケータとかだったらいろいろUSBと安く接続できて良い。
ただ、2313はフラッシュが足りないのでインターフェイスとしてはちょっとムリっぽい。
少なくともAVR-USBでは。頑張れば詰め込めるかもしれないけど。
個人的にはAPIも、AT90USBとかのアプリケーションノートの奴より
わかりやすくて勉強用にいいかもと思う。
369:26
08/07/17 17:02:22 VcIejKTf
URLリンク(www.recursion.jp)
ここの「CDC-2313」が激安USBシリアル変換器になりそうなのでやってみようかと思っています。
シリアルだとPC側のソフトを作るのも簡単なので。
この激安変換器の先に2313かmega88かを繋ぎます。
「Linux Kernel 2.6 + UHCI 系ホストでは動作しません」だけが気になりますが。
370:774ワット発電中さん
08/07/17 23:33:53 qAfv8nD9
>369
独り言はヨソで書けよ
371:774ワット発電中さん
08/07/19 17:49:51 r67/wKt4
>>369
kuman乙
372:774ワット発電中さん
08/07/19 22:56:46 O9qeWXmI
まだ~~?俺の100個なにかにつかえんかなぁ~?
373:363
08/07/19 23:12:50 lSvbXMnF
USBasp 動かない。。。
WinXPでも動かないから、きっとどこかで間違ってるんです。。
USBasp + Vista の試験できなくてごめんなさい。
374:774ワット発電中さん
08/07/20 17:37:24 u3k7jDCb
ここ見てたら久しぶりにいぢりたくなってきたがネタがない
375:774ワット発電中さん
08/07/20 17:49:55 X6utmoU8
>>374
1)ラーメンタイマー
2)MorphyOne
どちらか好きなほうをどうぞ
376:774ワット発電中さん
08/07/20 17:51:13 u3k7jDCb
>>375
えらく難易度の差が激しい2択ですねニョガーン
377:774ワット発電中さん
08/07/20 17:59:34 56t7VU55
やっぱ2)だなww
378:774ワット発電中さん
08/07/20 19:28:51 xmsTSFqV
>>373
USBに挿しても認識すらしないならともかく、
XPとVistaで確実に動くHIDaspのほうがドライバ周りの面倒が無くていいかもね。
USBコネクタや12MHzの水晶も使いまわせるし、USBaspからの乗り換えも容易。
379:774ワット発電中さん
08/07/20 23:14:38 wjaQ88U4
初めてUART使ってPCと通信させてみました。
UARTから30バイトくらいの電文を送ろうとすると最後の3バイトが送れない。
TXC割り込みで送信禁止にしていたのを、UDRへの書き込み完了で送信バッファ
空き割り込みを禁止にする(送信禁止にはしない)ようにしたら上手く行ったの
ですが、UDR書き込み後に送信禁止にするタイミングはどう判断すればいいの
でしょうか。
380:774ワット発電中さん
08/07/20 23:20:20 ta6lfOoG
>>379
「UARTから」ってのが意味不明。「UARTで」か?
AVR側から送信する話なんだよな?
「UDR書き込み後に送信禁止にする」の意味がわからんのだが、
自前で用意している送信bufferに文字列が無ければそこで送信終了でいいじゃん?
381:774ワット発電中さん
08/07/20 23:47:41 gyNfNr8K
>>379
TXC割り込みで送信禁止でいいはず。UDRE割り込みでは早過ぎる。
>380さんの言うように送信を禁止する意味は通常無い。
382:774ワット発電中さん
08/07/21 00:02:35 Qf3PjAqE
UDREのとき送信FIFOが空ならUDRE割り込みを禁止しないとマズイでしょ。
レベルトリガなんだから。
送信機能自体を禁止にしたら、その時点での送信中のデータは、たぶん死ぬ。
383:774ワット発電中さん
08/07/21 00:48:31 TAHLfxy5
タイマのオーバーフロー割り込みって、
16ビットなら0xFFFF→0x0000になったときのみなのか
通りでCTCでTOP値→0x0000で割り込みかけようとしても、何も起こらないわけだ…
さっき質問しようとしたけど、比較一致で解決したのでチラ裏
384:774ワット発電中さん
08/07/21 03:08:09 cdNbqAdt
そりゃ、オーバーフローだし。