_____
/ /|
/ ( ゚∀゚) /.∠フ 個人でも手軽に使える
/ /.∠フ || . Atmelの8-bit RISCマイクロプロセッサを
/ __ o/.∠フ || 中心に語るスレッドです。
∠| ̄ ̄凵 ̄ ̄|∠フ || *AAは「AVR H8 etc. マイコン総合スレ Part3」からいただきました。
.|| |_____|/||
Atmel AVR 8-Bit RISC
http://www.atmel.com/products/avr/
乙である。
>前スレ995
>if ( PINB & (1<<PINB_SELSW) == 0){
>が無かったことにされてんのは何でかね?
&より==が優先だから。
if ( PINB & ((1<<PINB_SELSW) == 0)){
こう解釈される。
いちおつ
何を間違ったかDigikeyで頼んだ石がSOPで届いた
姪っ子のクリスマスプレゼントのために頑張って電子オルゴール作るぜ・・・・
それを言ったら百均の音の出るカードでいいだろ。
>>7 はオリジナル曲を作ってプレゼントするんだよ
素敵な叔父さんじゃないか!
まじボケなのか、ツッコミ待ちなのか、8251とかw
1乙
年末年始のネタは決まったかね。
>>11 FFT解析して代表点抽出するんだよ
MP3の周波数少ない版だ
知らないのか
AVRマイコン(ATmega168P)に付けてた水晶発信子を16MHzから8MHzに変えたら、電池が2倍くらい
長く持つようになった
そんなもんなの?
V-USBはちゃんと動くし、すばらしい。
でも、そろそろATMega32u4に以降したいんだ。秋月に入荷しれ。
AVRマイコンは1MHz当たり処理能力1MIPS消費電流1mA 1MHzで10MHzのPICマイコンの処理速度とほぼ同等
>14
データシートの代表特性のグラフを見よう
>>14 CMOSの消費電力は基本的には周波数に比例する
ATMega32u4マジ楽しみにしてるけど、今んとこdigikeyとかの海外通販しか手がないんだよな
変換基板買ってあるから早く扱ってくれんかなあ
digikeyで買ってしまえ!
変換基板なんてケチなこと言わずに専用基板作ってしまえ!
32ピンソケットに載るサイズに出来るぞ(ギリギリだけど)!
苺とかスイッチで売ってるのは違うの?
22 :
774ワット発電中さん:2011/12/09(金) 00:57:24.45 ID:nk2XWqGJ
24 :
774ワット発電中さん:2011/12/10(土) 15:11:16.80 ID:KO1mFKGT
>>14 低消費電力を狙うなら、クロックを下げるより、
通常寝かせておいて、割り込みで起きるようにすればよい。
RTCが必要なら、専用ICか、32.767kHz駆動のAVRを別途用意。
mega88Pでアナログ入力にはADC0だけしか使わない場合、残りのADC1〜ADC5ピンはどう処理すればいいの?
未使用デジタル入出力ピン同様にプルアップしてればいいの?
//20.9.5 DIDR0 . Digital Input Disable Register 0
DIDR0 |= (1<<ADC0D);
DIDR0 |= (1<<ADC1D);
DIDR0 |= (1<<ADC2D);
DIDR0 |= (1<<ADC3D);
DIDR0 |= (1<<ADC4D);
DIDR0 |= (1<<ADC5D);
adc0-adc5を全部使う場合にはこうやってデジタル入力を切り離す
adc0しか使わないなら
DIDR0 |= (1<<ADC0D);とだけすればいい
目的があってデジタル入力が必要なら何もしなくてよい
>>26 ありがとう。
接地とか必要かと悩んでいました。
>>25 > 未使用デジタル入出力ピン同様にプルアップしてればいいの?
これ正しいの?
出力に設定しないといけないんじゃ
デジタルは出力にしてオープン
A/Dやアナログコンパレーターのアナログ入力とデジタル入出力とが
共用になっているポートの場合使う人間がアナログ入力ポートとして
使おうとするポートに関してのみ、アナログ入力に影響を与えるから
内部プルアップは解除されるように注意するとか
デジタル入力に中途半端な電圧が印加されると消費電流が増えることが
あるというCMOS回路特有の問題を回避するためにデジタル入力をdisableするとか
の配慮が必要となるけど
使う人間がアナログ入力ポートとして使う気のないアナデジ共用のポートは
アナログ入力と共用だからといってデジタル入出力ポートとしての利用が
制限されてしまうような特別な配慮は必要ないのでは?
具体的には例えば、mega88Pでアナログ入力にはADC0だけしか使わない場合
残りのADC1〜ADC5ピンがデジタルの出力ポートとして使用されようが
デジタルの入力ポートとして使用されようが
使う人間が間違って内部のA/D回路のチャンネル選択のマルチプレクサを
ADC1〜ADC5ピンに切り替えてしまっても電源電圧範囲内の電圧が
内部のA/D回路に印加されて役に立たないA/D変換値が得られるだけで
回路的に害はないのでは?
マイコンのA/D入力のこういう特性を逆手にとって
静電タッチ機能を実現する方法もある位なんだ
Capacitive Touch Using Only an ADC (“CVD”)
ttp://ww1.microchip.com/downloads/en/AppNotes/01298A.pdf
出力にしてオープンだと万一ショートすると悲しいから入力派
まあショートするのはブレッドボードとかのテスト中で本番基板では無いけど、
ソース修正するのも面倒だったり
AVRマイコンは入力にしてプルアップしないと消費電流増えるのが困る
めんどくさいからプログラムの最初で全ポートプルアップしとくと
コンパレーター使うとき入力のプルアップ解除忘れたりしてはまったりする
>>30 読んでるとおかしくなりそう。
どういう頭してんだ。
最初の一文の解読
「A/Dやアナログコンパレーターのアナログ入力とデジタル入出力とが
共用になっているポートの場合使う人間がアナログ入力ポートとして
使おうとするポートに関してのみ、アナログ入力に影響を与えるから
内部プルアップは解除されるように注意するとか」
↓
デジアナ兼用ポートをアナログ入力で使う時は内部プルアップしない
後は任せた。
助長なだけでとくに問題無く読めたが?
×助長
○冗長
解読スレかよ。
38 :
774ワット発電中さん:2011/12/15(木) 12:05:11.67 ID:kRicRJAH
>>34 >デジアナ兼用ポートをアナログ入力で使う時は内部プルアップしない
アナログ入力にすると内部的にプルアップは解除されるはずだが?
ちゃんと仕様書を読んでみ。
>38
どこ?
Altenative functionsの説明で
アナログコンパレータ入力はプルアップを意識的にオフにしろ、と書いてあるのは見付けた。
ADCのほうについては、どうしろ・どうなると書いてある部分は見付からなかった。
ごめん、間違いだった。
>>32 AVRに限らずCMOSの入力オープンはそういうもんだ
まぁそうなんだが、ルネサスのRXシリーズなんかは
初期状態では入力バッファがOFFになっていて、未使用のIO端子を
開放で放置できるそうだ。
初期状態で内部プルアップかプルダウンONでもいいような気がするが、
それだとその端子に繋がった外部の回路にも影響を与えるので、
それが嫌だったのかもな。
AVRマイコンもスリープ時は入力切り離して弱プルダウンして消費電流を抑える機能はもってるんだよな
でもそれをリセット直後の状態とするとありがた迷惑と思うユーザーもいるだろうな
未使用ピンの処理に入力にしてプルアップの人と出力にする人がいるけど
出力にする人はHにしてるの?Lにしてるの?
>>44 Lにしてる。ピンの周囲にはVCCよりGNDがある事が多いから、
万一ゴミなどでショートしたときに問題が発生しないほうを選んでる。
逆に周囲をVCCで囲まれてるならHにしたほうがいいと思う。
>>45 じゃぁ、定期的にポートを読んで書き込む処理を加えて、
万一ショートしても数ms後には同じ電位にするとかw
たしかxmegaにはそれに近いバスラッチとか言うステートがあったな。
入力された電位にプルアップ/ダウンが遷移するやつ。
48 :
田中 ◆15lIZBDwz6 :2011/12/16(金) 07:20:13.45 ID:ftN5d+tH
test
49 :
田中 ◆15lIZBDwz6 :2011/12/16(金) 07:20:50.24 ID:ftN5d+tH
test
プルアップとプルダウンの他に正帰還も付けりゃいいのに
今までavr-gccだけでお茶を濁していたけど
シミュレーターでデバッグがやってみたくなって、
AVR Studio 5とやらをインストールしてみた
重いなー
MPLAB IDEの5倍くらい重いし、メモリも5倍くらい要求するな
今回dotNet4なんかも新たにインストールしたからディスク容量も10倍くらい使ったことになる
AVR Studio 4でもシミュレータ デバッグできるよ。
最新デバイスには対応してないかもしれないけど、動きは軽い。
シミュレーターってI/Oに印加するパターンの簡単なシーケンサー無いのかねぇ。
HDL使えると尚よしw
みなさん、デバッガって何使ってますか?
うちはDragonがありますが、純正を買おうかどうか迷ってます。高いんだよな。
初代純正があるけど一回も使ったことがない。
大概、他のハードウェアと連携してるから、ブレークポイントでとめたり出来ないし。
ロジアナのほうが役立つよ。
>>54 知らないんだけど、
あるんじゃないの
それがないシミュレーターなんてシミュレーターと呼べないよ
>>54 AVR のモデルを作って、HDLシミュレータにかければいい。
CPUコアならいくつかあるみたいだし。
AVRで2Mspsぐらいのロジアナは簡単に作れるから
意図通りの信号かどうかぐらいは確認できる
>>59 手間を考えると机上デバッグのが楽そう
AVRシミュレータを2個繋いで同時にステップ実行できた方が便利かな
シミュレータのデバッグをすることになるが、
よろしいか?
さすがにもう安定してるんじゃないか
64 :
774ワット発電中さん:2011/12/20(火) 23:41:47.51 ID:oBW5uoNE
>>53 AVR Studio 4に入れ替えました。2Gくらいストレージが空きました。
>>54 まだAVR Studio 4を触りはじめたばかりですが、
HDL対応ではないんですが、
AVR Simulator(2が付かない方)では、
各ポート毎にStimuli and Logging機能があって、
事前にStimuliファイルという特殊なフォーマットの
テキストファイルをを作成して読み込ませれば、
外部からの入力をエミュレートすることができます。
Stimuliファイルは一から手で作成するのは困難なので、
StimuliGenerator_NET20.exeを使って作成するのが一般的なようです。
この辺りの機能は
MPLAB IDEの方が大分進んでいます。外部の作成ユーティリティを必要としませんし、
無限ループを簡単に記述できます。
入力じゃなくて出力のチェックの方もAVRのようにlogファイルを開かなくても、シミュレーターにロジックアナライザー
がビルトインされていて簡単に目視確認できるのは少しPICを触ったことのある方ならご存知だと思います。
AVRの方も本当はSimulator2やAVR Studio 5を使うともっと便利なStimulus機能があるのかもしれません。
しかしStimuliGenerator_NET20.exeはSimulator(2が付かない方)専用なので
とりあえずSimulator(2が付かない方)を使うしかないと思っています。
>>64 ヒントをありがとう、ちょっと調べてみた。
各ポートのLOGファイルが残せるようなので、
別のプログラムでポートを叩いてLOGを残し、
それを再生するのでも良さそうだね。
自分でタイムテーブル組んで2313のポートDにUARTシリアル信号を流し込んだけど、
PORTDのBIT0は変化するもUCSRAレジスタに変化なし、残念(´・ω・`)
>>66 病院で重宝しそうですなw
68 :
k:2011/12/21(水) 18:23:56.94 ID:h7x7Fk6j
Z-VISION WINDOWの使用法について教えてください
AVR-wikiはもう見れない?
貴重な日本語サイトだったのにorz
>>65 その後何も確かめたりしていないんですが、
多分、Stimuliファイル(入力する際のファイル)とLogファイル(出力する際のファイル)の
フォーマットは全く異なると思います。
なので、それをするなら、Logファイル→Stimuliファイル・コンバーターが必要になる可能性が高いと思います。
ruby,Perl,awkで簡単につくれるでしょうけど
>>67 鼻息発電じゃないのか。
何にでもすぐマイコン使いやがって...
>>72 いいんでない?カジュアルマイコンということでw
>>70 本家もミラーも全部ダメみたい。少しだけど書いたのに残念だ。
もう一度立ち上げたいよね。勉強するのには貴重なサイトだった。
WinAVRのマニュアルでも十分っちゃぁそうだけど。
分からない。
ここ何年か本家が度々落ちるようになって、ミラーサイトが出来たり、
wikiのデータを個人wikiへ待避する人が出ていた。
しかし本家が復旧して運用開始されたので、
みんな安心してバックアップを閉鎖したら本家が消滅したみたい。
今の所ミラーもバックアップもWeb上から見当たらない状態。
カセットテープに収めて回覧しようずw
じゃサンプルプログラムはマイクロカセットに録音するか
mega328P使用中ふと思う
ADC未使用ならAVCC側のパスコンは省略しても別に影響ない?
いやーときどき誤動作の原因になったりしてるよ、…だったりしますかね
>>81 データシートにAVccは
「ADCを使って無くてもVccへ接続せよ」や
「PortC(3〜0)とADC用電源ピン」
と書いてある。ADCを使う際はLCフィルタを使えとも。
PortCの5,4はVccから引っ張ってるみたい。
つまりパスコンは付けておいて良いんじゃない?
パスコン一つでvccとavccは共通電源
adcもフィルターなし
趣味で使う分には問題ないでしょ
mega48/88/168シリーズでDIP、ICソケット使う時は、
簡単に済ませる回路ではVccとAVcc、あとそれぞれのGNDを最短で繋いで、
ソケットの内側にパスコンを1個だけ実装しちゃうな
なるほど、ありがとうございます
自分も電源は共通で、しかしパスコンは両方に付けてて
面倒なのでAVCC側は省きたいと思ってたので
ADC使うときはデータシートの図のようにLCフィルタ入れました
でも手持ちの部品がなかったら省略しちゃうだろうな
VccGND間に10uFのセラミックチップコンデンサ付けた条件では
AVccにLCフィルタありとなしとでA/D変換のノイズに全くといっていいほど違いがなかったな
一回試ししてみた経験では
Vccにものすごいノイズがのってるような状況なら効果あるのかな
Arefが安定してれば問題なし
なんという、ゆとり思考!
正直なところホビー用途ならその辺どうでもいいよね
精密機器に組み込むとかなら考えなきゃならないけどさ
ホビー、アートは魔法の呪文。
AVccのLCフィルタとArefのデカップリングもそうだけど、
ADC入力のアンチエイリアシングをちゃんとやってるホビーユーザーも少なそう。
よくわかんないけど俺の自作温度計はだいたいあってます(ホビーユーザー談)
機能すればいいのさ
センサ系はI2Cにお任せしちゃってるわ
しわ伸ばしたりする奴だよ。
エイリアシング vs プレデター
エイリアシング vs プレゼンター
だって俺mega使った基板をwebのデッドコピーでいくつか作ったけど
AVCCとAREFはVCC直結しか見たことないもの
おまえらジョークで言ってるんだよね?
実際、AVCCとAREF はVCC直結で困ったことがありません。
パスコンはいつもひとつ!
ホビーレベルと製品開発レベルを切り分けてご指導ご批判よろしく。
ホビーレベルは高級部品で贅沢設計。
製品レベルはコストダウンとの戦い。
「RAMを半分にできないのか?」
「このコンデンサいらないだろ」
「この部品高いよね」・・・
ホビーレベルはパスコン一つ。
製品レベルはパスコンたくさん。
それは試作レベルでとりあえずパスコン付けてるだけじゃね?
GNDもベタにすればOKとかいうのも。
ちゃんとした基板屋ならその辺も含めて設計してくれる。
106 :
774ワット発電中さん:2011/12/25(日) 15:31:44.34 ID:9ZFxkzSa
パスコンなんておまじない。
素人は動かない原因にしたがるが、いくらつけても
動かないものは動かない(w
>>106 Vrefに電源と共用でパスコンひとつだと、
きたねー電源だと、絶対にろくな値にならないぞ。
うむ
ADCの分解能8bitのオレに死角は無かった
ってか、まともに変換するなら、ディジタルとは切り分けろよ
>>107 ホビーユースは乾電池がデフォだろ。
ってか、まともに変換するなら外付けA/D
はずかしながらお聞きします。
ポートの操作で、複数ビットをまとめてあらかじめ決められたパターンに設定したい時はどうしたら?
たとえば10011011の--01101-の部分だけを--10101-に変えたい場合、どうしたらいいでしょう?
ごめんなさい。winAVR、C言語でやる場合です。
>>110 自分で考えた方が楽しいと思うけど、、例えばこんな感じ??
a = 0b10011011; // 部分的に置き換える対象変数
mask = 0b11000001; // 変えたい領域を0にするマスク
b = 0b00101010; // 置き換えたい数列マスク(何て言ったらいいわからんw)
// 実際の処理
a &= mask; // これで、aは 0b10011011→0b10000001 となる
a |= 0b00101010; // これで、aは 0b10000001→0b10101011 となる
もっと上手くできるかもしれないけど、それは他の人よろしく
訂正w
(別に
>>112でもいいんだけど、せっかくbを定義したからb使う、、。)
a = 0b10011011; // 部分的に置き換える対象変数
mask = 0b11000001; // 変えたい領域を0にするマスク
b = 0b00101010; // 置き換えたい数列マスク(何て言ったらいいわからんw)
// 実際の処理
a &= mask; // これで、aは 0b10011011→0b10000001 となる
a |= b; // これで、aは 0b10000001→0b10101011 となる
他人のコード眺めるだけでも山ほど出てこね?
>110
const uint8_t mask = 0b00111110;
a = (a & ~mask) | (mask & 0b00101010);
>113
たぶんポートであろう a への読み書きは1回にしたいケースが多いと思う。
115 :
110:2011/12/26(月) 20:38:21.65 ID:6tbfPU3V
ありがとです。まだ論理演算に慣れていなくて(汗
まだ理解しきっていませんが、頂いた例をよく吟味してみます。
感謝。
117 :
110:2011/12/26(月) 21:32:55.93 ID:6tbfPU3V
AVRの場合、意外と参考資料が少なくて、色々苦戦中です…
どんなところに苦戦中?
論理演算とかはAVR以外でも同じだから
他のマイコンの資料でも参考になると思う
H8とgccもそうだったけど、AVRとWinAVR(或いはArduino)で初めてCをやり始めた人もいるだろうね。
120 :
110:2011/12/26(月) 22:43:35.02 ID:6tbfPU3V
それは確かに。でも、この様な簡単なことでも意外と解を見つけづらい。どのような方法が定番なのかわからない。
ネットでは細切れの情報になるし。リファレンスとなるような詳しい本が欲しい〜。AVR+C言語でこれぞっていうバイブル的な本ないですかねー。いざとなれば洋書でもいいです。
121 :
110:2011/12/26(月) 22:44:12.72 ID:6tbfPU3V
あ、わたくしもarduinoから入りました。
自分はATMELのアプリケーションノートとか参考にしてます。
近道で理解するには、AVRが分からないのか、C言語が分からないのか、の区別が必要。
>110の質問はAVR関係なくて、純粋に論理演算の考え方とやり方が分かっていない。
だからAVRの関係資料を探すんじゃなくて、C言語の説明を探さないといけない。
それを理解した上で、変数をAVRのポート名(レジスタ名)に当てはめて、最終結論を得る。
そういった区別。
勉強のスタイルは人それぞれだし
>123は軽く流しといてくれ
何か説教臭いしな
まぁ、Cを始めて触るのなら独習Cとかで一通りなんかやったほうがいいな
いきなりAVRでCを書くのは実践的過ぎて難しいと思う
126 :
110:2011/12/26(月) 23:14:41.22 ID:6tbfPU3V
C/C++はクラスとか構造体、ポインタがまだ辛いけど、まだ何とかなりますね。なんというか、AVRを使う上でのコツのようなものがまだわからない。
127 :
110:2011/12/26(月) 23:16:10.91 ID:6tbfPU3V
でもまあ楽しんでます。とても面白い。皆様ありがとです。
一般C言語入門書には無い、マイコン特有のお約束
グローバル変数にはvolatileつけとけ
嘘を嘘と(ry
本当のような嘘に騙されるほうが学べる不可思議
ステートメントが違うだけで、BASICにもあるやろ。 > 論理演算
やっぱりアセンブラから始めた方がいいと思うけどね。
アセンブラから入って放り投げて
Cから入りなおしましたw
今となっては特別に最適化したい部分以外アセンブラで
直接コーディングすることはほとんどないだろうなぁ
知ってるアセンブラ命令はnopだけです
それもCの中でしか使ったことがありません
それでも幸せです
まあ、アセンブラでコーディングすることはなくても、
デバッグでディスアセンブリしたコードを見ながら
動き見たりするから、どんなものかは知ってた方がよいね
プログラムメモリが1kバイトも無いようなの扱うならアセンブラ使わんわけにいかんだろう
そういう化石的マイコンを使うならね
今となってはマイコン安くなってるし、特別最適化が必要でない限り
わざわざアセンブラで書いたりしないなぁ
今アセンブラ使うとしたら、米粒AVRとか?
>>136 そうなんだよね。
ALUがどう動くかとか考えて書かないと効率悪い。
ポインタが理解できないとかもメモリ上のデータ配置を
理解してないのが原因だと思う。
いきなりCから入ったプログラマはかわいそうだが、
学校でも習わないんだろうね。最近は。
>>139 アセンブラは一応学校で習ったなぁ
ニーモニックを紙に書き出してプログラミングしていって、そのあと
OPコード表を見ながらハンドアセンブル
そして、Z80だったかのテンキー付きマイコンボードにhexを手打ち入力
いつの時代だよと思いながらやったけど、今となってはやってよかったと思う
アセンブラは本1冊読めばハンドアセンブルできたけど
コンパイラも情報も入手できない田舎じゃCは覚えられなかったなぁ。東京出てきてからだ。
Cとかアセンブラが学校で習えるって夢のようだw
そこでCASLですよ
CAPSだろ
CAMLじゃね?
デバッグとか後々のこと考えたら、やっぱCで書いたほうが楽だよ
数カ月後とか記憶がさっぱり飛んだあとに、アセンブラ読むのって正直だるいし
146 :
774ワット発電中さん:2011/12/27(火) 14:29:20.83 ID:TKC4eRVW
ニーモニックはCPUのアーキテクチャと直結しているから、
たとえばPICとAVRのニーモニックを比較すると、
その設計思想の違いがよく分かります。
AVRの貧弱な命令語のアセンブラでプログラムを作っていると、
「この狭い16ビット空間をどう割り当てるか悩んだんだろうな」
などと設計者の苦悩を想像して、同情したりします。
もちろん、「アセンブラでいじってると楽しい」とか
「Cで手っ取り早く作る」とかは人それぞれ、状況次第です。
Cのリファレンスコードをアセンブラと一緒に残しとくといいよ
まあ割り込みハンドラぐらいでしか使わないけど
149 :
774ワット発電中さん:2011/12/27(火) 16:17:30.27 ID:TKC4eRVW
> 148
もっと細かな部分、たとえばレジスタの種類や個数、レジスタ使用上の制限事項、
命令の種類などです。
150 :
774ワット発電中さん:2011/12/27(火) 16:45:26.33 ID:bD5Jyede
過去に某粉飾決算で風説の流布といって叩かれた企業があるが、
フジテレビでも木村、安藤、滝川の報じた内容は、
フジテレビ自体が、フジテレビの株主にとっても
風説の流布と思われる。
命令の種類もレジスタ数も、6502とかの方が少ないよね。
6502でハーバードアーキテクチャにするというのもいいかも。
>>146 PICとAVRのニモニックを比較して、
その上で、AVRのアセンブラを貧弱とか、メモリ空間が狭いとか言ったら、
PICの立場はどうなるw
>>138 AVRスレなんだから8ピンや米粒の話になるだろう
てか、こんなスレに来る様なコードジャンキーなら
言われなくても逆アセ結果眺めるもんだと思ってた。
私はBASICから入ったけどC経由アセンブラ把握まで
ほとんど時間かからなかった。
アセ爺乙、と言いたくなるような流れだなおい。
PICで相手してもらえなくてAVRで再挑戦ですか?
…どっちでもそうだけど、実際のコード(とコンパイル環境)を用意してずぼらなCからこことあそこを直せば○0%高速化とかして見たらいいのに。
みんなすごいね
>>154 デェーー?!貴殿のAVRの作品を紹介してくださいな。
ライターを作ったなんて言わないで下さいよ。
くりいむれもんの透過光チンポみたいなのは、ナニに使うのですか?
>>153 コメツブさんはアセンブラ必須ですか。
ところで、Arduinoから入った軟弱者なんですが、
アセンブルしたコードの転送ってどうやるんですか?
流れを教えてもらえるとありがたいです。
>>158 LEDのピカピカでネットのあげるなら、動画でお願いします。
出来たら YouTube だったらいいんだけど。
Arduinoか・・何もかもみな懐かしい
TPIのライターが手元に無いからArduinoをライターとして使ったな
>160
Arduinoの使い方ならArduinoの説明サイトを見ればいいし、
AVRにHEXファイルを書き込む方法なら AVR ライター でググればいいし。
>>138 どこまでまともに使えるかはわからないけど一応
tiny10もgcc対応してるみたいね^^;
ナイトライダー録画してみてたなぁw
次はPWMでフェード入れたくなっちゃうね
>>164 Cでいけるんだね
最適化が大切になってきそう
tiny10はやったことないから1回はやってみたい
逆アセって、80コードしかしらん。
>>166 アルデノのTLC5940シールドなら、フェードコマンドまでライブラリにあるぞ。16灯までなら改変不要だし。
>>169 TLC5940のシールドなんかあるんだね
フェードコマンドもあるんだね。簡単にできそう
Arduinoは、実は最近始めたばっかりで。。w
IDEのシンプルさとか、プログラミングのしやすさとか
面白いなぁと思ってる(ずっと前からあるのにね。。)
とりあえず、直近はArduino 328P量産用のシールドを作って
ブートローダ書き込みをやってみたくらい
172 :
171:2011/12/27(火) 22:29:56.73 ID:BrmuTexZ
3.3.0には色々と不具合があったらしい>tiny10でC
176 :
160:2011/12/28(水) 08:37:59.29 ID:rAQhnBB4
>>162-163 ありがとうございます
コメツブさんを使ってみたいのですが1024バイトのコードエリアは結構きついですよね。
試行錯誤してみます。
wiki本家死んだんか…。
どこかミラーサイトか代用サイトないものか
>>177 いなな じゃねぇな。 なぜそこまでこだわる? avr freaksもあれば、世界は広大ではないか?
英語? 英語わからんじゃ、avrとかpicとかの話以前じゃね?
英語できるんですね。すごーい!
オマエ日本語でプログラミングするのか?
ぴゅう太ですね!
マワレ
言いたいことは別のところにありますので、
>>179は真に受けないでくださいねw
いや別に長文引用してまで食らいついていくようなネタじゃないから
ハード業界ってソフトよりもコミュニケーション不全の人多いよね
薬品にやられるんだろうか
おれも人のこと言えた義理じゃないけど
えっ?
>>186 ソフトは水平分業が徹底してきたから最低限のコミュは必須になってる。
ハードは一人でボード起こせるし、
自分でRTL書いて検証して出荷とかも多いからコミュ無くても何とかなってしまう。
鉛とかレジンとかだろ。
エッチング液もな。
>>188 >自分でRTL書いて検証して出荷
それソフト屋の仕事w
ハードの製造とか自分一人でやったら、趣味レベルはともかく製品レベルにはできない。
O&OドライブLED4入れた後にWindows7(x64)がブルースクリーン出るようになり、アンインストール後出てないんだが同様環境で再現した人いる?
誤爆
193 :
774ワット発電中さん:2011/12/29(木) 19:49:32.44 ID:rRGS5Dka
AVRでもそのまま使えるでしょ
いくら私でも釣りだとわかります
どうして? ソケットの信号は全部ヘッダに出ているよ?
>>196 6ピン(2x3列) を6ピン(6列)するアダプタが必要って事じゃね?
>>197 あと、fuseの状態によってはオシレータもあったほうがよくないですか
>>200 いや私はマジに素人にちょっと毛がはえたくらいのもので
真剣に質問してるんですよ
>>193 こういうヤツは12年ぐらい前に万能基板で作ったよ。
PIC16F84(18pin)〜877(40pin)用だったけど。
ゼロプレッシャソケットも秋月で売ってたからプログラマ作る際に載せて使ってた。
でも実際に作業する時はチップをターゲット基板から着脱するのがメンドイ。
ICクリップへプログラマからICSPの配線を出して、そのままターゲット基板のチップへ挟んで書き換えるようにしたら便利になった。
AVRでもISPの配線をしたICクリップを使おうかと思ったが、秋月のICクリップは28pin用は広い方しか無くてmega168シリーズに使えないのね。
>>202 平ピンのICソケットの上(IC側)からISP用の配線出して、
基板上のAVRにかぶせて書き込んでる
204 :
774ワット発電中さん:2011/12/30(金) 11:59:36.01 ID:dlVYIrfD
>> 202
以前に私も2313用にICテストクリップで作ったことがある。
装着時・脱着時も使用中も隣のピンとショートしにくいから安心だよね。
他のピンを測定器でチェックする時も便利だし。
ICソケット(足が平たい奴)にISP配線して、AVRに足を被せて書き込みしてるよ。
今度はSOPに乗っけて書き込みできるジグを作る予定。
>>203, 205
そんな便利な方法があったか。さっそくやってみよう。
megaなんかだとブートローダを一回書くだけだからなぁ・・・
あとは全部シリアル経由でプログラムしちゃう
(ただ、間違ってブートローダをとばすと面倒なことになるけど)
ブートローダ書き込んだMEGAだと、起動してシリアル受信チェックしてからブログラムスタートさせますよね。
何ミリ秒ぐらい待つんでしょう。
起動後書き直しにシリアル送信かけると、割り込みでリブートするんでしょうか。
待たせなくてもジャンパとかボタン押しながらとか色々あるでしょ
>>209 それこそ創意と工夫
自分で好きにブートローダ書けるんだから
俺様仕様でどうとでもなる
tiny10は書き込みが失敗しまくって最初は苦労した
>>212 FUSEビット等々に苦戦したってこと?
>>210 >>211 ありがとうございます。
デジットに「ブートローダ」書き込み済みってmegaが売っていました。ライター不要ですって。
仕様を教えて貰うことにします。
もうarduinoにシチャイナYO!
>>213 なんか書き込み途中でエラー吐くんだわ
ゴチャゴチャしてたら解決したんだけどwあと書き込み後はマイコンの電源を一度切ってやらないと動かなかった
単に技量不足だけなんだがな
正月休み、何作る?
自分は今年作った物で配線切れとかの補修ばかり
>>218 今残ってるのは電圧計(失敗作)と時計(配線切れ)
ショボくてすまん
テレビもつまらんので7セグでアルファベットを出そうかと思ったが
とりあえず、数字だけのマッピングにしてみた。
うまく動くかな・・。
221 :
774ワット発電中さん:2011/12/31(土) 23:33:45.48 ID:yGXNDzee
7セグはMとかKとかどう表現すんねん
3を表示した状態で後ろのモーターを反時計まわりに90°でm
いっそのこと7セグ大量に並べてマトリックス
実際は代用文字でも使うんじゃなかったかな
おまえらあけおめ
あけおめ
7セグに2012.01.01.Sun.て表示させよう
タイプライターの時代だと
1の代わりにlとか
0の代わりにOとか
普通にあったよな
231 :
774ワット発電中さん:2012/01/01(日) 18:18:19.77 ID:CfDsQbvG
あけおめ。
7セグ持ってないからLCD使おw
おまいらaitendoのノキア5110液晶オススメ。
キャラLCD感覚なら14文字×6行として使える。
アケオメー 今年もμAでよろすくー
米粒AVRを使って熱帯魚のサーモスタットをつくろうか考えたけど、
よく考えてみたら温度センサーとヒーターだけあれば十分だよね?
米粒AVRってどう活用すればいい?
LEDフラッシャー
カワハギ釣りのフラッシャーとかねw
ただ、ピカピカするだけなら意味ないなあ・・
超音波も出すとかw
米粒AVRをソリッドステートリレーと組み合わせて
1時間たつとOFFするようにしておく
スイッチ入力があるとタイマリセットされて更に1時間という仕掛けだ
それでパソコンのモニタ電源を制御すれば節電になるのだ
それタイマーICでよくね
CR+コンパレータでもよいな
I2Cでスレーブアドレスの自動割当の仕組みは実現可能だろうか
1 マスターがブロードキャストアドレスに向けて送信
2 未割り当てスレーブ全員が応答を返す
→詰み
覆面を被った担任が、教え子全員手が上げている状況で、
誰を指名するのかという問題に似ている
手を上げるのが早かった子→判断不能
成績の良い子→判断不能
席が近い子→判断不能
懇意にしてる子→判断不能
手探り→セクハラで訴えられる
手探りでも全員が反応してしまうだろう
違うプロトコルを使うか、
スレーブ同士競争させる必要がある
競争社会
そもそも、組み込み機器内においてスレーブアドレスを動的割当に
しておきたいケースなんてあるんだろうか。。
ZigBeeとか無線ではよくやるけど、Wiredだと意味不。
コネクタで拡張するにも全体の系は把握しているのだから。
アドレスが足りない程たくさんのデバイスと通信するけど、たまにしか使わないデバイスがいるとか?
入力にして内臓プルアップをONにしたピンを手で直接触るとスイッチが押されたと認識されるんだけどこんなもんなの?
内臓だからかな
基板触ってると”バチッ”とな!
あ〜やちゃった と思ったら静電気。
作業中にセーター脱ぐのは危険なり。
胃下垂の治療とかでありそうだな
ごめんごめん内蔵だったね
米粒AVRはインドアプレーンの赤外線受信器に最適だよ
>>249 なるほど!
このサイズの生かし方を全然思いつかんかったわ
またインドアプレーンやってみよっかな〜
え、既出だけどそうだね。
屋内電動飛行機の人はチップとかLEDまで削って軽量化するからねぇ。
そこでゴム動力ですよ
いくらチップやLEDのパッケージを削っても、ちょっとハンダを盛り過ぎた
だけで台無しでは?
>>253 ググって何人かのブログ見てみるといいよ
すげー世界だわ
PICの他にAVRも選べるようになったんですね。
インドアエアプレンの人は銅線じゃなくアルミ線使うのか?
コアレスモーターの巻線とかも
>>254 はじめようかなーと5gのバッテリー入手してから調べたら5機分以上だったでござる
もうモーターいらなくないか?
LEDの点灯が生成する熱気流によって飛行する日も近い
259 :
774ワット発電中さん:2012/01/04(水) 17:20:39.10 ID:yHPJGs9R
>>257 使い捨てのボタン電池とかでよくないか?
「MTM07 超軽量飛行機」の動画見たら、まあいろんなモノが飛んでます。
>>259 彼等にとってボタン電池は重過ぎるらしい。
インドアプレーンにボタン電池は普通使わないよ
重すぎる
トミーが出してた(だったか?)インドアプレーンも電源はケミコン使ってた
全然知らん世界だが、話から想像する限り、インドアプレーンと言うのは
鼻息をくらえば吹き飛ばされるような物なんだろうな
電気二重層か
そこでプラーナですよ
>>263 1g くらいのもあれば、100g くらいのもあるから、一概には言えない。
いくつか覗いたけど、過剰っつーか自己満足にしか見えなかった。
自作は自己満足が比較基準だからな
多分、この技術を発展させても、旅客用には使えないと予想する
そりゃそうだろ
宇宙なら使えるぞ!
272 :
774ワット発電中さん:2012/01/05(木) 21:05:45.32 ID:1zq4KZ1K
素晴らしい頭脳と実戦力のおまえらに聞きたい。
いま、超小型ロケットを作り、姿勢制御にマイコンを使ったら衛星を打ち上げられるんじゃないかと思うんだが、難しいのかね?
打ち上げた衛星に通信機能とカメラなんか載せてやったら楽しいと思うけどなあ。
できないって意見じゃなく、どういう壁をクリアすれば現実になるのかっていう建設的意見求む!
宇宙に打ち上げるのって許可が必要なんじゃなかったっけ?
>>272 まず、第一宇宙速度まで加速させるロケットをどうするかだな
>>272 超小型ロケットなら、ある程度の高度まで風船の浮力で持っていったほうが現実的。
そっから先はタービンか、翼か悩んでくれ。
アポジモータだっけ姿勢制御するエンジンがむずい
アポジモータは軌道投入だ
ガンダムの悪影響は半端ないな
>272 とりあえず、夏のロケット読むところからかな
イラクが弾道ミサイルの誘導にプレステのボード使っていたらしいよ。
秋月の3次元加速度センサーで姿勢制御だ!
>272
冷戦と二人の天才 オススメ
電圧によるだろうけど、ハンダ付け部なども極力曲率半径が
大きくなるようにしないと、電界集中して真空放電起こす
半球ハンダ盛りのプロがいるという話はきいたことある
このインターネッツ時代でも個人では弾道飛行すら不可能とか・・・・・・
やはり人類は月に行ってない!!!!!!!!!!!!!!!1
>>277 楕円軌道のアポジから静止軌道に載せる為のキックモーターと習いました。
アポジって何だっけ?遠日点?
>>278 ロケットの夏?
米粒からえらい大きな話になったなw
で、米粒はインドアプレーン以外に使い道は無いんですか?
俺、米粒10個買ったけど使い道無くて困ってる・・・
使い道って人に聞くもんなの?
米粒AVRとロケットの質問をした者です。
たくさんの回答ありがとう。
米粒AVRは室内航空機につかうのですね。
メモリ足りるのか心配ですが、そこは頑張るのですね。
ほかにもユニークなアイデアありがとうでした。
ロケットはまだ壁があるようですが、十分な推進力持続的に得るのが難しいのでしょうか。
そういう観点では風船作戦はよいですね。そこから衛星軌道までどのくらい頑張る必要があるのかわかりませんが。
姿勢に関してはジャイロを積めばなんとかなりそうにも思うのですが。
加速度についても姿勢制御さえできればgより大きい値だけでよいですよね?
類比で考えると、アシモ君を動かすのは大変だけど、小型ロボットなら格闘技をさせられるくらいなのだから、
ロケットも小型ならわりかし簡単なのではないかと思うのです。
姿勢制御はあまり難しく考えず、やじろべえ的に作れば、つまりおしりが常に重くなるようにつくれば
ジャイロやマイコンすら要らないかもしれません。
携帯書き込みなのでこまかく応答できず、すみません。
またよろしくお願いします。
>>285 1wireインターフェイスの温度センサとAM315MHz又は415MHzトランスミッタで温度センサ・セルの温度分布計測システムでも作ったら? 自分が欲しい位だけど。
>>288 ああ、そういやそんな感じの使い方もあるね
安くて大量に購入できるから
>>286 すまん、もの珍しさでつい買ってしまったが使い道さえ思いつかない自分が情けないw
俺もだ。同じく10個あるが…はて、どうしよう、これ。
超音波式距離計ぐらいの仕事はできるかな
距離をシリアルで出力できれば満足なんだが
まず推力のいらないパラシュートで目的地点に降下できるように
姿勢制御をやってみるとか
完璧になったら今度はロケット花火だ
使う人の能力なのに、チップがショボイ様な書き方するのが笑えるw
おまいらのタンスの肥やしが一段とデラックスになったのだけは分かったw
>>240 ちょうどI2Cやってた所だけど、SMBus(I2C派生)には動的割り当てが規定されてるとか。
アプリレベルの規定だから、MAC相当のデバイスアドレスを追加で持たせるんだろうね。
俺の脳みそ米粒くらいだけど使い道ないぜ
米粒AVR1個を無駄に馬鹿でかい筐体に納めたんじゃ使い道ない
これ使うなら、周りの部品もチップにしたいところ。そこで二の足を踏んでしまうorz
AVRでデコデコつくってるだども、PchFETの高速スイッチングドライバ(低消費電力)って
オススメ回路ないですかね?
FETのプッシュプルでなんとか1MHzでは作動すんですが
一段目のプルダウン抵抗を小さくしないと作動しないので
この消費電力を何とか小さくしたい(スピードアップコンデンサも全く効果なし)
>300
1MHzで動いてて文句言うってレベル高えよ。
スイッチの消費電力以外にも、そこら中で物事が上限に達してるんじゃないか?
ステップダウンだとして、入力電圧は5Vを越える(AVRの電源より高い)?
入力電圧如何にかかわらずステップダウンのスイッチは
PNPのトランジスタのほうが速度を稼ぎやすいが、ダメ?
>>301 入力電圧は取り敢えず50Vmax
Pchは電源が問題なので、取り敢えずPchにして進めてきた。
Trは最初やってたが数百KHzでダウン(デューティーも狂ってくる。
ので、色々と参考資料探したが コレといったのが見当たらない。
FETのゲートチャージと駆動周波数からドライバに必要な駆動能力が求まるだろ。
いくらになる?
>>303 そんなのまじめに計算してるわけないじゃん。
1/2πfcも知らないでしょ。きっと。
>>303 ドライバに必要な駆動能力でなくて
ドライブ回路のプッシュプルの作動に無駄に電力を食わないようにしたいだけなんだ。
要は、プッシュプルをLowに引いた時に流れる小電力FETゲートチャージ後のプルダウン電流を小さくしたい
入力電圧がかなり変動する特殊なデコデコなのでこの損失が結構大きくなってくる。
意を決してATtiny10に結線。AVRISPmkIIで書き込み試みるも認識せず。むむむ。ルーペがないとチェックもままならん。
orz ムズイ...
テスタチェックぐらいしろよバカ。
ケツの穴と女の子の穴間違えるぐらい失礼だろjk
配線違ってんじゃね?
>307が女で穴を間違った男が今の旦那だというならいい話
>307が初体験談を暴露したというなら面白い話
>306よ、その体験は後でいい話、面白い話に変わるさ
まぁ頑張れ
このパッケージは1番ピンがどっちかも間違いそうになるね。
もっかいデータシート見て、マーキングとピン配置確かめた方がいいよ。
レーザーマークはすかん!
ATMELのQFP(確かDIP-40Pもか)って、一般的な他の半導体メーカーと違って、
マーキングの印刷文字が正立して読める方向で、左上が1番ピンなんだよな。
本来、1番ピンの位置を示す凹みで判定すべきなんだけど、型番によっては
モールドの角3箇所に凹みがあって、いったい本物はどれだよって言う。
しばらく触ってないと忘れてるので、迷った時は前に実装した現物を引き
出してきて見比べるか、使ったことがない新しいデバイスだと、複数ある
電源ピンまたはGNDピン間の導通チェックで判定している。
>>311 ある!
それで一回試作の時に失敗した。
当然動かなくてハード担当の人と半日くらい無駄にした。
いやデータシートよく見ろって話ではあるが、慣習とずれると困るね。
313 :
774ワット発電中さん:2012/01/09(月) 14:27:14.92 ID:ysPcGXFz
型番文字列とマーク(切り欠きとか三角とか)のAND条件で識別しているので
迷ったこと無いなぁ。
そういえば昔、ある人にROMに書き込んでもらった時、
バージョン名のシールが逆向きに貼ってあったので、向きが違うと言ったら、
1番ピンマークは何のためにあるんだと逆ギレされた事があった。
アルテラのFPGAもそれと同じヘンタイマーキング方向なんだよね。
もう20年近く前だけど、工場が量産時に間違えて大変なことになった。
ウチ以外でも同様のことはあちこちで起きてそう。
そういやそのFPGAの場合、1番ピンマークの窪みとよく似た窪みが
残りの3隅全部にもあるという嫌がらせのようなパッケージだったなぁ。
このうっかりさん
AVRにはゲートアレイ(GAL?)実装されないのかね?
逆にFPGAにAVRのIPコア載せる方がラクなのか
>>317 FPSLIC のことか?
AVR の IP コアもあるけど、FPGA に乗せる魅力がないな。
えっ、俺はAVRコア載せてるよ
小規模で速いから。
デフォルトがなぜクロック8分周なんだろう? いちいち変えるの面倒。
工場出荷時設定を安全サイドに振るのは当然だと思うが?
(JTAGがイネーブルになってたのには嵌まったけどw)
DIV8がなんだか便利な電池アプリケーションなこの頃
いかがお過ごしでしょうか。
>>320 全てのデバイスかは見てないけど、
ヒューズを変えなくてもプログラムでDIV8を解除できたとオモタ
>320
>321の通り
仕様外の高い周波数を突っ込まれて壊れることを避ける
8分周であることには特に意味はないと思う
ソフト側からCLKPRレジスタで(2^n)分周できるよ
>>324 ソフトでメインクロックを分周できるの?
知らなかった
>>324 安全サイドの意味が違う。
壊れるんじゃなくてプログラムが確実に書き込みできる安全サイドな。
327 :
320:2012/01/10(火) 19:43:53.08 ID:O8grusst
なるほど、そういうことでしたか。ソフトでか変えられるってのも驚いた。ありがとうございました。
最近、FUSEのDIV8書き換えで何かやらかしたらしく、読み書き出来なくなったので、ふと疑問に思った次第です。
ああ、こういう時に限ってICソケット無しの基板直付けだったりする。セラロックつけて見ても動かないし、何やらかしたのか。ふう。
8MHzを256分周(31kHz)した結果クロックが遅すぎて以後ライタで書き換えられなくなったことなら…
>326
お恥ずかしい
訂正どうもです
>328
ライターの書き込みタイミングのウェイト(ディレイ)の設定値を大きくしてみる
例えばChaN氏のCOMライターなら-d50とか-d80とか大きな値にする
>>327 よくあるのが、ヒューズビットを間違えて外部クロックにしてしまうとダメです。
実はオレもやった orz
俺はこれやって以来、外部クロック入力にはスタートアップルーチンで
レジスタ弄くって切り替えるようにしますた。
ん?一度外部クロック入力に設定すると、書き込めなくなるの??
>>331 外部クロック止めちゃうとダメ。
ISPだといいけどソケットだとCLKINピンにクロック入れてない場合が多いっす。
>>332 つまり、外部クロック設定にしてしまっても、外部からクロック入れてやれば、
書けるってことだよね?
>>333 はいそうです。
ただ内部発振や水晶発振の回路で間違うとクロック入る回路は普通無いというだけ。
>>334 にゃるほど。了解しました。ありがとう。
336 :
320:2012/01/10(火) 22:39:35.60 ID:O8grusst
そのはずでし。
今回はDIV8のとこのチェック外してカキコした後、エラーに。確かに他の項目はよく確認せずにカキコしてもうたが…。
もはや、今の設定がどうなっているかも知り様がない。でも、多分クロックが外部になったと思われ。しかし、セラロック付けても動かない。手持ち16MHzしかないけど、5Vかければ大丈夫なはずだがなあ。
よくわからないけど、もう心が折れた。大した回路じゃないし、チャチャッと作り直します。今度は大事なとこはブラッドボードで設定してから組もう。教訓じゃ!
>>336 外部クロック設定にするとXTAL2から励起用の信号が出なくなるから
水晶やセラロックは発振しなくなりますから、付けても動かないのは当然。
必殺手段として、DIPだったら上から新品の石を被せると
こちらはXTAL2出力が生きているので発振できる場合も有るよ。
ISP端子は紙などを挟んで導通しないように。
(まあ、いろいろと修羅場をくぐれば良しwww)
>>337 ゴメン新品じゃなくセラロック発振とかに設定した石でした。
339 :
320:2012/01/10(火) 23:22:31.24 ID:O8grusst
成る程。思うところあって探したらクリスタルオシレーター手持ちにあった! これならどうだろう。明日試してみます。
tiny2313を外部クロック出すだけに持ってきてヒューズ書き換えるとか?
>>321 > (JTAGがイネーブルになってたのには嵌まったけどw)
あれは、はまり易い。慣れているシリーズでも、データシートはちゃんと
読みましょうって典型だよな
>>336 >よくわからないけど、もう心が折れた。大した回路じゃないし、チャチャッと作り直します。今度は大事なとこはブラッドボードで設定してから組もう。教訓じゃ!
哀れ流血の惨事にw
344 :
774ワット発電中さん:2012/01/11(水) 22:06:06.78 ID:L1BX+pwW
私は「血の滲むような思いを味わった」と理解し、納得した。
スモールブラッドボード = 血小板
つまりブラッドボード=血大板?
怖い話をするでない
なにチョット血が出てもコテで焼いてしまえばすぐくっつく
349 :
774ワット発電中さん:2012/01/12(木) 22:17:34.29 ID:+0L+KvVY
うちのカミさんはチョウそそっかしい。
私が床の上でACケーブルのハンダ付けをやっていたら、
そばにやってきて、血が出ているような傷も無いのにコテの上に正座した。
あれ?何やってんだ?そこはコテがあるはずだぞ?
何だかジュッて音がしたぞ?
と思った次の瞬間、カミさんが天井に向かって思いっきり大声でアチーと叫んだ。
・・・
ものすごく怒られた。
しばらくの間、すねにクッキリと跡が残っていた。
コテは通電時にランプが点くやつがいいね
うう、いたそー><
作り話はすぐわかるな
熱くなった肉棒を・・・まで読んだ
そういえば、カミチョウってアニメが有ったとか無かったとか・・・
だよねー
俺には40年前に半田ごて落として足首についた火傷の後が今でも残ってるぜ。
なんかホトに火箸が刺さってしまった話が神話にあったな
ホトとかサネとか100年前の死語
だいぶ前からelm-chan.orgにアクセスするとyahoo usに飛ばされるんだけど俺だけ?
結構不便してるorz
アドオンとかでリファラ偽装すりゃいいんじゃね
試してみたけど問題無さそう
偽装なんかしなくても
お気に入りに入れとくだけでおk
検索されるとなんか困るんかね
個人サイトが何しようと別に勝手ではあるけど
リダイレトの実験してるんだね☆
クローラーを弾こうと思ったらユーザーまで弾いていたでござる
検索で飛んできて、変な質問する人が増えたんじゃない?
たいしたアクセスのないうちのサイトにも来るくらいだし。
yahooで検索してアクセスすれば大丈夫
googleからのお客さんを弾いてるみたい
>>363 そんくらいだよねぇ。
でも裾野が広がると嫌でもそうなるわな・・。
googlebotを防ぐつもりが間違えてただけだっりして
ボットはリファラ持ってないから間違いようがないよ。
検索キーワードの内容にうんざりしたとか?w
リロードとかアクセス頻度が高いと暫く弾かれる。
掲示板をタブブラウザで読み込みし過ぎたらなった。
369 :
774ワット発電中さん:2012/01/14(土) 01:47:28.12 ID:TgA7tONP
>>366 だよね。
ヤホーで検索してくる人と、Googleで検索してくる人と比べたら、
やっぱヤホーの方はバカが多いぜ。相対的に
検索をはじくなら、普通ヤホーの方だよ
お気に入りの芸能人がyahooのトップに出ると、それだけで大騒ぎするし
どんだけyahoo重要なんだ
それはyahooではなくお気に入りの芸能人が重要なんだろwww
AVRのCって8000Hを越えるサイズのデータでエラーになるんだけど、
何から来る制限なんだろう・・・
データのアクセスに符号付き16ビットの数値でも使ってるんでね
あ、ごめんなさい。
実行時エラーではなくてコンパイルエラーなんです。
なんで >373 の言うことを、ちゃんと検討して見ないんだろうw
ん? そもそもアクセスなんてしてないですよ?
巨大なテーブルってだけで。
「データのアクセスに符号付き16ビットの数値」
ってのは、
>>372がアクセスするときに使ってるデータ型の話じゃなくて、
コンパイラとかが使っているデータ型の話じゃね?
符号付き16ビットだと、正の数で扱えるのが0x0000〜0x7FFFまでの範囲で、
逆に0x8000〜0xFFFFまでは負の数。
マイナスのアドレス指しちゃうと困っちゃうよね。コンパイラが。
ID:EZWF0mjyが付いて来れてないだけ
そっとしておけばよろし
>363
だろうなぁ
英語版のトップページの文言からそれが読みとれるwww
>>358 chan氏のサイト、Googleのインスタント検索が原因らしい。
向こうの掲示板でだいぶ前に上がってたよ。
フリスクみたいなちっこいケースとか
どこに売ってますかね。
画鋲とかが入ってるプラの奴なんかがいいんですが
画鋲は要らないのです。
コスメ用品の小分けの容器はニアピンなんです。
こんくらいだとプラ板で箱作った方が良さそうですが
安く楽できないかなあと、諸兄の慧眼を借りたく。
百円ショップ
タカチのSW型とか?
フリスク喰えばいいんじゃね?
ところで、だ。48kHzデータのSPDIF喋らそうと思ったのだが、
あれこれ計算してみるとXMegaに手を出さざるを得ないような気がする。
糞高いエンコーダIC買うのとどっちがマシなんだろうか?
フリスク箱買いして
中身は大瓶にでも詰めるとか
>>384 XmegaをATtinyで制御すればいいんじゃね?
387 :
774ワット発電中さん:2012/01/14(土) 22:33:16.35 ID:AbUQBHkd
>>376 mega2560とかを容量フルに使いこなしてる人に聞けばいいんじゃね
>>384 AKでもPCMでも高いと思わないけど、
それより安くするならMAX3000の100円程度でどうじゃろ?
水晶とかで結局高くつきそうだけど。
>>373 >>377 確かテーブルジャンプする時にPCを操作するのに16bitだから64kの壁が有ったような。符号付きだと±32kか。
それを超えるデータをフラッシュに置きたいならfarJumpの方の関数を使うみたいね。
390 :
372:2012/01/15(日) 01:24:35.06 ID:8seC43PP
つまりバカは自己完結させておけ。ということでOK?
sizeof()の戻り値がint型ということで、
intが16ビットのAVRでは8000Hを越える配列だと都合が悪いとうことのようだ。
396 :
774ワット発電中さん:2012/01/15(日) 02:50:23.12 ID:t8j97lea
twitterで聞けばお人よしがタダですぐに答えてくれるんじゃね?
ここは知ったかしか居ないし
いや、既にきっちり回答されてるわけだが。
>>381 手芸関係‥ビーズアクセサリ用品店で、デコ用のベースとして売ってたりする。
>>381 缶詰の空き缶を切って加工するとか、トタン板買って来て半田付けするとか。
あるいは、身近にあるボール紙で箱作って、ボンドやニスでも浸漬して固めるとか。
ググっても見当違いなサイトしかないね
フリスクの金型依頼するか持ってるところ探して無地ケース分けてもらうとか
多分安く欲しい人沢山いるから相当品量産できれば大儲けできるかもね
いっそ裸基板を紙粘土で包んで四角にしちゃったらどうよ
放熱は知らんけど
タカチあたりで手ごろなのを使うのが一番確実っていう気もする
ワイが仕入れた情報によると、もうじき中国はバブルがはじけて昔の貧乏な中国に戻るらしいで
もう経済は破綻してて、取り戻すのは無理なんだそうや
その世界ではごっつい有名な政府関係者筋から聞いた確かな情報やで
まあお前ら頭の良い連中には、今さらなくらいのネタやな、
なんでフリスクを買って中身を食べるんじゃだめなのだろうか
フリスクが嫌いなんか
量産して売りたいんだろう、察してあげようよ
フリスクケース30個ぐらい溜まってるけど使い道がない
ガムのボトルも使えそうでおいて置くとゴミになる。クロレッツの捨て紙はポストイットの代用になるけどね。
>>407 抵抗入れに使ってるけど、色付きが混じり始めてケバケバになってきた。
米粒マイコンでArduinoできませんか?
無理っす、、。
>>409 そういう収納系は透明ケースじゃないと不便じゃない?
マジックで 4.7k とか書いてるから大丈夫
ぴったり入るぞ。
どんだけデカいチップ抵抗なんだよ
フリスクの箱サイズのチップ抵抗か・・・・・・
>>414 マジックで字かけるくらいデカいチップ抵抗は現実にあるけどな
いや、チップ抵抗とは言ってないし・・・
米粒マイコンって何に使えるの?
LEDチカチカ以外で。
モータやLSIののSLIMbus-I/F?
ってLEDはLチカか・・・
ラジコンカーのトラクションコントローラとか。
スロットル開けるの下手だとタイヤ空転してスピンしちゃう。
パルス間隔監視して空転検出したら出力カット。
ABSのアクセル版
割と高価なプロポに付いてるね。
久しぶりに見てみたらテレメトリーまで付いててフイタw
422 :
774ワット発電中さん:2012/01/17(火) 17:44:07.34 ID:pUlKMvgC
ATMEGA64AはQtouch使えるんですか?
データーシートの記述がないのですが
わかる人おしえて。(参考URLも)
ミニ4駆に加速度センサつけて、カーブや上り下りでスピード制御するとか
レースには出られそうもないけどw
424 :
774ワット発電中さん:2012/01/17(火) 19:37:38.78 ID:TZJ0WhUr
>>423 加速度センサつけるんなら、ミニ4駆の車輪を外して1輪か2輪
にして 村田セイコちゃんみたいに自律綱渡りでもしてみろよ。
それだったらジャイロもあったほうがいいね
一方ロシアは、やじろべえを使った!
村田セイサクくん、ジャイロを使ったやつは超安定してて見てておもしろくなかったなw
>>424 ミニ四駆改造の方が面白いと思うけど。 倒立振り子は、面白くないんだよなぁ正味の話。
取り合えず音声認識しようか
米粒、なかなか実用品をみないね。
電子タバコには入ってたよ
前も言ったけど。。
米粒は基準電圧内蔵してたら使い道があった
0.6V位のコンパレータ用の基準電圧を電源電圧を基準電圧とするA/Dで読める程度の機能でもいいから搭載して欲しかった
「面白い使い道を思いつきません」
そりゃあんたの問題だ。ここでウダウダ言うな−!って感じの人多すぎ。
電子タバコってどんな制御してるのだろ?
流量の変化検出と疑似発煙?
437 :
774ワット発電中さん:2012/01/18(水) 07:24:09.08 ID:Au/YQ5v8
たしかに。
関連動画にリモート制御Webカメラってのもあるね。
倒立振り子にカメラ積んで、顔認識の画像処理ができると面白そうだ。
439 :
774ワット発電中さん:2012/01/18(水) 10:47:10.32 ID:Jk2a7XKR
>>435 返事アリガト
それがないのよ?探し方が悪いかな
ATMEGA64Aがタッチつかえるかどこでわかるのだろ
実用例もあるのかな?
ミニ4駆の速度でライントレーサーが出来たら、すごいウケるぞ
441 :
774ワット発電中さん:2012/01/18(水) 14:03:52.10 ID:sUdXgt8g
一定以上の拘束になると,黒い線を追いかけるのは
物理的に無理があるけど,似たようなシステムなら
高級車には搭載されてるよ.
画像処理で道路の両端を認識し,はみ出しそうになったら,
ハンドルに振動を与えて警告,それでもだめなら,
トラクションコントロールで元の軌道に戻す操作をする.
あと,車間が詰まりすぎると,アクセルを戻したり,ブレーキを掛けたりする.
倒れない、とか浮いて止まってる、とかよりも
もっとインパクトある自動生魚ネタって何かないかな
ラジコンミニセグウェイみたいなのとか
動きがある制御がしたいんだな?
フラワーロックにセンサーとマイコン仕込んでフラフープを回してもらおうか!
時間になるとものすごい勢いで羽ばたく鳩時計とか
距離センサー付けて近づくと大人しくなったり
夜誰もいなくなると凄まじい勢いでケタケタ笑い出す人形とか
>>442 >もっとインパクトある自動生魚ネタって何かないかな
な、生魚…
おまえが一番インパクトあるってw
449 :
774ワット発電中さん:2012/01/18(水) 22:01:02.78 ID:Au/YQ5v8
>>444 >>445 >>446 好き勝手に課題を言ってくれるのは良いけど、なにか参考になるURLでも貼れよ。
別にAVRマイコン使わなくてもどっかで同じような事やってるんじゃね。
450 :
774ワット発電中さん:2012/01/18(水) 22:36:11.85 ID:VlWHYNvp
別にいいじゃねぇかw
やる方は好きな課題だけ勝手にやればwww
誰かが勝手にお題を出して、誰かが勝手にお題の物を作るようなスレってあったっけか
それ普通に怖いから。
VIPに立てろ
>>452 そんな怖いか?
「開けるとジングルベルがなるオルゴール、メロディICなしで誰か作って」
「作ったでー っ写真 っ回路図 っプログラム」
みたいな感じで面白そうじゃない
>>453 製作って時間かかるからスレが数年もつような板じゃないと無理じゃね
じゃあ、米粒で携帯温度計作ってちょ。
計測はできるが表示は出来ない(キリッ
チップLEDでモールスコードで温度を表示すればいいんだよ
フォトセンサ、裏にLED、2次電池、非接触充電回路、マイコン。
可能な限りシンプルで安く小型に。
大量に作成し、バケツにでも放り込んてまとめて充電。
センサ入力の変化に応答し、少し遅れて発光パターン出力。
暗闇の床にばら撒いとくだけでカオス的発光パターンが現れるかも。
ホタルをシミュレーションしたり。
ガラスにランダムに貼り付けて、
向こうの景色を遅延再生するとか。
いろんなアート作品が考えられる。
IR通信モドキでモードやパターン設定
ぬおー。久々にAVRをいじろうと思って書き込み環境から作り直してるけど、なんかうまくいかねー。
PCをWindows7にしちゃったからかな。結局、AVRISPmkII買ってしまった。
つか、プログラムもなんか上手くうごかねー。
何だかんだ言って、AVRISPmkIIは楽ですな。米粒も使えるし。
俺もそうだけど、苦労を楽しめる人以外はmkIIだよね。とステマしてみる。
>458
スピーカつないで矩形波でも出して音程で表現したらどうだろうかと思った。
が、内蔵クロックが10%も誤差ある上に大体でしか分からないから
それならそもそも温度計いらねーと気づいた。
おれも同じくAVRISPmkIIなんだけど、AVRdragon使ってる人いる?
>>457 なこたないよ。
チップLEDでバーインディケータつくればいいんでしょ。
体温なんて0,5℃刻みで36,5〜38℃超まで4点測れれば必要十分。
と思ったが米粒じゃ足りないな。
温度に比例した音を出せばいいんじゃね
しかし絶対音感がなければ温度を読み取れない罠
PWMでLEDの明るさで表すのも方法の一つだな
モールス信号で温度表示
469 :
774ワット発電中さん:2012/01/20(金) 04:36:48.86 ID:WDF0WKqA
絶対温感で温度を読み取るんだ!
3ポート余るんだから、シフトレジスタで7セグドライブできるよな。2桁ならダイナミック点灯もできるか? どうだろう。
AVR+LED を10個くらい並べればいいじゃない。
>>464 ノ
AVRISPってなんとなくトラブルが多いような気がする
う、パラレスじゃねーよ;;パラレルだよ
マイコンポート3つで12個のLED制御するのあったよね
どんな回路図が忘れてしまった
シフトレジスタ使えば何個だろうが制御出来るんじやね?
トランジスタ2個だけしか使ってなかったから印象に残ってる
>>478 Charlieplexing?
でもポート3つでは6個までっぽい。
I/O1個を1bitと考えると3bitだから理論的に最大8個だろうと思うけど、
実際にはZ状態があるから3^3=27が最大
>>484 これスイッチ(とLEDも?)に細工しないと駄目だよね。
LEDでこんなもの作ってみたスレでやって。
今までの流れを総合すると
米粒でスイッチに細工して実現せよというお題なのかなと。
俺は解らんから投げた。
>>466 ドレミファ…と音を鳴らして、止まった音程を記録し、音程と温度の表から温度を読み取る。
復活したか
復活した。。。。
けど、スレここだけ?www
何でここだけ残ってるの?
次第に復活していくのかな・・・
なんだおい、電電ここだけかよw
498 :
774ワット発電中さん:2012/01/22(日) 00:16:13.24 ID:gExI+Gu7
復活カキコ
米粒の内蔵コンパレータが
出力を生のままポートに出せるものだったら
安価で入手性の良いCMOSコンパレーターとしても使えたと思います
>>499 いや、性能も、入手性も、価格も、普通のCMOSコンパレータの方が圧倒的
に有利やろ。
つか、デジタルもマイコンも要らんやん。
米粒AVRで触手型オナホールとか実現できるかなぁ
アクチュエータは人工筋肉で、ちんこをぬめぬめと這いまわって締め付けたりして
人工筋肉ならオナホが人肌温度の暖かさになるから気持ちよさそう
それ以外の部分が整えばAVRでもできるだろうけど
蛇ロボットならあるぞ
太いし重たいから強靭な逸物が必要だが
米粒モーターを埋め込んだシリコン樹脂の粒々ローターを、米粒AVRで制御
して、シロアリの群れがナニにまとわりつくように...。
このシリアル転送の手法、たしか昔の教材であった気がするんだけど、なんだっけなこれ
結局、スイッチ、LED、電源、全部に細工があったんだな。
これをTiny10で置き換えてみるのも面白そう。
電池を見ると VIP って書いてあるだろ。
ねらーならわかるよな。
>>506 それやろうと思ってたけど解答出てて萎えた
アニオマジックの基板には米粒PICが使われてるね。
MOUSERでカメレオンAVR買うた、
プロペラ触るのも少し楽しみ。
>>508 シリーズ編は回答あるけどパラレル編は未だじゃない?
>>511 そうか。でも似たような細工でしょ。
コロンブスの卵的なことを期待してた身には終わったも同然なのです。
>>512 って、コロンブスの卵の話よく知らないのかな。
あんたの反応を見る限り、まさに「コロンブスの卵的なこと」なんだけどw
実は、LEDにもスイッチにもバッテリにも細工がなくて
メッキ線にみえた物が・・・って展開は?
並列は同じバッテリーコネクタを使ってるとして、C,R,DをスイッチとLEDに
直列に入れて、スイッチの接点OFFで点灯か。
実はただのCGでした。
解答見るまで、真ん中のLEDの仕掛けがわからなかった(´・ω・`)
マイコン内蔵なら何でもありだけどな
>>513 コロンブスの卵は、誰にでも簡単に実行できるけど、
思い付いても打ち消してしまうような発想の実現でしょ。
このトリックは、理屈ではわかっても、誰にでも簡単にできる訳じゃない。
>>484 電気音痴が見たら何かが一周して「これのどこがすごいの?」みたいになると思われw
各素子に電源GND行ってるのがミソだな
スイッチから信号が出て、LEDで受信して動作する
解答はどこにあるのですか?
ググっても解らなかったのでご教示お願いいたします。
ATtiny85をいじっているのですがPBポートが5までしかありません。
DDRDやPORTBの6,7ビットはReadOnlyになっていますが
ここにDDRD = 0b0000001などとしてもいいんでしょうか?
それともDDRD |=_BV(0)とかしなければいけないんでしょうか?
526 :
525:2012/01/26(木) 20:17:03.06 ID:GBFXFzYW
上のDDRDはDDRBの間違いです。 すみません。
DDRB |=_BV(0)
も分解すれば
DDRB = 0b0000001
の処理が含まれるから問題の解決にはならないんじゃないかな
でそもそもそんな問題は存在しない
存在しないビットに何を書き込んでも悪いことはおこらない
何を書き込もうがそのビットを読めば0しか読み出せないというだけ
> DDRB = 0b0000001
> の処理が含まれるから
これ違うな。
529 :
774ワット発電中さん:2012/01/26(木) 21:44:26.17 ID:vd8fkVMW
>>525 マニュアルをじっくり読め
無意味なビットに何を書いても無視されると明記してあるから
リザーブビットには何を書けというのも書いてあるからな
データシート上ではReservedだけど、実はテスト用ポート
だったってのもありうるしな
532 :
525:2012/01/27(金) 07:42:45.49 ID:FL1QaKgO
皆さん、レス有難うございます。 とても参考になります。
_BV()は1ビットだけ処理するものと誤解してました。 又データシートの読み方が
不足していたのを痛感しました。もう一度読み直してみます。
DDRD |= _BV(0); は、sbi に最適化されるんじゃね?
まあ、コンパイラ依存だけどさ。
>>532 少なくとも最適化オプションをつけていれば、
今まで自分が見た範囲では
>>533が言うようにsbiになるね。
sbiってのはビットセットだから、ほかは影響ない。
ビットセットでも内部では8ビット全部読んで変更し書き込んでいるんだよ。
各レジスタのビットごとに「セット端子」や「リセット端子」があるのかも知れない
ないとおもうけど : p
>>535 あんまり嘘ばっかり書くなよ。
命令セットのデータシート見てみ?
0〜31までのIOアドレス限定だけど、
指定ビットのセット(sbi)もしくはクリア(cbi)を1命令で行う。
だから、IO多いAVRで拡張IOアドレス領域のPORTFとかを使うと、
若いポートとはビットセットの速度が違って困ったリする。
539 :
537:2012/01/27(金) 14:24:16.23 ID:GdcZjNOP
>>535 すいませんでした。
汎用レジスタを使ってのそういう動作でないってつもりで書いたけど、
不安になってデータシート見たらこう書いてありました。
Note that the CBI and SBI instructions will operate on all bits in the I/O register,
writing a one back into any flag read as set, thus clearing the flag.
影響は全ビットに発生しますね。
H8か何か忘れたけどビットアクセスするか否かマイコンによるんだよね
勉強になった
>>539 初めて知った。
でもこの影響ってなんじゃろ。
>>542 オープンコレクタの入出力兼用ポートで入力値がloの時に出力が固定されてしまう
>>543 そうか、そのパタンだと同じRegでRead/Writeが違うんだ。
AVRはI/Oピンの読み取りと書き込みが別アドレスだし読むのは出力レジスタだから問題なし
世の中には出力モードでも端子の状態を読み出す変態マイコンもあるらしい
入力レジスタに1を書き込むと、対応する出力レジスタのビットが反転する。
これ豆知識な。
まあ、入出力バスってのはそういうもんだよな
多ビット同時に読み書きできる代わりに、常に多ビット同時でないと読み書きできない
>>540 同じアドレスのI/Oポートの特定の1ビットだけに書き込みをできるような
バス構造のマイコンは存在しない。
たとえ、CPUに1ビットをセット、クリアする命令があっても、必ず、
1ワードREADして1ワードWRITEという動作をする。
CPUによって、動作が違うのは、そのREADとWRITEの間に割り込みを
受け付けるかどうかくらい。
>>548 ええー?
I/Oコントローラがステータスを保持してるんじゃないの?
>>549 >548 はプロセッサバス構造の話をしてるつもりらしいからOK。 IO関係ない。
ただ、この場の話題に全然意味のない話ではある。
>>548 たとえ機械語にビットR/W命令があったとしても、それを使うのとワードR/W操作するのとで処理速度に違いがないということ?
>>552 ビット命令は1クロック処理だよね、確か。
Qtouchって使った人います?
tynyとxmegaは1クロックなんだよね
>>556 1クロックでリードとライトが出来るか?内部バスだけ倍速動作?
1クロックには前半と後半があるから前半で読んで後半で書き戻しとかすればできるんじゃないの?
クロックのduty比が50%から大幅にずれるとオーバークロックの上限が下がるし
そうに違いないよ!
>>558 発想がZ80的ww
まあ、中の人もZ80をモロ参考にしてるかもね。
オレも大差ないが、今風ならクロックを逓倍する。
あと、READ用のデータバスとWRITE用のデータバスを分離して
同時にできるバス構造も考えられる。
AVRには、SBIC,SBIS命令があるから0x00〜0x1Fのレジスタは
ワイヤードロジックでデALU近辺にまで引き回されてるから倍速クロックは必要ない。
普通のAVRで2クロックなのは、ST命令の経路でレジスタ値=0で書き戻してると推測。
制限付きでいいから1サイクルジャンプが欲しい
sbicとかでぐるぐるする時とか
>>557 だから、ステートレジスタがあるんだってば。
うっうー、SDカードよくわかんね・・
5Vでつないじゃったけど、あわてて外して
他で試してなんか平気。
秋月100円ビクター8Mカード。
Gookle...
566 :
774ワット発電中さん:2012/01/30(月) 20:52:16.59 ID:pHO43i5m
復活あげ
米粒でインクタンクのチップ偽装とかできねーかなー
できるんじゃない?
どういう仕様?
仕様が分かってれば誰も苦労せんわな
>>567 普通にリセッター買えばいいんじゃないの?
今ならダイソーにだって売っているし。
そいつのマイコン読めれば読んでみて、自分でアレンジする。
なんでリセッターとか出回るのかねぇ、
元々メンテ用品とかでそういうのが存在したのかな?
ヘルシーリセッタ
>>572 そんなの使っているROMの仕様がわかれば、プリンタとインクの通信を見ればわかるだろ?
>>574 ほぉ、そんな単純な作りなのか?
ドングル程度のことはやってると思ってたよ
もとが数百円の消耗品だからなぁ…そこまでしてないと思う
ググったら、独占禁止法に触れたので、
メーカーがしぶしぶリサイクル業者へリセッターを渡したみたいだな。
そんな堂々とやってるのか
他人のフンドシで相撲をとるようなマネしてるくせに
人類が月に行く時代にインク壺のリセッタとか終わってるな
プリンタは本体を安く売ってサプライで儲ける業種だから生命線だろ。
>>578 尼とかで普通にリセッタとか再生インク売ってて不思議に思ってたんだけど、
合法だったのね。
うちは今でもALPSなんで関係ないけど
感熱紙かよ!
昇華インク?
実際プリンタなんて、年賀状以外には殆ど使わないだろ
インクジェットはまだそんな使用頻度に耐えられるようになってないし、
レーザーでも何ヶ月とか放置するとトナーが固まる
1年放置しても電源ONで即一定の品質が出るプリンタは、
未だに感熱紙とかインクリボンしか無い
過去からじゃなく、物凄く物持ちがいい人だよw
>>585 年賀状にしか使わないなら
使用頻度に耐えられなくていいだろ・・・
ってか、クリーニング用の色なしインクとか出せばいいのにね。
>>585 インクジェットは感光基板用フィルム作るのに、
安レーザーはアイロン熱転写してプリント基板作るのに使うし。
感光用にインクジェットである必要はないし、
トナーであって欲しい時はコピーすればいい
>>585 分かるわーw
トナーが固まるっていうか、ローラーにこびりつくのかな
レーザープリンタ1年くらい使わないでいると
しつこい帯汚れが印刷されるんだよねw
物持ちがいいっていうか、まぁ、捨てられない人だ、俺はw
>>591 ブラザーの安物ページプリンタ使ってるけど、
年1で印刷しても全く問題ないけどなぁ
>>593 俺もブラザーのHL5040だよ
海が近いから湿度の問題かなぁ?
>>585 インクリボン、放置しとくと乾いちゃうよ。
だって、横のMP80、印刷できないもん。
インクリボンをまず入手しないとセーブできないぞ
"また中国製" 「サイゼリヤ」のピザ生地から、メラミン検出
http://headlines.yahoo.co.jp/hl?a=20081020-00000100-jij-soci イタリア料理のファミリーレストランをチェーン展開するサイゼリヤ(埼玉県)は20日、同
店で提供したピザ生地から有毒物質メラミンを検出したと発表した。ピザ生地は中国製で、
厚生労働省が輸入業者に自主検査を呼びかけ、同社もサンプルを検査機関に送っていたが、
検査結果が出る前に店頭に出されて消費されていた。
厚生労働省によると、ピザから検出されたメラミンは4・3ppmと微量で、健康には影響が
ない量。原材料に使用された粉乳に混入したものとみられる。中国広東省の金城速凍食品
有限公司が製造。ザ・ベスト創食(東京都)が先月に5・7トン輸入し、すべてサイゼリヤに
卸していた。金城社の製品では1日に大手商社、兼松が輸入した「マカオエッグタルト」
からも1・4ppmのメラミンが検出されたことが発覚していた。
サイゼリヤによると、先月25日に対象のピザ生地のサンプルを検査機関に送り、結果は今
月16日に判明した。しかし、残りのピザ生地は神奈川県内の工場で加工され、今月1〜2日
にかけて北海道から関東の547店舗でピザとして調理し、「マルゲリータピザ」(399円)な
ど5品目として客に提供。3日以降は乳製品を除外したピザ生地に切り替えているという。
検査中にもかかわらず、店頭に出したことについて、サイゼリヤは「メラミンが入ってな
いと思っていた」(お客様相談室)としている。
--
日本人2歳児もメラミン粉ミルクで腎臓結石
http://www.yomiuri.co.jp/world/news/20081018-OYT1T00526.htm 【北京=佐伯聡士】北京の日本大使館は18日、中国の地方都市に住む2歳の日本人幼児が、
有害物質メラミンの混入が問題になった「三鹿集団」(河北省)の粉ミルクを飲んで、腎臓
結石にかかっていたことを明らかにした。
こんだけ地震が続くと発電できそうだな、
ラーメンタイマーでも作るか。
秋月で
ATMEGA64A-AU \300 電源電圧:2.7V〜5.5V
ATMEGA64-16AU \500 電源電圧:4.5V〜5.5V
なんですがぁ64A-AUってなんで安いんですかね
データシートよく読めって話ですがw
>>582 特殊用途のリボンはもう終了しちゃったけど、
デカール作りとかにはまだつかえるんだろうか。
>602
良く読むと…
スリープで消費電流が多かったりするかもしれない。
A付P付はそういうあたりで罠があるので注意だ。
>>604 なるほど・・電池アプリだと重要ですね。
新しいほうが安くて、古いのが高いのが不思議だったです。
ありがとうございますぅ。
DACのついてるAVRはありますか
PWMじゃ駄目な理由を知りたい。
PWM出力とDAC出力を同一視できる脳みそを知りたい
外付けでいいじゃん。
DACのついてるAVRはありません
厳密には1bitDACつきのならあります
↑その性格なら友だち居ないだろう
UC3とかには付いてるのなかったっけ?
>>608 DACじゃないとダメな脳みそも知りたいw
漏洩スイッチングノイズが気にならない用途なら、
PWM+LPFでいけるかもね
PWM+LPFだと平滑化に最低10パルスぐらい必要になる
20MHzクロックだとPWMの出力が最大10MHz、
10パルス平滑化すると、アナログは最大1MHzまでしか得られない
俺の用途には最低5MHzは必要です
それ以前に、速度を問題にしろw
PWMでDAC頑張ってもいいとこ0.1kspsくらいだろ、
なんとなくだがやっぱ内蔵ADCと同じくらいは欲しいじゃん。
>617
一般にマイコン内蔵DACでは、
たとえ更新レートが例えば10Mspsあっても周波数帯域が5MHzあることは少ないよ。
スルーレート制限ではるかに遅くなるのが普通。
俺の用途やらに合うパーツを好きに選定すれ
なんで皆具体的な用途隠してgdgd言うんだろうね。
病的にケチ臭いのもいるからねぇ
こういう場って共有資産みたいなもんでしょ。
いつも思うんだけどさ、用途かくして質問するやつって仕事で
わからないことをこんなとこに書いてるんじゃね?
だったら相当なあほだよね
そんなやつと仕事はしたくないね
用途を知りたいからPWMじゃなくてDACにする理由を聞いたのが
>>607で
その後
>>608がへたな煽りをしてgdgdになった気がする。
>>623 あぁ、なるほず、リストラされて個人事業主ってやつですか。
用途を知りたいっていうより、最適解を考えたいのに、方法にこだわられると目指す方向がわからないって感じでは?
札幌からNYにいくのに、何がなんでも新幹線にのりたいといって頑張ってるようなもの。
おまえがしたいのは、NYにいくことなのか、新幹線に乗ることなのかと、小一時間問い詰めたくなる。
ま、目的に向かって直線的に進みたい男と、目的より過程の大事な女と
意味不明な「こだわり」を主張する脳の不自由な方とでは、話になろうはずはないのだが。
それだけ長文の文句書くほど暇なら教えてやれw
いや素晴らしい例えだと思うよ。
日本人は形から入る、満足して終了とか。
あら、抜けちゃった。
形から入る⇒一通り道具を揃えたら満足して終了。
XPからWIN7x64に変更したら、いままで出来てたビルドできないorz..
今日昼から色々試したんだけどもう、くじけそう・・・・
ヒントください お願いします
環境:AVRStudio4.19Buid730 WinAVR20100110
make: *** No rule to make target `../volt.c', needed by `volt.o'. Stop.
Build failed with 1 errors and 0 warnings...
エスパーするとパスが通ってないとか
>>631 program filesの場所に再インストールしてみれば?
もしくはprogram files(x86)に入っているAVRstudioをprogram filesにコピー
>631
ソースファイルの在処が分かんネっつってんだから、
プロジェクトファイルのディレクトリ指定の部分が
壊れたかなにかしたんだろ。
どのプロジェクトでも同じようなエラーになるなら
ディレクトリ指定に絡む環境変数が消えたんだろうから、avrstudioの再インストールが早いし、
そうでない特定のプロジェクトでの話ならそのプロジェクトだけ作りなおしが早い。
635 :
631:2012/02/05(日) 20:24:27.06 ID:H9UjB9fP
>>632 スキルがないのでパスを通す事?何処を弄ればいいのかわかりませんorz
>>633 program filesの場所に再インスコしましたが、同じ現象になりました。
何処かのサイトに「dep」フォルダーを作ると回避できるとの事でしたがそれも、ダメ
XPに戻すしかないのか、、、、TT
636 :
631:2012/02/05(日) 20:31:05.45 ID:H9UjB9fP
>>634 新規にプロジェクトをつくり簡単なソースを書いて試しましたが同じ現象でした
すこし真面目に調べてみた
http://www.ecoop.net/coop/translated/GNUMake3.77/make_16.jp.html >`No rule to make target `xxx', needed by `yyy'.'(訳:`yyy'に必要な`xxx'というターゲットを作成するルールが存在しません。)
> これはmakeがターゲットをビルドする必要があると判断したのにビルド方法について
>(デフォルトルールデータベースの中も含めて)明示的・暗黙にmakefileで指示が全く見つからなかったという意味です。
> そのファイルをビルドしたいならmakefileにそのターゲットがどうやってビルドされるかを述べるルールを追加する必要があるでしょう。
>原因として考え得るその他の可能性は、(ファイル名が間違っているといった場合の)makefileの誤植や(ビルドがサポートされていないファイルで、
>依存関係だけにあるという場合の)ソースツリーの堕落です。
とりあえず
・ProjectメニューからConfigulation Options > Custom Options でUse WinAVRあたりを確認
問題なさそうなら
・Buildメニューからmakefileのエクスポートでmakefileを書き出して中身を確認
くらいか
オレはAVR Studio使ってないので、あとはエロい人に任せた
>>635 作業ディレクトリの指定を直せば直る。
環境がわからないのでこれ以上は答えようがない。
>>635 NASにソース置いた時に同じ現象でた
XPの時は大丈夫だったのに。
Win7 64bitでローカルならOK
>>639 XPとか、関係ないんじゃねいの?
見つからないってんだから、自分で見つけて教えてやる必要があるんだろ。
具体的にどうすればいいかは、これだけじゃ解らないけど、そんなエラーは、
環境変えるたびに起きるもんだよ。
641 :
635:2012/02/05(日) 22:05:00.21 ID:H9UjB9fP
>>635 作業ディレクトリって新規にプロジェクトを作るときに指定するやつですよね?
それとも、プロジェクトオプションで出力ファイルの指定かなぁ。一応確認はしてるんですけど
うまくいきませんorz.....
環境Win7 64bit homeすべてprogram filesにインスコ
Cドライブ直下に「avrdata」フォルダ作成
そこを指定てます。Cドライブは80GBx2RAID0 CPU:C2D E8400 メモリー4GB
>>639 2機HDがついてるから、1機止めてCドライブのみにしたのですが。。。
それでも、無理でした
>>641 オプションとかプリファレンスとか、とにかく自分で設定できるとこ調べてみる。
643 :
774ワット発電中さん:2012/02/06(月) 20:02:22.68 ID:gL98aPEa
AVR GCCで、スイッチを押したらLED点灯、また押したら消灯、というプログラムを書いています。
int main(void)
{
char flag = 0; //関数flag
DDRC = 0b11111111; //PORTCを出力に設定
DDRB = 0b00000000; //PORTBを出力に設定
PORTB = 0b11111111; //PORTBの内部プルアップ抵抗ON
//PC0にLED、PB0にスイッチを接続しています。
while(1){
if((PINB & 0b00000001) == 0){ //スイッチはONか
PORTC = 1; //LEDを点灯
flag = 1; //flagに1を代入
}
if((PINB & 0b00000001) == 0){ //スイッチはONか
if(flag == 1) //flagは1か//LEDは点灯しているか
PORTC = 0; //LEDを消灯
flag = 0; //flagに0を代入
}
}
}
というとこまで来たんですが、スイッチから手を離すまでに次々と命令が実行されてしまいます。
ここから進めず行き詰ってしましました、どなたかヒントください。
二回目にスイッチを押す前に自分が何をしているか、
よーく観察してごらん。
# 当り前すぎて気づかないかも知れないけど。
>>643 ifではなくwhileでスイッチがON、スイッチがOFFになるまで待つ処理にする
バウンジングの対策が必要かは回路が不明なので無視しています。
while(スイッチOFF)
LED点灯
while(スイッチON)
while(スイッチOFF)
LED点灯
while(スイッチON)
それと、スイッチにCR付けてチャタ鈍らせてあるよね?
AVRはシュミットトリガ入ってたはずだからCRだけでいいはず。
マイコン側だけでも処理できるけど、643じゃまだむりかな。
>>643 たとえば、
while(1) {
if (switch == OFF) continue;
// ここにくれば Switch は ON
PORTC = (flag ^= flag);
while (switch == ON) /* loop */ ;
}
本当は、スイッチのチャタリングも対策しなければいけない。
オレは10ms周期で読み出して1や0が3回続いたところで確定させてるけど
もっと増やした方がいいかな
649 :
647:2012/02/06(月) 20:20:52.91 ID:La9LbAPl
× PORTC = (flag ^= flag);
○ PORTC = (flag ~= flag);
すまんすまん。
>>648 オムロンのタクトスイッチはバウンジング時間が5ms以下ってなっているから
十分じゃないかな。自分は1ms周期で7回つづいたらとか処理をしたことある
651 :
647:2012/02/06(月) 21:16:35.19 ID:aW7MsX7z
まーだ、まちがってる!
○ PORTC = (flag = !flag)? 1: 0;
こうしよう。
コンパイラそんなにバカじゃないんだから、if文で書こうぜ。。
>651 今時ならPINC|=1だよなー
>643
PINBはスイッチが押された瞬間を検出するのではなく、押されている間ずっとビットが立つ。
だからスイッチを押しっぱなしの場合、
最初の if(PINB〜) でスイッチ押下中であることを検出して{〜}を処理した後、
続けて次の if(PINB〜) でもまたスイッチ押下中であることを検出して{〜}を処理する。
(押下タイミングによってどちらのif()から処理されても同じこと)
>スイッチから手を離すまでに次々と命令が実行されてしまいます。
プログラムはまさにそうなるように記述されているわけなので。
押した瞬間と放した瞬間を検出する方法を考えてみよう。
>>631 msys-1.0.dll差し替えてもダメかな?
656 :
774ワット発電中さん:2012/02/06(月) 23:52:05.67 ID:gL98aPEa
皆さん意見ありがとうございます 643の者です。
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
char flag = 0; //関数flag
char led = 0; //関数led
DDRC = 0b11111111; //PORTCを出力に設定
DDRB = 0b00000000; //PORTBを入力に設定
PORTB = 0b11111111; //PORTBの内部プルアップ抵抗ON
//PC0にLED、PB0にスイッチを接続しています。
while(1){
_delay_ms(10);
if((PINB & 0b00000001) == 0){ //スイッチはONか
if(led == 0){ //ledは0か//LEDは消灯しているか
flag = 1; //flagに1を代入
}
}
if((PINB & 0b00000001) == 1){ //スイッチはOFFか
if(flag == 1){ //flagは1か
PORTC = 1; //LEDを点灯
led = 1; //ledに0を代入
}
}
if((PINB & 0b00000001) == 0){ //スイッチはONか
if(led == 1){ //ledは1か//LEDは点灯しているか
flag = 0;//flagに0代入
}
}
if((PINB & 0b00000001) == 1){ //スイッチはOFFか
if(flag == 0){//flagは0か
PORTC = 0;//LEDを消灯
led = 0;//ledに0を代入
}
}
}
}
関数flagをスイッチが押されたか、関数ledをLEDはついてるか、という使い方で書いてみました。無駄が多いですかね?w
結果、成功しました、みなさんありがとうございます。
単純な動作と思ってましたが以外と苦戦しましたw
関数ではなく変数と呼ぶけどね、、そのばやい。。
658 :
774ワット発電中さん:2012/02/06(月) 23:56:04.82 ID:gL98aPEa
>>656 ちなみに、ledとPORTCは同じ動きをするんだろうから、共用してもよさそうだ
えっ?
>>659 そんな手抜きをすると偶に再現性の悪い謎の誤動作で悩むぞ。
手抜きとシンプルに作るのは別。
出力値は読めるが読める値は出力の出口なのでノイズで本当の値が読めない事がある
#include <avr/io.h>
#include <util/delay.h> #define SW_ON ((PINB & 0b00000001) == 0)
int main(void)
{
char flag = 0; //関数flag
char led = 0; //関数led
DDRC = 0b11111111; //PORTCを出力に設定
DDRB = 0b00000000; //PORTBを入力に設定
PORTB = 0b11111111; //PORTBの内部プルアップ抵抗ON
//PC0にLED、PB0にスイッチを接続しています。
while(1){
_delay_ms(10);
if(SW_ON){ //スイッチはONか
flag = 1 - led; //flagにled反転を代入
} else { //スイッチはOFFか
led = PORTC = flag; //LED状態更新
}
}
663 :
662:2012/02/07(火) 10:32:00.92 ID:Xin0X+de
携帯で入力したらずれた。修正ついでにチャタリング処理を追加。
#include <avr/io.h>
#include <util/delay.h>
#define SW ( 1 - (PINB & 0b00000001) )
int main(void)
{
char last_state = 0;
char flag = 0; // 次の点灯状態
char led = 0; // led状態
//PC0にLED、PB0にスイッチを接続しています。
DDRC = 0b11111111; //PORTCを出力に設定
DDRB = 0b00000000; //PORTBを入力に設定
PORTB = 0b11111111; //PORTBの内部プルアップ抵抗ON
while(1){
if (SW != last_state) { // チャタリング防止
last_state = SW;
} else if (SW){ //スイッチはONか
flag = 1 - led; // flagにled反転を代入
} else { // SW OFFで状態更新
PORTC = led = flag; //LED状態更新
}
_delay_ms(50); // 一休み
}
}
ledの繋がっているbitだけon/offしたほうかよくない?
たとえば
flag ^= 0b00000001;
とか
665 :
774ワット発電中さん:2012/02/07(火) 17:37:45.52 ID:93GUBfCN
そ〜なってると思うけどなってない?
^= ←記号の意味がわかりません。
666 :
774ワット発電中さん:2012/02/07(火) 17:42:27.66 ID:93GUBfCN
自己レス
^= は xor ですね。
flag ^= 1 については、ちとまずいかと。
もとのコードでは、SW ONでLED状態がトグルするのだけど、
実際にLED状態に反映されるのは SW OFFになってから。
なので、うまくないのです。
ちなみに、flag ^= 1 をしてしまうと、
delay間隔で点滅することになると思われます。
667 :
774ワット発電中さん:2012/02/07(火) 17:48:25.90 ID:WrBCB6eb
>>663 最後のDelayはチャタリング防止の念押しのようなものですかね?
>>666 flag= の行だけ書き換えたいなら
#define LEDBIT 0b00000001 ;LEDのbit位置
flag = led ^ LEDBIT;
>>661 出力設定のポートで値が読めても困るんだが。。。。
670 :
774ワット発電中さん:2012/02/07(火) 22:17:44.10 ID:3GBvhqO6
>>643 PICスレと同じ人?
PICスレではオルタネートのスイッチでいいじゃんってことになってるよ
671 :
774ワット発電中さん:2012/02/07(火) 23:02:20.24 ID:WrBCB6eb
レジスタの特定のビットだけ描き変えたいといはどうすればいいのでしょうか
&とか|でぐぐれ
演算子ググレじゃなくて、C言語を勉強しろってことだな
AVRとCの両方の初心者が両方同時に学ぼうとか無理
アルゴリズムとかプログラミング言語の基礎がなってない
まずはそれを身に付けて、少しわかってきてから
AVRやりながらその先を身に付けるとかした方がいい
(この通りにしろと押しつける気はないよ)
<< とか >> ってビットシフトだっけ?
オアイコール
アンドイコールニョロ
この2つを記号として覚えればok
初心者はアセンブラで書いたほうが勉強になるよ。
初心者に限らないけど。
アセンブラで書いた方が勉強になるけど初心者はやめたほうがいいよ
全部自力でやるならアセンブラの方が簡単だろ
コピペなしで方言や呪文を調べろと言われてもできる気がしねぇ
でもAVRのアセンブラって情報少なくないか
ある程度知ってるって事が前提の解説ばかりで
お約束ごとの解説すらないな
普通にCで始めればいい
アセンブラの情報少ないけどググって使えそうってのが
アセンブラ&古い素子だったてのはあったなw
お気楽にやりたいなら、ライブラリとMEGA
すなわちフィジカルコンピューテングと。
俺はC言語で吐き出されるlssなどのリストファイルを見て
AVRのアセンブラを覚えました。
684 :
774ワット発電中さん:2012/02/08(水) 16:24:03.14 ID:JFeZXpxq
ニーモニック統一してくれんかな。
Z80育ちなので、他のを覚えるのが麺独裁
>>684 小学生の頃M80が買えなくて
泣きながらハンドアセンブルしてましたよ
ハンドアセンブルしたマシン語を
日立H1のマシン語モニタに打ち込んで
ゲームとかやってました
おれは未だにフローチャートを書かないとダメ。逆にフローがで完成すれば、半分以上終わった
ようなもの。大昔、PL/Zで書いてた先輩もフローが全て に近い感覚だった。(今は趣味だからね。)
仕事で制作してる人はどうなんだろう? 例えば組込でCを使う場合なんかだと、コメントだけで
十分なのか・・・ かつての同僚は、アセンブラでもコメントだけだったから、人それぞれかもしれないが。
仕事ではUMLとか言うのを書くんじゃね?
知らないけど。
今はMULでも(開発)遅いからもうGUIでやろうぜとか
MULがそのままソフトに変更できるようなソフト作ろうぜって言ってたのがすでに2〜3年ぐらい前…。
…そうかもうそんなに立ったのか…。
あ、ごめんUMLだったorz
ステートマシンをGUIで書くとか言うツールもあったね。
かえって面倒くさいわ。
もうVerilog/VHDLから大きく進歩はしないのかねぇ。
ごめん、AVRスレだった。
同じくプログラミング言語は、Cからあまり進歩しそうもない。
簡単な社内開発品を部下に目積もりさせたら調査分析、概要設計、詳細設計、検査仕様書、コーディング、デバッグ、、
で2ヶ月かかるとほざくので
取り急ぎ展示会用のデモ用を作るという事にして口頭で機能説明して作らせたら一週間で仕上げよった。
小規模なら機能仕様だけで後からドキュメントを書かせたほうが効率がいい。
ドキュメント無しで、特許、異常系・保守無視でライブラリが揃ってるなら、大抵速攻ででっち上げられるよ。
売り物には全くならんけど。
なんかスレ違いな話題が続くので
attiny10と他の奴との違いでも挙げてみる・・・
・確認環境
avr-toolchain-installer-3.3.0.710-win32.win32.x86.exe
・違い
r0-r15なし、ゼロレジスタは r1→r17。
プルアップ用PUDBレジスタ追加。
lds/stsが1サイクル、1ワード命令。
・確認しているコンパイラのバグ
#include <wdt.h>でwdt_enableなどで定義されていないWCDEを要求される。
グローバル変数のlds/stsが2ワード命令になるバグが解消されてない。
配列としてZレジスタで参照する場合は問題ないっぽい。
>>694 pragmaをちゃんと指定してないだけという事はないかい?
>>695 どれに対してのレスかいな
pragmaなんて指定してませんけど
あ、一応Makefile書いて他の種と同様にMCU = attiny10
とかやってるから、特に変なことはしてないハズ
・バグの続き
pgm_read_byteとかが使えない。(lpmを生成しようとするpgmspace.h)
あらまあ
1KBだしほとんどコードに突っ込むだろうから別にいいけど
なんか色々整備されてないね
グローバル変数のバグについてはレジスタに割り当てたり
ローカル変数使えばいいけど、まだ安心して使えないな
初期のWinAVR状態
Atmelは何でそんなアーキテクチャ部分変更したん?
レジスタ追加はいいけれど、構造変えてどうするのかと。
で、tiny10の場合は以下でいいはず
これが動かないならフラッシュがリニアにマッピングされてる意味がない
#define tiny10_pgm_read_byte(addr) \
(__extension__({ \
uint16_t __addr16 = (uint16_t)(addr); \
uint8_t __result; \
__asm__ \
( \
"ld %0, Z" "\n\t" \
: "=r" (__result) \
: "z" (__addr16) \
); \
__result; \
}))
>697
1年くらいまえにごにょごにょしてた人のブログでは
なかなか壮絶悲惨なことになってたな。libcのバグとかいろいろで。
まだまだか…。
さらに、あまりにも馬鹿馬鹿しいけど、
tiny10_pgm_read_byte(&value)
のようにすると、グローバル変数も一応取り出せる。
んー
>>699はボツ
プログラム領域は0x4000を加算しないとだめ。
変数の場合はそのままでいける。
なんかしらんがバグがあるならavr-gccのMLに流せば良い。
AVR Studio4と5のアセンブラでは正常っぽいから
gcc(gas)の問題だな
つーかPICに10F322というの見つけたが、FVRと温度計がうますぎる
これは米粒の利用価値が上がるわ
tiny10は容量と速度以外にメリットが・・・
おすすめの参考本ないですか
いちお C/C++ は(ある程度)理解できてるんですが・・・
UCSRB= (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<USBS)|(3<<UCSZ0);
とか平然と書かれてるソースをよく見ますが
UCSRB って誰がどんな目的で定義されたものなのか
RXEN、TXEN、USBS、UCSZ0 っていきなり登場してナニよ
って状態でして
ここら辺を上手に解説してくれてる本(サイトでもいい)があれば教えて下さい。
データシートを読むよろし
それか「AVRマイコン 書籍」でググってヒットした奴買ったり
>>705 google.co.jp マジお勧め。
UCSRB RXEN TXEN で検索して出てくる最初のサイト見れば全部書いてあった。
ttp://www.geocities.jp/kuman2600/c_memo.html というのはたまたま良いサイトがあっただけだけど、
まずC言語がわかれば UCSRB に設定する値として
RXEN 番目のビットと TXEN 番目のビットを 1 に立てた値を設定してんのは解るでしょ?
すると 「UCSRB ってのがレジスタで、設定用にビット2つばかし1にしてるんだろうなぁ」と想像できて
そう思いながら UCSRB RXEN TXEN でぐぐったら、やっぱりかー、って感じになるもんなのね。
仮に RXEN が想像できなくても、要するに UCSRB のそれぞれのビットの意味をぐぐって調べれば良いわけ。
(たとえば2313 使ってるなら "attiny2313 UCSRB" でぐぐるとかね)
データシートに勝る参考書無し
僕からはこの言葉を贈りたいと思います
>>708 はい、例題にそこのコードをコピペして来ました。。
他人の書いたソースは読めるんですが、
自分で書こうとした場合、「UCSRB」に相当する部分に他に何を書けるのか
(他にどんな選択肢があるのか)がイマイチ・・
この手のやつ、avr/io.h に #define で定義してある内容だと思いますが、
あそこを読み解いたほうがいいのかな、と思わなくもなく・・・
レジスタ周りはZ80の時代で止まってます。
(Z80はニーモニック書いていろいろとやってた)
>>710 そこまでわかってんなら他の人が言うとおりデータシート読めよwww
データシートに書いてある名前と一緒の名前で avr/io.h にも定義してある
という前提でいいんですか。
あと、_BV とか、delay_ms とか
知ってる人には知ってて当たり前っていう関数だと思いますが
知らない人にとっては存在すら知らないわけで。。
どんな関数が用意されているのか
リファレンスマニュアル的なものがあれば助かります・・
>データシートに書いてある名前と一緒の名前で avr/io.h にも定義してある
>という前提でいいんですか。
そうですデートシートの各機能ごとの説明の最後に付いている Register Description
の定義通りです
中学生レベルでも読める程度の英語じゃん
ああ、またおゆとり様トラップにかかったようだ・・。
>>716 英語が嫌なら、ルネサスのマイコン使ったら?
秋月で100円のR8C使いやすいよ
721 :
774ワット発電中さん:2012/02/11(土) 03:10:09.93 ID:40pCr2ol
ATmega64にAVRISPmkII、AVR studio4 で書き込みしてるんですけど「ISP Mode error」がでて書き込みができない・・・
電源は9V電池→3端子レギュ→21ピン〔VCC〕52ピン〔VCC〕62ピン〔AREF〕.64ピン〔AVCC〕
MOSI→PE0 MISO→PE1 SCK→PB1 RESET→20ピン 22ピンと53ピン→GND
接続間違えてますか?ATmega88Pでの書き込みには成功したのに・・・
>>721 63もGNDだけど、可能性としては、
1番ピンの刻印を間違えている
mega64のISPピンに何か繋いでいる
9Vがどっかから漏れている
どっかが短絡している
電気配線は画像もなしに判断求められても困るわなあw
画像出されても困るがw
ISP速度がクロックの1/4てのは当然やってるわけよね?
初期状態だと8MをDIV8で1Mでそれの1/4だから
250kHz以下。
あと、プログラマの電源がプアだとドライブしきれないとか
あと信号線に他のデバイスがぶら下がってるとか・・。
ドラゴンが弱いんだよなー・・w
>>721 もっかい88Pでやって巧くいくなら、接続まちがいでしょ。
>694
>697
・_delay_ms()で263ms未満を指定するとコンパイルできない
263msはF_CPU=1MHzのとき(delay.h参照)
AVR Studio5で確認
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0b00000111;
PORTB = 0b00000111;
_delay_ms(100); //263未満だとエラー
PORTB = 0b00000000;
return 0;
}
>エラー 1: unable to generate reloads for:
>エラー 2: in find_reloads, at reload.c:3821
どうしましょ
>726
_delay_us()でも同様だす
262145us未満はエラー(262.14ms) 値はdelay.h参照
環境を書いてなかったんで追加
AVR Studio 5
AVR GCC 8-bit Toolchain Version: gcc version 4.5.1 (AVR_8_bit_GNU_Toolchain_3.3.1_422)
最適化は-Os (-O1〜3でもエラーは同様)
F_CPU=1000000UL (1MHz)
gccのバージョンアップ待ちになるのかな
タイマーで1ms計れ、という方法はあるけど
自分で作れよ
730 :
774ワット発電中さん:2012/02/11(土) 17:10:29.99 ID:EVspn2U5
大麻カウンタで自分の好きなように作ればOK
>>728 1MHzでは_delay_usも769以上でエラーだから
1MHzで_delay_ms(100)したい場合は_delay_us(500)を200回ループする
{ uint8_t n = 200; while(n--) _delay_us(500); }
正確さが欲しいならタイマー
どうせ割り込み使うと_delay_xxは当てにならないから
>732
ですな。ありがとう
>>732 delay_xxってtimer0を使っちゃうんだっけ?
てすてす
動作周波数も分からんのによくできるよな
今どきのライブラリはすごいもんだ
>>737 あなたの疑問は一度でも使えばバカでもわかる。
そんな大きい釣り針に食いつかなくても…
きっと大物なんじゃね?
天然物
742 :
774ワット発電中さん:2012/02/14(火) 16:23:57.06 ID:gd3LCijW
基本的なことかもしれませんが、AVR Studio付属のavrasm2.exeで作ったものと
ツールチェインのavr-gccで作ったものをリンクしたいのですが、
どうやったらいいでしょうか。
ソースコード移植してコンパイルしなおしゃいいんじゃねぇの?
?つまり、互換性はないということなんでしょうか?
>>744 リンカを使います。
ldってのがリンカ。
avrasm2って、アブソリュートっていうか直接HEX出すアセンブラじゃなかったっけ?
つかAVR Studioからavr-gccとavrasm2使ってるんなら素直にプロジェクトに加えれば勝手にリンクされるが?
追記
当然、Cから呼べるアセンブラ関数として書いてあることは必要なので(逆もそうだが)、そこを考慮せずに書いてある有り物をそのままは無理。
レジスタの使い方とか、引数の渡し方とか。
>>748 マジレスすると、ラッパーを書けばいいと思うよ。
アセンブラで。
750 :
774ワット発電中さん:2012/02/16(木) 17:56:57.47 ID:kH3BzzvZ
>>747-748 AVR StudioのNew Projectで、
「AVR GCC」を選んで作った物に、
「Atmel AVR Assember」ので作った.ASMファイルを追加しても
oファイルがないとエラーになります。
プロジェクトの何処に加えるのでしょうか?
.ASM側はCから呼べるようにABIは守ってるつもりです。
フルパスだと日本語入ってるとか?
>>750 おいらはアセンブラ関数のファイルは拡張子.Sにしてプロジェクトに放り込んでる。
今試しに拡張子を.Sから.ASMにしてプロジェクトに入れなおしたらエラーになった。
拡張子.ASMに対するルールが定義されてないんじゃないかなぁ?
とりあえず拡張子変えてみれば?
>>753 それだ!
ま、Makefileに暗黙ルールを書けばいいんだけどね。
>>754 知ったかするな!
avr studioではルール記述できないし
makefile使ってないし
>>755 めんどいからやらないけど、自分でMakefile書いて使えるよ?<AVR Studio
>>757 暗黙ルールは簡単だよ。
ソース、ターゲットの順に拡張子を書き、コロンをつけて行をかえます。
TABひとつ入れて(←重要)、ターゲット生成ルールを書きます。
これだけ。
例えば.asmからat90s1200用の.oを作るなら、下記を加えればおけ。
.asm.o:
[TAB]avr-as $< -o $@ -mmcu=at90s1200
$<はソース、$@はターゲットを表す変数。
[TAB]のとこは見かけ上スペースにみえるけど、[TAB]キーでなきゃダメ。
gmakeなら
.asm.o:
のとこ
%.o:%.asm
でもおけ。明示ルールと同じ書式なので理解しやすいかも。
avr-asでなく、avrasm2を使いたいんでしょ
.oファイル吐けたっけ?
ぐぐってみた。
結論(2007年時点)は、avrasm2ではリンクできない。
クルマの電源電圧と気温のデータをSDカードに吐き出す
ロガーが欲しいのだけれども、市販品でもなんか結構すんのね。
マイコン弄る人としてはgdgd言わず作れって事なんでしょうかw
マイコン弄る人として(趣味でなければ) も作る時間考えたら買ったほうが随分と安く付く
学生でもその時間バイトした方が・・・・じゃないの。
>>762 ニッチな需要の製品は、初期投資比率が多いから、値段も高いのはやむを得ない。
自作ならマイコンに温度センサーICとSDライターつけるだけだが、
回路起こしてデバッグすんのも骨でしょ。
なんとかスターターキット使えばプログラミングだけで済むか?
>>762 arduino使ってサクっと作れそうな感じ。
1個つくれば、2個目から早いでしょ
湿度や日照とかもログりたくなってくるはず
車の、となると動作温度範囲が広くて大変とか、電源計るとなるとノイズ対策大変そうだな〜
となるので、買ったほうが気楽だよな〜と思ったりするw
>>767 動作温度範囲は素人のマイコン工作の範囲を超えてると思う。
けど、どうしようもないw設置場所の工夫でなんとかするしか。
>>762 よく、電圧計るって話を見かけるが、
化学電池の起電圧は一定だから、あんまり計る意味はないぞ。
走行中のオルタネータの起電圧でも計るのか?
秋月にPIC使用の完成品データロガーがあるじゃん。
出力先がEEPROMでいまいちだけど。
診断ポートから bluetooth で情報飛ばす奴買って
android のアプリでログ取ればいいじゃん。
>>771 今の車はそんなもんがついてんのかー。
すごいな。
>>773 CANなら直接AVRを進めるはずだから、多分OBD-IIだと思われ。
最近のは CAN もそうじゃない ODB-II も両方対応してるよ。
777 :
774ワット発電中さん:2012/02/20(月) 22:55:32.57 ID:Z0zS3ccz
そういえば私がアホだった頃、乾電池はみんな1.5Vだと思っていた。
イオン化傾向とか標準電池とか内部抵抗(出力インピーダンス)とか
理想的電源とかを知って少しは利口になったのかな?
微妙だよね。
なーーーんも考えないで1.5Vで作っちゃったほうが大抵早かったりするし。
内部抵抗っつっても、指数関数の原点付近を無理矢理直線近似した傾きで
代表してるだけなんだけどな
まあ、まともに買えば放電による変化もグラフで書いてあるよな。
大抵の特性は、一意な値で書くのは無理がある。
いぇいっ
おまいら今月のトラ技読んだ?
¥1,000〜¥2,000で小型カメラモジュールが買えるんだね。
aitendoでもオムニビジョン製センサのカメラモジュールが買えたけど、それより安い。
領布してる日昇テクノロジーってのは中華系の会社みたいだけど、面白いボードやモジュールを扱ってる。
788 :
774ワット発電中さん:2012/02/24(金) 09:04:26.20 ID:IfWrg1W8
>>786 小型カメラモジュールってどんくらいの?
>>789 てっきり付録かと思ってた
付録じゃなかったんでとりあえずスルーした
虎よまた会おうw
付録だったらレンズなしの基板モジュールだろうな。
体積取るから入らなさそう。
720p(HD)ぐらいのカメラモジュールもそろそろ安価で出て欲しいよな・・・
793 :
774ワット発電中さん:2012/02/25(土) 22:07:20.47 ID:DKQSK45v
用途?
いまどきの安いボードカメラはレンズなんて高価なもの使ってないよ。ピンホールだよ
でもピンホールなら結構薄いから付録に入るかも
>>789 FIFOが付いてたとして、AVRでも使えるようなもんなの?
トラ妓見てないからよくわからん
>>786 貴方のカキコ読んで、トラ技買ってきた。個人的に久々面白い内容。
画像処理は前から興味はあれど、ADだのなんだのハードがメンドそうだったんで
これは遊べそう。
AVRだと内蔵RAMが一番多いmega1284でも16KBしかないのに対して、VGA解像度
の16bit/画素でも1画面分のデータを格納するのに必要なメモリは600KB。
カメラがフレームキャプチャ用のバッファを搭載していればI2CやSPIでチマ
チマ読み出すこともできるけど、画像処理(画素に対する頻繁な演算)をやろう
とすると、きわめて非効率。
オリンピック精神や、本やパーツを売るための口実ならいざしらず、画像
処理ならUSBカメラとPC上のソフトでやる方が安くて早くて効率的。
>>800 読み込み時に間引くなりして必要な解像度で画像処理したら?
>>801 OV(オムニビジョン)製のCMOSセンサもウィンドウモードがあるはずだけど、
それに設定するとセンサ上の特定画素のみ読出しの対象にしてくれる。
だからVGAのカメラを買っても中心付近の40 x 30pixのみ転送とかできるのを期待して。
30万画素全部読出さなくて済むし、フレームレートを上げられるよね。
>>799は自己主張したいお年頃なんだろ?
自演 自己紹介乙w
>>805 もしかして、自分が浮いているのに気付いていないとか?
宿題ばかり残して休眠時期かな。このスレも。
812 :
774ワット発電中さん:2012/02/27(月) 07:52:26.39 ID:6nJs3ZcT
いや、自分の宿題はシコシコやってんるんですが
ここに出すほどの進捗があるわけでもなし。
インターフェース6月号に M3 FM3基板が付属するらしい。高いだろうけど、買ってしまうんだろうなぁ。
M3ならmbedがいい
先輩諸兄方
恐れ入りますが、アドバイスを頂けたらと思います.
ATmega164A に対して usart0 の受信完了割り込み でPCと通信したい
のですが、どうやらグローバル変数が上手く機能していない様で、
上手く動きません.
・変数宣言時に volatile 付けてるが効果なし
・main最初に変数宣言し、ポーリングに切り替えれば一応動く
(が、やはり気に入りません.)
書き込み環境は
・AVR studio 5.0.1163 (gcc 4.5.1 GNU Make 3.81)
・書き込みツールSTK600
です.何かご助言頂けたらと思います.宜しくお願い致します.
818 :
816:2012/02/28(火) 00:03:28.12 ID:NQRlAQII
>>817さん.ご助言ありがとうございます.
初期化付きも試しましたがダメです.
あと内部RC発振器の周波数8MHzのはずが、何故か何も書いていない
プログラム書き込んだだけで4.3MHz位に変化するっていう異常?
も起こっています.…こちらも原因分からずですが、とりあえずosccal
で校正して8MHzにしました.(とある検査装置で10個作って10個とも
こうなるのでマイコンの異常では無さそうです.)
書いてて思い出しました.ビルド時にavr/iomxx4.h?だっけかが、
Shift-JISかなんかのエンコードエラーでなんたらかんたらって言わ
れたことがありました.
書き込みに使っているPCはwindows7 32bitです.これが原因なの
でしょうか?・・・
倒産のエルビや借金漬けのルネやシャープとは違う流れで、
最近、サイプレスや、アトメルやら開発IDEが富に凄くなってね?
しばらく離れたいたら、AVR Studio5.1やらPSocCreater2.1βが凄いことになってた。
PICはMPLAB-X w
組込みOOPコーディングが快適スグル! w
うん、スゴく重くなってるよ
>>821 自作PCでないの? このスレに居て? 俺は、重いのを認識して、CPU載せ換えた w
164aと164pの違いって、インクルードするヘッダファイルが差し替え
られるくらいで、gccのコード生成に本質的な違いはないでしょ。
変数1個ならアセンブルリスト確認した方が早い
ちゃんとコンパイルしてくれるまで書き方変えるとか
825 :
816:2012/02/29(水) 00:14:29.17 ID:MMu9BHH3
>>819さん
ありがとうございます。
リンク先の質問者は正に同じ症状ですね。osccalレジスタに変数宣言が
どうたらこうたら〜→まさに私の症状と一緒です。
明日から出張なのですが、戻り次第検証します。
(今日昼見て、すぐにやろうとしたのですが、社内の串規制で、
プログラムダウンロードが出来ないのです.)
>>824さん
(私へのレスですよね?)変数はそこそこの数(データ格納配列、
カウンタ、for用のi…など)ですし、お恥かしい話、
プログラム初心者ですので、コンパイラ後のアセンブラ?なんて
解りません(-_-;)今後は解る様に勉強します.
皆様ありがとうございました.長文失礼しましたm(_ _)m
>>822 ファンレスPCのオレに謝れ!
Atom270 は遅いんだぞ。
深夜にファンの音が響くのは虚しいんだ・・・
キーを叩く音もだけどな。
mega328にISPでロードするのが重い
部分ロードとかできればいいのになー
>>826 それはそれは、悪いことを言ってしもうた。
まっ、開発は思考が中心なんで、PCが速くても結果は何も変わらん!
遅いのが原因でイライラして考えがまとまらんのならコーヒーを飲むとか、自分に才能が無いと諦めるとか
いろいろ、方法はあるだろ?
所詮、IDEがキビキビ快適に動くからといっても、考えるのは人間の頭...
むしろ、また〜りと動くIDEの方がバグは少なかったりする w
いいんだ。趣味でやってるだけだからな。
でも早いPCが欲しいのも事実。
tiny10とかxmegaとか...AVRは迷走しているな。
PIC化したtiny10は趣味的にはいじる価値が無いと思っている。
どの辺がPIC化しら
ふつーに使ってるけど
位置づけ的には45円AVRだなあ
tiny10に謝れ
レジスタさえ気をつければそのまま他のtinyのコードを持ってこれるし
TPIて12Vも同じやり方だから書き込みも楽だよ
834 :
774ワット発電中さん:2012/03/01(木) 00:19:11.87 ID:4j2j99Nb
結局ATtiny10のおかげでUSBの安ライター定番が、
メンテされなくなったhidaspxから、
usbaspやAE-UM232Rに戻った感じだなあ。
どっちも千円以下だし。
AE-UM232Rはマジ万能だったな。
プッシュボタンでINT0割り込みをしたときの割り込み処理で
プッシュボタンのバウンス対策を下記のようにしましたが、
ちょっと自信がありません。 とりあえず動いていますが、 バウンスしない場合は
これでは動きませんよね。 ご意見をお聞かせください。
void bumperISR(){
static unsigned long last_interrupt_time = 0;
unsigned long interrupt_time = millis();
if (interrupt_time - last_interrupt_time > 20){
bumper = 1;
} //end of if
last_interrupt_time = interrupt_time;
}
割込み状態で時間潰していいなら時間を空けてポート読み直したら?
タイマーが動いているならビット列作って1や0が並んだことで判断するほうがいいよ
837 :
835:2012/03/01(木) 14:24:55.67 ID:vAsGEC8G
訂正します。 上のmillis()はarduinoの関数でした。 arduinoIDEを使って
プログラムを書いているので、つい使ってしまいました。
これはAVRがブートしてからの経過時間をミリ秒で表しています。
>>836 レス有難うございます。 この割り込みは電源on/offをするソフトスイッチに使っています。
なので割り込み処理で時間をかけても問題ありません。 メインループではウオッチドッグタイマーを
使って8秒パワーダウン、メイン処理の繰り返しをしていて普通のタイマーは止めています。
ポートを2−3回読み直すのは良さそうですね。 試してみます。
last_interrupt_timeとmillis()の初期値がともにゼロの場合
もしくは、電源投入時に初期化処理として
last_interrupt_time = millis();
を入れておけばバウンズしない場合も動くでしょ
約50日ほど経過してmillis()がオーバーフローした瞬間から20msの間にボタンが押されても認識しないという
確率が非常に少ないバグが存在するけれども、反応しなければもう一回ボタン押せばいいだけだよなw
>>838 大変ごもっともで、納得できました。有難うございます。 自分で気が付くべきでした。
last_interrupt_timeをグローバル変数にして、 main()の中で
last_interrupt_time = millis(); を実行しておくことにします。
840 :
839:2012/03/01(木) 16:00:01.04 ID:vAsGEC8G
又疑問がわいてきました。
last_interrupt_timeとmillis()の初期値がともにゼロの場合ってあり得るのでしょうか?
この関数が初めて実行されるときは
static unsigned long last_interrupt_time = 0; の結果
last_interrupt_time = 0になる。
つぎに
unsigned long interrupt_time = millis(); の結果
interrupt_timeはAVRのブート時からの時間つまり例えば50ミリ秒になる。
従ってTrue.
last_interrupt_time = interrupt_time; の結果
last_interrupt_timeは50ミリ秒になる。
次にバウンスが5ミリ秒後に来たとすると
次の割り込みがかかり
last_interrupt_timeは50ミリ秒
interrupt_timeは55ミリ秒となり
結果はFalse
last_interrupt_timeは55ミリ秒になる。
次に20ミリ秒以上後に割り込みがかかるとTrue
と言う繰り返しでうまく動くような気がしてきました。
>>839 ボタンの判定に割り込みは特に必要はない。
スリープからピン変化を使って起きたい時に仕方なく使うぐらいの気持ちでいい。
必要なのは一定間隔でボタンの状態のサンプリングを行う事。
以下、名人の1秒間16連打以下を許容する場合のコードを考える。
名人と言えども一打につき、62.5msecも掛かっている。
押している間はさらにその半分以下で、大雑把に31msec以上とする。
この間ピンが反転し続けているかをカウントするコードを書けばいい。
注意すべき点は、押してる間だけ監視しても、
離した時間が短かければチャタリングが発生する。
つまり押してる間と離している間の両方を監視する。
#define MEIJIN_COUNTER_MAX 255
#define MEIJIN_IKA 31
uint8_t meijin_counter = 0;
int main(void) {
uint8_t state = 0;
BUTTON_DDR &= ~(1<<BUTTON_BIT);
LED_DDR |= (1<<LED_BIT);
LED_PORT |= (1<<LED_BIT); /* 消灯 */
for (;;) {
_delay_ms(1);
if (meijin_counte < MEIJIN_COUNTER_MAX) {
meijin_counter++;
}
if (!state) {
if (BUTTON_PIN & (1<<BUTTON_BIT)) {
meijin_counter = 0;
}
if (meijin_counter >= MEIJIN_IKA) {
LED_PORT &= ~(1<<LED_BIT); /* 点灯 */
state = 1;
}
} else {
if (!(BUTTON_PIN & (1<<BUTTON_BIT))) {
meijin_counter = 0;
}
if (meijin_counter >= MEIJIN_IKA) {
LED_PORT |= (1<<LED_BIT); /* 消灯 */
state = 0;
}
}
}
return 0;
}
適当なタイマー割り込みが動いているなら、
_delay_msを消してmeijin_counterのインクリメント部分をそちらに移せばよい。
842 :
839:2012/03/01(木) 16:24:01.11 ID:vAsGEC8G
自分の頭を整理するため上を表にしてみました。 スレ汚しご容赦
20m秒以上間隔が開いた割り込みを真とすると
割込間隔(m秒) last_interrupt_time interrupt_time 真/偽
初回 50 0 50 真
2 5 50 55 偽
3 10 55 65 偽
4 30 65 95 真
5 2 95 97 偽
6 3 100 103 偽
7 40 103 143 真
以上 元のままでうまく動きそうです。
843 :
839:2012/03/01(木) 16:39:35.87 ID:vAsGEC8G
>>841 837に書きましたが、この割り込みは電源on/offをするソフトスイッチに使っています。
電源off時にはパワーダウンのスリープ状態ですし、電源on時にもほとんどの時間同じくスリープ状態
なので割り込みを使って起こしてやる必要があります。
またタイマーもウオッチドッグタイマーしか動いていません。 曖昧だったかもしれません。
申し訳ございませんでした。
>>843 変な誤解があるね。
AVRには起動からの経過時間なんて便利な仕組みはないから、
Arduinoのmillisって関数はタイマー割り込みでカウンタを実現してるんだよ。
つまりそんな仕組みを放置してスリープで寝たつもりでいても、
実はタイマー割り込みのトリガで直ぐに起こされる。
>>844 スリープの直前に
PRR = 0b00001111;
直後に
PRR = 0b00000000;
とやってますがそれでもダメでしょうか?
寝ているときに電流をはかると0.4uAしか流れていないんですが。
ちなみにAVRはTiny85です。
>>844 アーーーッ!! ご指摘の件、大感謝です! millis()がスリープの時にリセット
されるとすれば、割り込みで起きた時にはmilllis()は0になるのですね。
そうすると私のコードではやはりまずいことになりそうです。
あ、パワーダウンモードだとクロックも死んでるから、
タイマーは停止してるね。
この場合millsの値は起きてる間のカウントという意味だから使えない。
やっぱピン変化で起こされた時にごにょごにょするのが楽かな。
>>846 いや、タイマーが停止するだけでリセットはされないから問題ない。
寝てる時は別にタイマーは止まっててもいいわけか。俺も誤解してた。
私の問題はAVRのプログラミング時に楽をしようとしてarduinoの関数を使用したことに
あると思います。 全部AVR-GCCのコードを使うべきでした。
プッシュスイッチでの割り込みのバウンス対策の定番はあるのでしょうか?
割り込み処理内でのポート複数回ポーリング読み込みでの判定でしょうか?
>843
だったらボタンをINT0へ繋ぐんじゃなくて、RESET#へつないだらいいのではないだろうか?
>>850 寝ているのを起こすだけならそれが最上と思いますが、起きているのを寝かすのが
出来ません。
ちょっとまとめよう
以下の処理で行けるはず
まずINT0割込ルーチン側では時間カウントはせず
ボタンが押されたフラグのみ立てる
メインルーチン側でボタンが押されたフラグを検出したときの処理
電源OFF状態のとき
→バウンズが収まるまで20ms待つ
→ボタンフラグクリア
→電源ON状態へ移行
→適時スリープ
電源ON状態のとき
→バウンズが収まるまで20ms待つ
→ボタンフラグクリア
→電源OFF状態へ移行
→パワーダウンモードでスリープ
>>852 メインルーチンで20ms待っている間に次のバウンスによる割り込みが発生したら
どうなるんでしょうか?
INT0割込ルーチンでボタン押されたフラグに同じ値が上書きされるだけなので
メイン側には影響無しかな
>>854 そうですね。 メインルーチンではそれをチェックしているわけではないので
ただ無視なわけですね
>>852 有難うございます。 私の疑問はすべて晴れました。 それで行きます。
tiny10のpdfって108ページもあるんだな
まあ、ふつーといやふつーだけどさ
\45の米粒にこんなにボリュームがあるオマケがついてることに感無量だよ
tiny4/5/9/10あたりを内蔵してチャタリング処理をした信号を出力する
アクティブプッシュスイッチを作ればこのスレ的には大満足
なのか?
「オーオーオーオーオー…オン!」
xmegaはあまり触手が伸びないのか
バスを叩くのが好きだから買っちった
週末SD4ビットモードと565RGBで限界に挑むぜ
863 :
774ワット発電中さん:2012/03/02(金) 18:19:12.25 ID:jY65800O
>858
そういうチャタリングフリースイッチがあれば何気に欲しい。
でも電源、グラウンド、出力の3端子になっちゃうかな?
まぁAtmelとしては、そこまでするならQTouch Sensor ICを買えってこと
なんだろうな
どっかのえらいひとがやってた、アンプの電源ONしたときに「雰囲気出すためにリレー鳴らす」とかの用途に最適だね
Winも起動音がないと物足りないしな
866 :
774ワット発電中さん:2012/03/02(金) 21:30:13.94 ID:jY65800O
ピポッ
街角でふいにその音鳴らして、何人振り向くか試そうぜ
親父ばっかり振り向きそうだな
ウィンカーのリレーの音は、どうやってあんなにでかい音出してるんだ
静かな電子フラッシャーで消し忘れ多発したもの
わざと音させてるし
深めで重めのストローク(入力用1pin)
押すと内蔵の圧電スピーカから「ピポッ!」の発声(圧電スピーカ駆動用1pin)
緑の5φLEDインジゲータ内蔵(LED制御用1pin)
チャタリング防止処理されたトグル出力(スイッチ出力用1pin)
(6pin用にピッタリ)
ってなスイッチモジュールが300円であれば速攻買うぞ
872 :
774ワット発電中さん:2012/03/03(土) 01:21:42.56 ID:oBl56awC
チャタリング防止なんて抵抗一本コンデンサひとつで十分じゃない?
いきなりロジックに繋げるならフィルタに任せる
マイコンがいるならソフトで処理
>>875 どうやって位置の把握と制御をしてるんだろ?
ラジコン操縦?完全自立制御じゃないよね?
飛んでる本人は何も把握してないんじゃないかな
位置のセンスは周りがやってて、指令も外から出てる
姿勢制御はしてるだろうけど
位置や姿勢の固定は搭載カメラだろうけど
外からラインビームを何本か振って時間差で測位とか
海外じゃ何年か前から完全自律制御が盛んだね
ATMega2560に3軸ジャイロ・加速度・地磁気と気圧高度計を
乗せたボードが通販で買えるよ
こっちのスレが羨ましい。
アンドロ軍団の登場が遠くない未来のような気がしてきた
中華製アンドロ軍団のバックにはGoogle様がいるという未来?
SFは技術者の目標になるからアンドロ軍団もいつかは実際に作られるんだろうなぁ
Atmel Studio 6入れてみた。
Visual Assist Xどこいった?
えらい殺風景なんだが
開拓者だな
てん
247 名前:774ワット発電中さん[] 投稿日:2012/03/05(月) 02:27:36.36 ID:uNkWkGgZ
PIC or AVR 今マイコンを始めるならどっち?
http://uni.2ch.net/test/read.cgi/denki/1330880000/l50 よろしければ、どなたか相談にのってください。
最初はこのスレに書こうと思ったのですが、さすがに独り語りが過ぎるような気がしたので、
別のスレを立てました。
AVRスレの人々より、PICスレの人々のほうが、客観的なアドバイスもらえそうなので、
こっちにリンク貼っておきます。
AVRは初心者お断りなんだよ、
素人はPICで精進なさいなってことで。
スレの雰囲気はAVRスレのほうがいいね
なぜだかPICスレは殺伐
Arduino でも使ってなさい。
ネット上のソースをコピペして動いた言ってればいいだろ。
>>891 それは℃玄人が出没するようになってからです。
かつては、
【ガイガー】放射線計測器の自作 12CPM【PDシンチ】
に居たがほぼ退散してPICで悪態ついている
PIC童貞なのでよくわかりません。
つか、両方やる時間なんてないw
やりたいこと優先だなー。
これからPICやるならARMやりますは
AVRの16bitカウンタてクロックに同期してるよね、型番によっては非同期カウンタもあるのでしょうか?周波数カウンタ作る時に同期されてると少々厄介なもので、、
>882-884
その時の画面操作方法は
キック・アタック・電光パンチ
出来ないっていうやつの型番は?
T0ピンがないの?
atmega328p atmega644p attiny2313
>>885 5.1の時にそんな事があったな?
前のバージョンアンインストール後に、イントルーフォルダーを綺麗にパージしないと、そうなる。
あちきは、Romingのフォルダーまで削除した。
6は5を削除しなくても正常に使えてるけど? 6のインストール繰り返した?
>>896 「AVR 周波数カウンタ」で検索すればいくらでも実装例があるよ。
タイマの外部クロック入力使うもよし、キャプチャ機能使うもよし。
atmega328p atmega644p attiny2313等は
外部クロック入力がシステムクロックに同期されるために
上限の測定周波数がシステムクロック周波数の半分以下になっちゃう
そうならない品種のAVRマイコンは有りませんか?
という趣旨の質問なのではないでしょうか
10MHz(つまりAVR単独での限界)以上を測りたいなら素直にプリスケーラ入れればいいんではないかと思うんだが。74HC390でも30MHzちょいならイケるし。
完全に外部クロックでカウントできたとしてもAVR自体の動作速度より高いのは測りにくいかと。
PICやMSP430だとメタステーブル回避のためのシンクロナイザが省略されてて
自前のクロック限界を越えられるように見えたりするから、
AVRのカウンタ2の非同期の同類でそれを期待したのだろ。
>>900 5入ったまま別フォルダに6インストールしたらだめだった。
うまくいくこともあるのか。
5消すのは怖いが、どうせ5もバグ持ちだし、やっちゃうか。
ty
>>902 そういうことです。わかりにくい質問で申し訳ありませんでした。
プリスケーラいれてみようと思います。
外部に設けた74F161とかのカウンタとAVRマイコンの内部のカウンタ/タイマ1とかを
接続してリップルカウンタ構成にして外部のカウンタをポートで読むようにすれば1Hz単位で高い周波数まで測定できるよ
その場合内部のカウンタ/タイマ1とかは極性をfalling edgeにしないとリップルカウンタ構成にならないことに注意
mega48系列のTCNT2は、マニュアル見た限りでは
非同期で動けそうな気がするけど、やったことないから自信はない。
なるほど、プリスケーラの値まで読めば分周しても分解能が落ちないということですね
ググってもわからなかったので質問します。
AVRのアセンブラマニュアルってAVRinst.pdfのことでいいんでしょうか?
>>911 助かりました!
わざわざリンクまで貼っていただき、ありがとうございます。
次スレからテンプレとして貼りたいねそれ
914 :
774ワット発電中さん:2012/03/07(水) 04:09:44.34 ID:q8PoSz+a
mega64Aに外部クロック16MHzの水晶つけたいんだけど,AVRstudio5.0でFuse設定するときEXHIFXTALRES_16KCK_64MSでOK?
HIの他にもLO(Low)MED(Medium)もあるんだけど,どのくらいの周期がどれに相当するのか分からない…
あとやっぱり1KCKより16KCKの方が安定して起動するとかある?
915 :
774ワット発電中さん:2012/03/07(水) 09:41:02.66 ID:8QdxXYs2
917 :
910:2012/03/09(金) 01:32:11.50 ID:txe4zk1y
>>915 >AVR Studio 4をインストールすればAVR Assembler 2のマニュアルも
>同時にインストールされるよ。
知らなんだ・・・orz
自分の情報収集力の無さに愕然とします(汗
AVRの割り込み処理からの復帰についてなんですが、アセンブラを使えない私には
分からないのでご教示お願いします。 例えばメインループで_delay_ms (10)の実行中2ms後に
割り込みがかかったとして、割り込み処理が終わったらメインループで_delay_ms (7)の状態から
再開するのだと思いますが、それで合っていますでしょうか? C言語で考えるとdelayの次の命令に
行ってしまうと思うんですが
919 :
918:2012/03/09(金) 21:16:53.10 ID:D2/1+wzl
質問スレと間違えました。 上は取り下げます。
すみませんでした
何でC言語で考えると次の命令に行くと思ったんだろうか。
「アセンブラを使えない私」って、Cもよく分かっとらんのじゃないかな
いくらCで書いても、実際の動作はasmのそれと変わらないからね
マイコン用のCは普通に書いてたのに、
久しぶりにLSI-CでDOS用を書いたらいろいろ忘れてる忘れてる
とりあえず、タイマー割り込みと_delay_ms()を同時に使っちゃ駄目とエスパーしてみる
delay_msで10ms待とうとしてるのに、
その間に割り込みの中の処理に10ms以上経過する処理が書かれてるから、
即座にdelay_msから抜けてるように見えるっていう話じゃないの?
話題も誤爆だより
ほんとこのマイコン終わったな
>>917 AVRstudioのHelpは一読の価値がある。あそこに、必要な情報のかなりの部分は
集約されている。アセンブラによる開発も視野に入れるならAVRstudioの4と5両方
インストールした方が良いかも(共存可能)。5はアセンブラの情報が大幅に削除され
ていて、最初からCによる開発を前提としている節がある。
>>925 delay_msやdelay_usってそもそも、ザックリタイマーじゃなかったっけ。
目安にしかならないよってlibavrのマニュアルにも書いて立った記憶が…
>>923 LSI-C、本の付録についていたな。5インチフロッピーで……
クリティカルなタイミング測る用途でタイマー使って
delayも使うパターンは・・・あんまないかなあ・・・
ディレーはLチカするときに人間様が分かるようにとか
RTMでもあれば簡単な用途には良いんだけどね〜。
RTM込みでビルド出来るプロジェクトのテンプレ込みでAVR Studioに付いてりゃ楽チンなんだけど無理かw
以下、AtmelにOSは必要か?禁止www
Lチカ。。
933 :
774ワット発電中さん:2012/03/10(土) 21:19:30.56 ID:8kWEEP7P
今でも普通に使えるんだけど、
ファイル名が8.3に限定されるのが辛い
MS-DOS時代のやつだから仕方ないよな
このマニュアルをプリントアウトするのに一晩かかったのはいい思い出
8.3なら今でも使えるということが凄いよな
8086の命令セットが今でも温存され続けている
プロセッサ内部的にはそれはもう命令ではなくてソースファイルみたいなもんで、
翻訳してから実行してるんだけど
そんな訳の分からんオーバーヘッドを引き受けて余りあるメリットがある
もしかしたら来世紀でも8086が使えてるかもしれん
dosの中の windows.exe だったもんね。
今のdosプロンプトはエミュレータなのかな?
動くということは int 21h のシステムコールも生きてるということか。
FCBのサポートはNT辺りでなくなった筈
>>936 6800系を未来遺産にしてほしかった・・・
初めて8086/88のアセンブラを使ったとき、ブランチののオペランドが
1バイトしかないのに絶句したわ
>>940 条件ブランチは68系でも1バイトだよーん。
6809にはLBEQとかなかったっけ
おれも絶句したな。Z80は2バイトだったから。
加齢臭が漂ってきたので、76h と打っておこう
ffがRSTってよく出来てるよな
PROMを意識したコード?
ROMライターで00にパッチ出来るようにNOPが00?
ROMライターでデバッグ出来るような配慮?
8086なんてどうでもええわー
もうdosプロンプトで動くツールなんか使わんし
armでよろし。
ARM厨ってほんと馬鹿ばかり。
>>950 過去のゴミにしがみついて生きてればよろし。
やっぱり馬鹿だったw
ARM厨ってさ必ずスレチ荒らしするよね。
ARMスレが過疎ってるから?
マカーと同じ匂いがプンプンするよ。
>>954 中身の無い発言をした自分は棚上げするのか、
卑怯極まりないないな。
>>949 未だに HP200LX を使ってて悪かったな!
物持ちの良い人までターゲットにしてませんよ、
時代についてこれなくてgdgd言ってる人だけ。
いきなり厨認定されて迷惑掛けました。
そうそう。骨董品であるx86を22nmプロセスで作ろうとしているIntelは時代錯誤。
中身はx86じゃなくてエミュレータみたいなもんだけどな
北斗神拳のアミバみたいに、なんでも人より早く飛び付くのはいいが、どれも
中途半端にかじっただけで、解説本も出したりしているけど、実務レベルでは
何ひとつ身についていない人っているよね。
実務が必要な人も少ないだろうけど
解説本出すのは本出すのが実務の人だろ。本が売れれば勝ちっていう商売だから同列に語ってもしょうがない。
AVRでbluetooth使えないかな
いくつか手段があるけどめんどい
シリアルbt変換使えば簡単
個人で遊ぶ範囲で考えたら、それ以外は事実上不可能だろ
bluetoothだったら安いのが簡単に手にはいるじゃないですか。
免許無くても電波出せるし。
IEEE802.11でもいいけど。
無線といえばXbee特集がCQから出てたね
CQが出すと売れてないのかなという
俗にいうステマを感じる
USBホストに関してはAVRやる気ないな
なんとかRFなんて品種作れるならBTスタック内蔵してほしい
AVRとPCをとbluetoothでつなぐ方法ないのかしら
開発言語はCで
Wireless Bluetooth RS232 TTL Transceiver Module JPY 550.74
これで 送料無料? ほんまならほすいけど ドングルセットで700円 信じられん価格。
>>973 屁理屈で論理を構築するのは中学までで卒業しような
>977
Dealextremeは中華の中で比較的安全な部類なので、送られてこないって事は無いと思うけど
品質は期待しちゃだめ 想像のさらに下が来るからw あと梱包も
中華系は中国政府が援助しているのか海外へも送料無料が多い、ただし貨物便があいた時に
載せる為か向こうの郵便局受付後が異常に長い(2〜3週間はざら)
あと中華でGoodLuckBuyは電子工作関係色々あって面白い、ただこっちは評判悪いので注意
ttp://www.goodluckbuy.com/ どっちもPayPal使うようにしてクレジットカード直接は避けるべき
>>979 さんきゅ〜
面白そうなものが色いろあるね。見てて飽きない
自動制御ヘリのパーツなんかも安る売ってるのね!
試しに買ってみる。
981 :
774ワット発電中さん:2012/03/17(土) 17:07:25.59 ID:6yzbstuC
>>973 俺の同僚も同じこと言ってた
韓国人だけど
B-CASとかTELECみたいな総務省利権や、暫定税率とかETCみたいな
国交省利権を外圧使ってぶっ潰すせるなら、TPP参加もアリだと思う。
GoProとかだよね
>>979 >あと中華でGoodLuckBuyは電子工作関係色々あって面白い、ただこっちは評判悪いので注意
評判悪いってどんな感じ?ものが届かないとか?
あ、なんかむかしの書きかけが残ってた orz
一行目は無視してくださいまし