AVRマイコン総合スレ Part41
レス数が1000を超えています。これ以上書き込みはできません。
光ってると何色でも白く写っちゃうんだよな
赤外線も・・・ pic屋だけど、avrの性能とC言語との相性の良さにひかれたのと、環境を整備してるけど、
ChaNさんのところの、FFTとFAT 途中で切れちゃった。
ChaNさんのところの、FFTとFATを試すために、開発環境を整備してるけど、そのあと、何を作ろうか、迷ってる。
今使ってるPICのリプレースといっても、PICで事足りてるところで、メリットが無いなーと。 PICのADCのVREF 2.048V使えるとか、OPAMP付とか、便利なんだけど、
avrでそういうのあるのかしら?初心者なんで、うまく探せなくて。。。 Vrefは内部1.1Vとかあるよ。デバイスによっては複数から選べるものも。
アナログアンプは積んでるの見たこと無いな。
どっち使うかは好みとしか言いようがないねえ。簡単なことならどっちでもできちゃうし。 >>323
PICの方がペリフェラルは豪華なんじゃないの
内蔵RCの精度も高いし
AVRは多少パワーがあってgcc使えるぐらいの利点しかないと思う Future Product
Tiny1627のピン数の違うパッケージ出るようです。 1626/20pin 1624/14pin
さらにFlashサイズ拡張で TinyAVR 2-Seriesになるのかな?
XmegaやTiny1627の12bitADCにはProgrammable Gain Ampが付いてるようです。
arduino UNO WiFi REV2のmega4809クロックは内蔵RCだって。 アプリを作るのも楽しいけど、システムプログラムを作るのも面白い。
私は純粋にプログラミングが好きなので、
(アプリを作っても、ほとんどの作品は完成したら押し入れに突っ込んで終わり)
AVR用の真のISPを作ったり、デバッガを作ったり、マルチタスクを作ったりして楽しんだ。
(もっともこれは私がAVRを始めた時の制作順だけど)
多分私みたいなのは変人奇人で、正しいCPU道から外れていると思う。
アセンブルで作っているので、CPUはPICよりも脳内アセンブルが可能なAVRの方が好き。 >>325
PICの2.048Vというのが、なんとなく気持ちいいんです。変換値10bitで,2倍すれば直接電圧に
なる。
vrefが中途半端な値だと、スケーリングしなければならないですから。もちろん乗算器があればそんなに
オーバーヘッドないし、電圧計作るような用途じゃない限り、あえて、変換する必要も無いですけどね。 >>330
実力は±4%精度なのに2.048Vとか0.1%オーダーの
有効数字で表記するのはどうかと思う… mega0シリーズやtiny1シリーズはパワーの割に安いのがちょっとうれしいかな。 >>332
確かに、精度出そうと、外部ADC使うとか、外部vrefを使うのであれば、
この点でのPICのメリットはなくなりますね。 昔、FA用に±15V電源の外部ADCを絶縁したりして使っていた頃、
CPU内蔵ADCが出てき時は、
高速パルスが飛び回っているCPU内にADCを同居させるのか、
CPUと同じ電源を使うのか、
と驚いた事があったけど、今は内蔵ADCは普通になってしまった。 今更ですが、
ChaNさんのFFTライブラリを移植してシミュレータで検証してみたら、
一連の処理で、
atmega32@16Mhz (一部アセンブラ) 16msec
atmega32@16Mhz (C言語のみにポーティング) 68msec
PIC18@16Mhz (C言語のみにポーティング) 200msec
PIC16@16Mhz (C言語のみにポーティング) 420msec
と、AVRの方が圧倒的です。
ただ、PIC18は、64Mhzまで動くので、そうすると、
使えなくも無い、ということになってしまうんです。
PIC16は、乗算器ないから圧倒的に不利。 PICもAVRも同じMicrochip配下なんだから仲良くしようず >>337
sin,cosテーブルと、窓用の配列を用意して、演算していくけど、
PICは、インデクスアクセスがavrに比べて弱い、特にプログラム領域に確保したテーブルアクセスは
avrの方が効率よくアクセスできる。
avrでもアセンブラが優位だったのは、複数配列のアクセスのときに、C言語では、
毎回インデクスを再計算してしまうケースがある。
アセンブラでは、固定小数点演算で、fmuls命令を使うのと、汎用レジスタで一時的な計算結果を
うまく使いまわして、オーバーヘッドを防いでるのが早い理由かな。
クロック速度でなく、ステップ実行速度が同じであれば、PICが優位なケースもあり、
適材適所感がありそうです。 結局、一つの命令にかかるマシンサイクル次第なわけで、CPUのパフォーマンスを
語る上でクロック周波数なぞ参考程度にしかならない PICとAVRのコアの違いは、グローバルレジスタ方式とワーキングレジスタ方式の
差によるものが大きいと思う。
命令16ビット固定長という制限があるのに、
32個のグローバルレジスタ方式を採用したAVR設計者の方針に、
AVRファンの私としては感謝したいw
例えば、8ビット即値命令(LDI R31,$FFなど)は32個のレジスタ指定で5ビット、
即値で8ビット使うので、残りは3ビット、つまり8種類の命令だけでコード空間を
使い果たしてしまう。
もちろんそんなCPUは有りえないので、
あーでもないこーでもないという制約だらけの状態にはなっているが、
この方式の違いが、結果的にPICに対するAVRのアドバンテージにつながっているのでは?
命令コード24ビットのAVRを出してくれれば、これらの命令上の制約も大分解消されて、
ますます使いやすくなるだろうが、残念ながら出ないと思うw
以上、Cプログラマには関係の無い話しでした。 そうだよ、制約がイヤで、まず最初に
RESETピンに大容量のCや外部リセット回路がつながっていても、
SCKピンやMOSIピン、MISOピンに何がつながっていても、
(たとえ5VやGNDと直結されていても)書き込みOK
というシリアル・ライタを作った。 てかAVRはArduino需要やろ
あれが出る前は特に日本での認知度はH8とPICやった
Microchip自体がPICの改良諦めてる状況やし >>349
その理屈だとArduinoに使われてる商品だけってことになっちゃうな。
さらに特需と言えるほど広まってるかい?君の周りの人が皆Arduino買ってるかい? >>348
今まで2回ほどライタの画像をアップしたし、
特に2回目は、このジャンパーは5V/3.3V切り替えで、
あのジャンパーはSPI/PDI切り替えで・・・などと詳しく書き、
オプションの量産書き込み用ZIP(ゼロインサートプレッシャ)ICソケットボードや
ICクリップ方式書き込みアダプタなども紹介した記憶がある。
画像探したけど見つからないし、勘弁して下さい。
昔の外部メモリ用CPUで使われていたROMエミュレータからヒントを得て作りました。
原理は簡単です。 PICもArduino対応してくれたら使うんだけどな MEGA328あたりはあるどぅい〜の需要な気はする >>352
確かに私(351)が作ってアップしたものですが、それはライタではありません。
懐かしいな、一時期、I2CやSPIに凝っていた時期があって色々作りました。
最後に作ったのはmega328を2個使ったI2C/SPI通信モニタで、
トリガ条件を逆ポーランド記法で組み合わせて色々演算できるように工夫した。
https://i.imgur.com/32qxbLz.jpg
だけど、パラレル液晶や4桁7セグLED数字表示器用のI2C/SPI/UART変換器や
I2C/SPI通信モニタなどは完成して動作確認後、押し入れの棚に入れてから
一度も使った事がありません・・・。
ここは反省した方がいいのかな?w (ついでに連投)
そうそうI2Cと言えば、現在進行中で制作しているものはtiny2313と
秋月の小型液晶AQM0802AとAitendoのJJY受信モジュールを使用した
JJY受信+電波ブースターです。
ブースター部の製作と動作確認までは順調に進んだのですが、
予想外のトラブルがいくつか重なったり(5V-3.3Vレベル変換ICが壊れていたとか)、
tiny2313をI2Cマスターで使うのは初めてだったりで、
受信した0/1/マーク信号を液晶に表示するまで時間がかかってしまいました。
(旧ATMELのtiny2313の資料のTWIの説明は分りにくいぞっ!
疑心暗鬼になってしまって、
本当に出力がオープンドレインになっているかの確認までやってしまった)w
これは完成したら押し入れにしまい込まないで、ちゃんと使い続ける予定です。
家族から、最近電波時計の時間がずれて困る、とクレームが来ているので。
自分の好き勝手にやれる、趣味のプログラミング、ハード製作はとてもとても楽しいです。
止められまっしぇ〜んw PIC16,PIC18を常用してるけど、スタックは、基本CALLでしか使えないので、
パラメータをPUSH/POPするような、C言語には向かないんだな〜としみじみ。
printf的なものを実装しようとして気づいた。
picのcoreだけでも、avrが仕込まれたらどんなに便利なんだろう。。。。 >>355
凄ぉーっ!
こんなの作れるなんて、羨ましいし畏れ入ります。
>>356
JJYブースターも自分はAmazonで買おうかと思ってたけど自作なんて、これまた凄い。 >>357
PIC18Fならスタックは普通に使えまっせ。
データスタックはPOSTDECn, PREINCnというレジスタが何のためにあるのか考えれば分かる。
コールスタックにもデータを積むこともできるけど、これは12ビット幅でちょっと使いづらい。 >>360
最近のPIC16Fでも MOVIW,MOVWIで同様のこと出来るみたいですね。 >>363
出来る出来ないで言うのならば
勿論、出来ます! >>363
ATMEGA328Pに23LC1024(1MのSRAM)なら付けたことあるよ。
https://i.imgur.com/gTxFMS1.jpg
入手も容易、接続も簡単、制御もお手軽、値段も高くない。
https://i.imgur.com/Kriy1ef.jpg
この時はグラフのフレームバッファ領域に使ったけど、実用的なスピードは出たよ。
気をつけることは、ATMEGA328Pのメインメモリそのものが増えるわけではないことと、シリアル接続なのでアクセス速度がそんなに速くないこと、使い方によってはSPIを占有しちゃうことかなぁ。
お金とプリント板の領域に余裕があるのなら、SRAMの大きいATMEGA1284Pにした方が幸せだとは思うよ。 メモリいる用途なら素直に32bitにしたほうが楽なんだよね。 >>367
なるほど、この場合
SPI->I2Cという
フレームバッファからのディスプレイへの書き出しに、連続read/writeが出来るからですね。
もし、ディスプレイも spiだったら、
spiが2本あるか、メインメモリで大きめのバッファを格納しない限り、
毎回アドレス指定で、小さなバッファ単位の書き出しになり、パフォーマンスが出せませんね。 LEDの撮影のこと、色々と教えてくれてありがとう。
試行錯誤の結果、ホムセンで安かった塩ビの板を暫定的に乗っけました。
スマホの撮影だと、ホワイトバランスとかフィルターとかあまり弄れませんでした。
とりあえず動画
https://i.imgur.com/hp5V3rl.mp4
CLASS4の古いSDカードに動画ファイルを入れて連続再生すると、特に頑張らなくても40fpsくらい動きました。
ただ、標準のsd.hの仕様なのかよくわかりませんが、遅い時がありますね。
フォルダー内のファイルが多くなってくると、後半に入れたファイルを見つけにいくだけで0.5秒もかかります…
一度、オープンしちゃえば素早く読み書きできるのですが。
>>369
おっしゃる通りです。
今回もSDカードから連続読みして、WS2812Bへだらだらと書き込んでます。 外から入った光はほとんど吸収して中からの光は出てくる
液晶みたいな真っ黒LEDを売ればいいのにといつも思う 表示を隠す1ドットの液晶は欲しいな
光らない表示のスイッチは離して実装できないし・・・ ATMEL時代からLegacy扱いだったんだから当然だろう。
AVR8とは別物だ。 そのMicrochipさんがAVRに注力しとるではないか MicrochipがPICのみにしたかったらコスト競争でAVR潰しただろ
吸収合併したってことは欲しかったんだよ、AVRが ARMだけがほしかったというのが本音だろうね・・・・
他は価格的に魅力がないからな〜〜〜〜 ARMが欲しいだけなら、わざわざAtmelからマイコン事業を買う必要もなく、ARMと契約すれば済むわけで。
(実際Microchipは特殊用途向けに、ARMマイコンを出してたこともあるし) コアだけで1チップマイコンが成り立つなら、それもあると思うが。(反語) PIC32をMIPSにしたことを後悔してるんだな。分かるよ。 実際はAtmelが他社に買収されそうになったのでMicrochipが乗り出しただけだが
Dialogとの合意後に“横やり”:
Microchip、Atmelに38億ドルで対抗買収を提案
http://eetimes.jp/ee/articles/1512/21/news056.html
Dialogとの合意は破棄の可能性も:
Atmelの買収、Microchipが優勢か
http://eetimes.jp/ee/articles/1601/18/news071.html SAM7EをPIC32CZとリネームしているようですね。 PIC32(MIPS)を改良できなかったMicrochipの不甲斐なさよ sam系だって、何というか
microchipどうしたいのか
m系の64bitコア採用SoC作る気はあるのかとか
sam9系はA5系で入れ換えないの?とか
不透明
arm社に振り回されてる感じもするけどね… そして、結局はARM=ソフトバンクの天下ってことか。 もしかしたら自転車と同じで止まれないのかも?
CPUは薄利多売の世界だろうから、規模が大きくないと利益が出ないとか?
会社の利益が出ているうちに高く売って、
後は死ぬまで左ウチワ、ってのが経営者として正しいのかも?
AVRさえ作ってくれればどうでもいいけどw >会社の利益が出ているうちに高く売って、
かならずしも利益がでていなくても良いんだよね。
将来性をちらつかせて、高値で売り抜ける。昔のITバブルなんてまさにそれ。 Microchipが滅びる前にルネサスが買ってくれたらいいな マイクロチップがルネサス買うほうが可能性としてはありそう。 >>397
マイクロチップにはPIC32MX、PIC32MZがあるが
そこにPIC32RXとPIC32RZが加わるのか。。。 >>399
部品の入手性やディスコンも考えたらMicrochipにルネサスを買ってもらったほうがいい気がする。 >>399
H8とR78KとR8Cはいいのかよw
PIC24にでも編入できそうだな イヤイヤ、ハゲバンクがマイクロチップを買う可能性が高いな ハゲが目を付ける対象としてはマイナー過ぎないかマイコン会社なんて
奴らは話題性込みで選ぶだろ しかしハゲの「利息支払いが必要な借金10兆円」はすごいな。
銀行も金額が大きすぎて借金の返済要求なんて出来やしない。
中小企業相手だと、たとえ融資先が黒字でも平気で貸し剥がしなんてやるくせに。 一般人にもAVRにも関係の無い話だけど、
ソフトバンクの有利子負債は13兆円、年間支払い利子は0.5兆円。
今月の上場でソフトバンクに入る金は2.6兆円。 そのうちフーウェイ製4G&5G交換機の交換代でいくら消えるんだ?って話し エリクソン製の交換機の障害で止まったって散々報道されたのに 未だにガラケー使ってる俺に質問させてくれ
ファーラウェイだかフーウェイの携帯電話って本当に個人情報抜きまくってたのか?
そんなにやべぇもんが発売されていたっていうのか?
アメリカの工作とかの可能性を抜いてさ チップインダクタかな?
それとも宇宙人のハイテクが入ってるのか? ぱっと見だと
3端子のEMIフィルタやら
SMDの水晶とかセラミックレゾネータ系に見える
でもスパイチップと言うからには、マイコンの類いなんだろうなぁ、と
もっと拡大した中身の写真が出ないとねぇ X線写真位出せと思う。
試作のBGAの実装確認でよく見たけど。 少なくとも電源と情報の入出力は要るわけで
こんなのでWiFiよろしく情報横取り発信できるのだとしたら
とんでもないオーバーテクノロジだな マジでそんなものを理由にして調達除外だの騒いでるのかね?
もっとすごいのつうか、ソフトだろ、見えねえだろ? >>421
「写真はイメージじゃなくてフォトグラフだろ!」 Atmelは車載製品に強いところがあったので
MicrochipはAtmelを欲しかったんかな〜〜〜
現在は防衛、宇宙市場に力を入れているようだけど・・・・ そういえば爆発炎上ホリエロケットの破片画像に焼け焦げたラズパイ写ってたな
ラズパイではダメなのか(ちがうだろちがうだろ INT0のレベル割込みを有効にして該当のポートをGNDに接続してもメインのプログラムが1命令ずつ実行されるのは仕様で、防げませんか?
割込みハンドラのRETI → 戻った先の命令を実行 → 割込みベクタのRJMP → 割込みハンドラ …〜 っていう動きをしていますよね
ローレベル割込みが有効な間はメインのプログラムに一切戻って欲しく無いのですが・・・ >>432
いえ不定です
しかし外部割り込みはベクタアドレスがもっとも若いので平気かな?と考えていました
データシートのCPUコアのところを見ると
「AVRが割り込みから抜けるといずれかの割り込みが実行される前に1つの命令が実行されます」とありますね… EXT_INT0:
PUSH R0
IN R0,SREG
PUSH R0
PUSH R1
CLR R1
PUSH R16
PUSH R17
SELF_LOOP: ;★
;〜 処理が書いてある 〜
SBIS PIND,2 ;★
RJMP SELF_LOOP ;★
POP R17
POP R16
POP R1
POP R0
OUT SREG,R0
POP R0
RETI
自分の用途だと★のついてる行3つを追加したら良いだけでした…
なんかすいません なにも謝る必要は無いよw
どんな仕様か分らないけど、割込みから戻って来ないプログラムってなかなか見ないな。
私は今まで書いたことが無い。
もちろん、それで目的が達せられるならOKなんだけどね。
R0とR1を保存しているのはプログラムメモリのアクセスか乗算の為か? R0は命令によって固定使用される。
R1はCでゼロレジスタとして使われる。
アセンブラしかしない人には2番目は関係無いし知らないかもしれないな。 秋月で売ってる可愛い女性の声チップは中身がATmega328Pやったんな(笑) R1はMULなど乗算命令の結果上位バイトが入るんで…
乗算使うなら保存必要
Cでどう使ってるかとか関係無いわ >>437
テキスト入力で自由に音声出力できるやつでは使いやすいかもね
メーカーサイトのサンプル出力で少し遊んでみた >>437
昔、そのICを買ってきて音を出してみたら、ひどい声だったのでガッカリしたぞぉw
我が家の目覚まし時計の女性の声がとても可愛く、同じレベルを想像していたので。
でもせっかく買ったんだから何か作らなくちゃと思って
テスタの測定値を読み上げるものをtiny233で作った。
https://i.imgur.com/hP0bBGk.jpg
完成した後2、3回使ってみたけど、
とくに便利とも思えず、目で見た方がよっぽど早い。
以後、押し入れに放ったままで一度も使わず数年経過w メロディーで頑張ってるドアセンサー群に使うと便利そうだな。。。 >>440
あくえすとーくだっけ?
何種類Ka声があったような
うちのはいわゆるゆっくり系ボイス
「ゆっくりしていってね!」 あくえす〜〜〜〜
試してみたけど、こんなもんかな〜〜〜〜
ちょっと、しょぼい・・・・・
所詮、おもちゃレベルだな???
(おもちゃに内蔵されてる物の方がはるかにいい!!) >>440
これいいなw顕微鏡を覗いて細かいところを当たってるときに
電圧値を読み上げて欲しいと思ってたんだよw
ちなみにこれって「小型ロボの声」とか言ってごまかしてるけど
どう考えても「ょぅι゛ょの声」だよね・・・
http://akizukidenshi.com/catalog/g/gI-11517/ BPFとノイズジェネレータ使って「あいうえお」を発声させていた頃が懐かしい。 arduino unoがあればハンダ付けもしなくていいのか
まあどっちも持ってないけど
https://www.youtube.com/watch?v=p9rTu4J5sjc いわゆるニコ動とかで有名な「ゆっくり」声のICはATP3011F1ね
>>449のサンプルで言えば音声合成エンジン:AquesTalk、声種:AquesTalk-f1女声1(ゆっくり) PICのソースをavrに移植して、少しはまった。
割込みで処理で、フラグ変数が競合してた。
PICは、8bit変数は直接命令だから、アトミックだけど、
AVRは一度レジスタ経由でアクセスするから意識しないといけないのよね。
今回はATOMIC_BLOCK使った。 >>456
メッセージ内容が固定メッセージなら録音やらなんやらの音声データ再生だけですむけど不定形の場合はそうはいかんでしょ。
また、音声の内容が長ければそれなりにデータもでかくなるし。
極端な例だとなんかしらの毎度変わるテキストの読み上げとか(web読み上げがいい例)とかじゃない? なかなか難しいよね
スマフォだったら「しゃべる外国人旅行者向けの通訳機」みたいなのがありそうだけど
まあ「手段のためには目的は選ばない」と言うのが電子工作らしいけどね >445の電圧値の読み上げみたいなのには向いてるね。 火災報知器のアラームが
ゆっくり音声で
「かじですー かじですー」
とかだったらマヌケな感じするなと思ったが、
実例が遭ったわ
https://youtu.be/-f2VApj-mA8
燃える近辺から再生 まちがった
https://youtu.be/-f2VApj-mA8?t=254
こっちが燃える直前から再生のURLです
ゆっくり音声で視聴者がかじーかじーとメッセージ入れてる >>458
それのどこがavr関係してんだ?
スレ考えてレスしろや >>464
スレタイも読めないくせに誤魔化すなよwww >>465
流れも読めないくせに誤魔化すなよwww
ここから出て行け >>466
出ていけwwwwwwww
恥ずかしいのう クロックを内蔵と外部と切り替えるにはヒューズバイトというのの書き換えが必要ってことであってますか?
そうだとして、それにはどんな道具が必要ですか?
12Vとかかけないといけないとか、結構面倒そうなんですが、一番簡単で安い方法を教えてください。 >>468
今そんなことより458がスレチとか言ってるアホを叩き潰すのに忙しいから >>468
低電圧シリアルプログラミングでもできるよ
FTDIのUSBシリアルでftavrwってソフトとか
Arduino(クローン可)でArduinoISPとか >>468
やったことないが想像で書くと…
ヒューズバイトの中のSPIEN(シリアルプログラミング許可)ビットだけ気を付けること。これをDisableにしてしまうと定電圧シリアルプログラミングができなくなってしまう。
このビットさえ気を付ければクロックの内蔵CR/外付けクリスタルの切り替えは定電圧シリアルプログラミングでできる。
だったはず >>471
SPIENのオン/オフは低電圧シリアルプログラミングからは出来ないから平気
初心者がよくやるのは…
RSTDSBLでリセットピンをポートに切り替えてしまってICSPが反応しなくなるパターンと
水晶とコンデンサ繋いでないのに外部発振に切り替えてうんともすんとも言わなくなるパターン 昔、AVRを始めた頃の思い出
AVRのヒューズ/ロックビット読み書きソフトを作っていて、
テスト中にうっかりRSTDISBLを書きかえてしまい、
結局、次にパラレルライタを急いで作るハメになってしまった事。
https://i.imgur.com/Zpqi7Dq.jpg >>469
自分を正当化したくてしょうがないんだねぇ >>469
出ていけ君、顔真っ赤粘着でウザイなwww なんでアトメルは12Vシリアル書き込みを8ピン以外でも採用してくれなかったんだろ?
そうしてくれればパラレルライタなんてメンドくさいものを作らなくて済んだのに。 PDI,UPDI使うシリーズはパラレルモードが無い。 教えていただいて安心しました。
みなさんありがとうございました。 これから始めるのに今一番おすすめのライターはどれでしょう?
既製品でも自作でもいいので、みなさんお使いの良さそうなのを教えてください。
ArduinoならUNOとNanoを持っています。
あと、初心者向けのスレは無いんでしょうか?
ここでもいいんでしょうか? ここでいんじゃね
Arduinoあるならそれがライターになるよ ライターもデバッガも初心者に勧められるものはないのでできれば避けてください 自分が最終的に落ち着いたのは
uno,nanoは内蔵シリアル
pro mini, attinyはAliExpressで150円ぐらいのUSBasp
pro miniでシリアル通信が必要なときは、これまた150円ぐらいのシリアルコンバーター >>468
一回書き換えると元に戻せないヒューズだけは、高電圧で書き換え
どのヒューズがってのは状況によって変わった記憶が
うろ覚えでごめん、なんか俺もそれで困った記憶があって、道具無くてそのときだけチップ書い直した 具体的にこのライターでってのが一向に出てこないんだなAVRの場合。
みなさん自作なの?
それとも>>483の言ってるのが正しいってこと? なんの話してるんだ??
AVR ISPなんていっぱい出てるじゃないか。
互換品もいっぱいあるが不安なら純正品にしとけばいいじゃん。 2011年くらいからずっと AVRISPmk2 使ってて困ってないけど、「今一番」かどうかなんか知らんし >>486
アホには無理だから他の石使え
そして此処には来るな
と言ってるんだよ >>481
マイコン初心者なので、余計なトラブル回避したくて、
純正ライタ->純正ICEと来て、デバッグ環境まで手に入りました。
ただ、debugwireのヒューズ切り替えがめんどいので、
atmega328から移行を考えてます。
良さげな石ありますか? 最近、avrを堪能しようと思って、atmel-ice 買った。
ところで、ispで、tool から電源供給できるライターってあるのですか?
また、コマンドラインから、atmel-iceを使って、書込み実行する方法ってありますかね?
毎回 ctrl-shift + P で画面開いて、toolをiceに選択しなおして、memory開いて、flash,eeprom と
順番にボタン押していくのが面倒なんです。 純正のAVRISPmk2ってとっくに販売終了していて互換品しかないんだがな。
>>492
DIP限定ならjtagのあるmega644とか。
SOPでもいいなら、俺的にはUPDIが使えるtiny1シリーズやmega0シリーズが快適すぎる。
UPDIのやつはリセットピンをIOにしても戻すは割と簡単だし。(ただし出力設定にしてない場合に限る)
>>493
atprogramでググレ 俺は純正のライタが高くて買えないので、泣きながら自作した。
https://i.imgur.com/Sysi65t.jpg
裏側
https://i.imgur.com/lYHRHZP.jpg
書き込み後にリセットさせたくて、少し改造。
https://i.imgur.com/fREePYf.jpg
RTS-CTSの直結ラインを0.1μFで優しく受け止め、リセットピンに接続。
パーツは秋月で全部揃う。
1300円くらい。 ちゃんと AVRISPmk2が昔の製品って解るように書いたつもりなんだがなぁ >>495
atprogram 初めて知りました。ありがとうございます。
ところで、以下のような fuse 設定をソースに記述しているのですが、
これを、どうやって、writer 書き込めるのかわかりません。
.elf ファイルにあるとは思うのですが。 -fs -f xxxx.elf では設定できませんでした。
FUSES =
{
.low = LFUSE_DEFAULT,
.high = (FUSE_SPIEN & FUSE_WDTON & FUSE_BODLEVEL1),
.extended = (EFUSE_DEFAULT),
}; 下手に抜粋すると間違いが起きそうなので、俺が実際に使用してるバッチ内容をコピペするから適当に変更してくれ。
atprogram -f -t atmelice -i UPDI -d atmega4808 program -c --flash --fuses --verify --file mega4808.elf
推測だが、コマンドの「program」が抜けてるんじゃないかな。
コマンド内にサブコマンドがあってさらにそれに対するオプションと書式がややこしいんだ。
-fsは--fusesと同じ、-fは--fileと同じだからそのままでいい。
atprogramの直後にある-fはツールのファームバージョンが違っても強制するオプションでかぶるから俺は--fileで書いた。 atprogramってavrdudeとどう違うの?似たようなもの? AtmelStudioに付属してる純正のコマンドラインツールだよ。
基本的には純正ライタ・デバッガでしか動かない。 >>491
貴方のご意見の通りのようですね。
AVRはやめてPICを始めることにしました。
開発環境も書き込み器もすぐにこれだなというものの目星がつきました。
開発環境はすでにインストールし、PICとライターはもう注文しました。
感謝しています、ありがとうございました。 >>488のようなのが今の置き忘れられたAVRを象徴してるね。
面倒な初心者はディスり扱いで排除する貧相な度量。
Arduinoの構成パーツに成り下がり、単体では依然PICに追いつけず、こともあろうにそのライバルに買収された。 MPLABでAVRも開発できるし書き込みもできるんだけど、
新しすぎて情報が少ないんだよね。 >>499
完璧にうまくいきました。 助かりました。
fuses の設定を間違えて、1個 ispできなくなったけど...
高電圧ライターは、入手するか、、、買うかどうしようかな。 いつか役立つかもしれないユニバーサルライタを買うというのもあり >>505
気になって最近の情勢を調べてみたら、
どうやら、これからの初心者用はMPLAB IDEとこれ
http://akizukidenshi.com/catalog/g/gM-13854/
ということのようだね。
新参を拾い上げる度量もない古株にはいろんな意味で無縁なんだろうけど…。 >>509
それ買わせて結局PIC使いに化けさせるという戦略だなw
さすがに良く考えてある。 >>511
おっしゃる通り。
初心者だからこそ両方使って、両方使えるようになれて、適材適所に使い分けてもらいたい。
MicrochipのおかげでAVRの新シリーズも安価なんだし。 >>511
そういうことですね。
有益な、情報が得られれば、それだけでありがたいです。
別に正しくなくても、きっかけとして、自分で検証すればいいだけなので。 私は、PICとAVRが目の前に置いてある状況で、
「どちらを使っても構いませんよ」
と言われたとたら、どうしてもAVRを選んでしまう。
何と言えばいいのか、PICファンの皆様、PICは私の特異体質に合わないんですよ。
昔、PICを始めた時にアセンブラでプログラムを書いていたら頭痛がしてきて、
それでもライタなどの初期投資代金がもったいないので、
我慢して、さらに2本目も書いたのだが、頭痛はひどくなり、
このまま続けていたら、PICのアホが私に乗り移ってしまいそうな恐怖に駆られてw
3本目はとうとうPICを諦めてAVRに乗り替えてしまった。
もちろんISPライタなどの金がまた掛かったが、プログラミング中の頭痛はなくなった。
AVRは良い。私のナスがママ、胡瓜がパパ、意のままに動く。
私の特異体質のせいだと思うから誰の参考にもならないだろうな。
(御精読を感謝します。怒っちゃヤーよ、ほら笑って笑って) Arduino NanoをライターにしてATmega328PにLチカをさせるところまで来ました。
>>482さん、アドバイスありがとうございます、ライター関連出費ゼロで済んでますw
外付けの16MHzのセラロックで動かしてるんですが、半部くらいの速度になってしまいます。
あと、内蔵クロックに設定すると動きません。
ま、ぼちぼち解明していくつもりです。
とりあえずお礼とご報告まで。 atmel-ice の他、
pic用で、pickit4 買ったんだけど、avrの対応はどうなっているのか良く分からんです。
UPDIだけの対応かな? 内部で12V生成していると思うので、avrの高電圧モードもあればいいんだけど。。。 PICKIT4はATMEL-ICEと同等の対応見たいで12VはUPDI/HVだけのようです。
snapのUser GuideにPICKIT4vsSnapの比較が出ていてわかりやすいです。
MALAB Xより次期AS7の方がさきにPICKIT4対応できるのではと期待してます。 >>518
おおAS7単体でなくMPLABも一緒にインストすればAS7で使えるようになるのですね。 TNX
snapもサポートしてくれないかな マイコン始めようと思ってる、AVRとH8と迷って中。
やっぱAVRがおすすめ? H8のボードでしょ?
Arduinoと迷ってんじゃないの? >>514
20年も過ぎればデバイスも開発環境も変わる、、、
とは限らないか >>520
今から始めるならH8じゃなくてRL78じゃねえの。せめてR8Cだわ。
デバッグ環境考えるとルネサスのほうがいいと思うがねえ。 >>495
mega644、tiny1、mega0ですか、メモしときます。
644、中々いい朝お値段しますね。
後二つはまだ詳細分かってないですが、調べてみます。
最近はDIPじゃない方がむしろ都合いいです 誘導ミサイルに頼りすぎるとドッグファイト能力が落ちるとかなんとか昔トップガンでやってた
誘導ミサイル:高性能デバッガ
ドッグファイト:基本的なプログラミング能力 >>529 そですね。
そういう意味でのマイコン選びなのですが…
アルデュイーノやラズパイは、できあがりすぎていると感じました。
ただ、PICは統一性がなく、余計な手間がかかりすぎる。
その上で、AVR、H8(RL78、R8C)、Z80あたりを探っているのですが。
H8系は面白そうですけど簡易工作レベルでは、高性能すぎると感じます。
ゆえに、AVRが妥当かと。 H8が高性能だって?
まあ、そう「感じた」んなら仕方ないけど・・・ AVRより高性能なのは間違ってない
コード見るとAVRはコンパイラがかなり苦しんでる >>530
RL78とかは、24bit ADC とか、OPAMP x4 とか、機能が満載のMPU揃ってるけど、
小口での入手性や、開発環境考えるとAVRと、外部ADC,OPAMPというのが、妥当なんだろうなと思っています
。今度、仕事で使うけどね。
PICも比較的、機能充実しているけど、それなりのノウハウが必要な感じですね。 RL78のことは全く知らないけどマイコンなら電源は5Vか3.3Vでしょ?
24bitのADCとか周辺回路も含めてどうやってローノイズ化するの?
温度変化や機械衝撃だけでも下位数bitはグラグラ動きそう。。 >>534
0.1uVオーダーって帯域にもよるけど
熱雑音の方が大きいな
普通の実装では全く意味を持たない世界 レスありがとうございました。
しかし、ど素人レベルでも読めるAVRの参考書籍がAmazonみてもほとんどありませんでした。
H8系は、これはいけそう!って本が何冊か見当たりました。
PICの本、多いけシステムにど統一性が無いですし。
とりあえず、AVRとH8系を見ていきたいと思います。 >>526
ふむFWのUpdateにMAPLABが必要だっただけで、対応FWを持ったPICkit4は
最初からAS7で使用可能なのですね。 クロックの周波数変えたいだけなのにヒューズビットの決め方がわからん。
アホなのでPICに変えます。 クロックの周波数を変えたいならCLKPRレジスタでは? Arduino IDEから適当な周波数を選んで「ツール」→「ブートローダを書き込む」では? >>542
後半は何となくわかる。
前半の
>Arduino IDEから適当な周波数を選んで
を具体的に頼む。
現行のボードの中から選ぶってことなら選択肢ほとんど無いような。 >>543
じゃあ、IDEに付属の「avrdude.exe」を使う方法かな >>541
このサイトで設定してavrdudeでヒューズを書き変える
ヒューズはL・H・E(Low,High,Extended)の3種類ある
例えば、Lヒューズを「0x7a」にしたければ
avrdude -C c:\avrdude\avrdude.conf -p m328p -P COM6 -c avrisp -b 19200 -U lfuse:w:0x7a:m
とかにする。引数はだいたい分かると思う フリーでGUI版があったりするから探してみて
連投すんません >>541
ありがとう、知らなかった。
これ使ってboards.txtを編集するという方法でやってみる。 >>547
うんそれそれ、ありがとう。
ID:rOsqwnuw
ありがとう。
コマンドラインはなんかとっつきにくいけど、慣れてきたらGUI版から試してみる。 存在しなければ、あるいは使いにくいなら、
自分で好きなようにヒューズ読み書きプログラムを作れば済む話しなのに。
>>474 前にAliでATtiny13A開発ボードとかいうよくわからん基板を買った(1枚60円くらいで5枚買った)
ISPがつなげられてLEDが2つ付いてるから13Aで遊ぶのにいいかなと思っていたけどずっと放置してた
https://i.imgur.com/EBrwfnS.jpg
なんでmicroUSBコネクタが付いてるのかどうも気になってたけどよく調べてみるとtiny85乗せてファーム書き込むとDigisparkになるらしい
https://s3.amazonaws.com/digispark/DigisparkSchematicFinal.pdf(この回路図D3の向き逆じゃね?) >>551
必ずこういう口調で殺伐と畳みかけてくる奴がいるよね、このスレ。 >>555
「殺伐と畳みかける」と受け取らせてしまったのなら申し訳無かった。
私としては雰囲気を悪くするつもりではなくて、ホントに純粋に単純に
「無いなら作ればいいのに」、「必要なら作ればいいのに」
なぜ作らないんだろ?と思ったんだよ。
作らなければ一生出来ないし、作ろうとすればいつかは出来る。
「なさぬは人のなさぬなりけり」
今後は「殺伐と」にならないように書く時に気をつける。
どう気をつけたらいいかよく分らないけどw >>556
悪意が先に立つから
>AVRのヒューズ/ロックビット読み書きソフトを作っていて、
が目に入らないんだろ。
人としての品格の問題だから気をつけようがない、あんたの場合は。 >>554
USBから電源を給電するのであれば逆だよね
JP2から給電した場合はUSBの5Vに接続する必要無さそうだし、回路図が間違っているのかもね AVRドラゴンの追加部品セットがあればライターやリセッタ周りの悩みはかなり減るんだが
自由度ありすぎて困る >>557
多分、勘違いしていると思う。
>>551 の > AVRのヒューズ/ロックビット読み書きソフトを作っていて
も
>>474 の > 自分で好きなようにヒューズ読み書きプログラムを作れば済む話しなのに。
も私が書いたんだよ。
そうか、だから、
>>552 の > いや、だから作ってたって話なんだろ?
という私にとっては意味不明のレスになったのか?
私のレス方針は「和を以て貴しとなす」と「アホの相手はしない」なのでw
怒られたのならとりあえず謝っておこう、と >>553 を書いた。
なお、私に人としての品格が無いかどうかはよく分らない。
人に言われたことはないけど、考えてみます。
(他の人には何の興味も無いでしょうから、この話題はこれで終わりにします)
私がAVRを始めた時の製作順序は、
1)秋月で購入したライタで1作目、2作目のプログラムを作る
AVRが気に入ったので使い続けることを決める
2)回路に影響されないROMエミュレータ方式のライタを作る
3)ブラックボックスがイヤなのでデバッガを作る
4)ヒューズ・ロックビットのGUIソフトを作る
5)パラレルライタを作る PICの場合、PWM AUTO-SHUTDOWN MODE があって、コンパレータのイベントで、
PWMのstop/startを自動的に制御できる機能がありますけど、
avrの場合、この機能のある品種ってありますか、割込みで制御すればいいだけなんですが、便利なので。 イベントシステムを搭載しているチップのA型カウンタは
イベントがHiの間だけカウント動作させる機能がある。
コンパレータ出力はイベントを発生できるので目的の動作ができるでしょう。 >>564
ありがとうございます。
tinyだと、
attiny1607 が該当しているみたいですね。
QFPしかないのは、残念。 >>564
attiny412も8pinでevsys対応してますね。 AVRみたいなマイコンでprintfってコマンド打つとどうなるの?
PCみたいにディスプレイが標準端末ならまだしも
マイコンに標準端末って無いじゃん >>567
何もおきない
標準出力をシリアル出力に設定しておくとターミナル等のアプリに文字列が出力されて便利 >>567
ArduinoみたいにPCとUSB接続してクロス開発するような処理系だとPC側に仮想端末を持たせて、これにprintf他の出力関数で文字列を出力(キーボード入力も)できる。
Arduino内で無くてもPCで起動されてる汎用端末のアプリとも同様に入出力できる。 >>567
printfが呼び出す先、つまり putc とかを自分で作ってあげないとリンカーエラーでコンパイル
できない場合が多い。
たいていはUARTなんかを出力先にしてデバッグしたり。
もちろんディスプレイを付けてあげればパソコンのようなこともがんばればできるし、
Arduinoなんかは出来合いのもあるんではないか。 >>567
>>569 の他にもbluetoothユニットを介してスマホの仮想端末アプリとも同様の入出力できる。
また有線LANボードを追加するとミニサーバーを立ち上げて、HTMLを書いとけばLAN上のPCやスマホのブラウザからアクセスできる。
自分はArduinoに取り込んだセンサー情報を端末から読むときに使ってる。 >>568
> 標準出力をシリアル出力に設定しておくと
そういうことか!
そういう設定ってプログラムの中でやるの?
それともヒューズビットか何かをいじるの? >>572
static int stdPutc( char c, FILE *stream );
static FILE suStream = FDEV_SETUP_STREAM( stdPutc, NULL, _FDEV_SETUP_WRITE );
static int stdPutc( char c, FILE *stream )
{
while ( !( UCSRA & (1<<UDRE) ) );
UDR = c;
return 0;
}
int main( void )
{
stdout = &suStream;
printf_P( PSTR("Hello world") );
}
ヘッダファイルとUSARTの初期化は省略しているので注意。(あくまでも標準出力を設定するサンプルなので) そもそも、Cにおいてprintf()ってのは関数を呼び出す以上の
意味はないからな…
printf()が具体的に何をするかは知らんもの コンソールアプリでC言語勉強はじめたばかりのガキ臭がする デバッガ使うまでも無い小さなプログラムならprintf()で変数の内容表示とか割と便利(出力先をLCDにしておいても良いし)
ただ標準のprintf()はコードが無駄に大きいので似たような関数を自作した方が良いと思う 何故画面に出力される事が標準乃動作と思ふのだらうか >>576
平気で、printf()は「画面に」出力する「命令」です
なんて教える教師や教科書があるからなぁ…
そう言うのに当たっちゃったら、やむを得ない気がする まぁパソコンのソフトウェア開発から入れば高級言語しか知らんだろうし… lcd繋げて、それに出力する様作っても良いんだよ! >>580
おまえらの世代はパンチカードだったかもしれんが、
入門者には画面と教えて問題ないだろ >>574
いまいち何やってるのかよく分からないけど
printf_UART()
なる関数を自作するよりかはスマートな方法なのね
たしかにprintf()で書いていた方が
UARTに出力するかLCDに出力するかそのときに応じて
ソースコードをほとんどいじらずに瞬時に対応できるよね >>584
マニュアルちゃんと読もうぜ
avr-libcのマニュアルに丁寧な解説付きで書いてあるぞ 久しぶりにマイコンいじった。mega3208ってやつ
これ8bitAVRコアにUC系のペリフェラルっぽいな xmega系列になって従来のmega/tinyとちょっと変わったんだ。
UC系の周辺と揃えようって意思はあったんだろうね。
mega3208は名前こそmegaだけどxmega系の子孫なのよ。 同じ処理を、3種類の環境でコンパイルしてみた。
cc5xは、制限の多いコンパイラで、ページを自分で割り付けなければ
ならないのと、固有の構文を多用する。
xcは、proバージョンでどのくらいコードがスリム化するんだろう?
gccベースという使いやすさと、PIC以外でも使えるので価格が折り合えば使いたいな。
avrgccは、データメモリとレジスタの転送でコードが膨らんでいるけど、対CPUクロックで考えると速度的に問題ないはず。要求プログラムメモリは要注意。PICは、word,avrは byteで単純比較できないけどね。
PIC cc5x (PIC16F18313)
; RAM usage: 51 bytes (11 local), 205 bytes free
; Maximum call level: 4 (+3 for interrupt)
; Total of 1027 code words (50 %)
PIC xc8 free (PIC16F18313)
Memory Summary:
Program space used 5ECh ( 1516) of 800h words ( 74.0%)
Data space used 41h ( 65) of 100h bytes ( 25.4%)
avrgcc (atmega48)
Program Memory Usage 3586 bytes 87.5 % Full
Data Memory Usage 42 bytes 8.2 % Full ATmega328PのUARTポート(RX, TX)とUSBシリアル変換器
http://akizukidenshi.com/catalog/g/gK-06894/
のUARTポート(TX, RX)をつないでPC上で立ち上げたTera Termをモニタ代わりに使用してる。
これはこれで問題無くモニタ出来てるんだけど他に問題があって
AVRの電源を切ってもAVRが稼働し続けてることに気付いた。
はじめ何が起きてるのかよく分からなかったけどテスターを当てていくと
USBシリアル変換器のUARTポートからAVRのUARTポートに電気が流れて
その電流が寄生ダイオードを経由してかAVRの電源側に回り込んで結果的に
AVRが稼働し続けてるっぽいことに気付いた。
大元たどるとパソコンのUSBポートの5Vが電気の供給源ってことになるね。
この状態でAVRの書き込みも出来るから恐ろしい。
AVRのUSBポートから流れ込んできた電気でAVRが稼働するってのも
AVRにとってあまりよろしくない状況だと思うんだけど何か解決方法ってあるかな? そもそも電源の入っていないマイコンにUSBシリアル変換を接続しっぱなしにするのが間違った使い方。根本的な解決方法はない。
ポートに抵抗入れる、AVRの電源ラインにシャント抵抗を入れて電圧を下げるなどの対症療法はある。
しかし残留電圧でヒューズがリセットされないためデバッグワイヤが解除できない等の不具合が発生するので、その辺を理解して使うこと。 >>591
AVRに限らず禁止事項だよ。うっかりするとチップ内の保護ダイオードを壊したり、
外部にレギュレータがあると、こいつを破壊する。
とりあえずの対策としてはFT232XのRESET#をLowにしておけばOK
ATmegaの余っているポートをPull Downしておいて、ここにRESET#をつないでおく。
ATmegaの電源On時に、このポートをHiにしてRESET#を解除すれば普通に使えるし、
電源を落とせばFT232XはResetステートに入る。
FT232XはReset#がLoになっている間、UARTポーtははTri-state、入力は内部200kΩで
プルアップされる(データシートVer. 1.2だったらp. 23)
これで、ほとんどの場合問題はないが、Resetステートの時にUARTピンが浮くので、
気になる場合は弱く(高抵抗で)プルダウンしておけばよい。 >>591
根本的にはAVRの入力に74VHC04のような入力保護ダイオードが入っていない
バッファを入れる。インバータなので2段入れる。 ↑が正解
不都合だけじゃなく、流しすぎるとデバイスがお釈迦になるよ
オレは↓を使ってる
http://akizukidenshi.com/catalog/g/gI-09418/ 小信号ダイオードはさんでオープンドレインもどき接続にして
USBシリアルからのHレベルを遮断すればとりあえず大丈夫なんじゃね >>592
>>593
AVR書き込むたびにUSBケーブルも抜き差しするの面倒くさくてさぼってたけど
やっぱこういう使い方禁則事項だよね^^;)
> FT232XはReset#がLoになっている間、UARTポーtははTri-state、入力は内部200kΩでプルアップされる
FT232XのRESET#ピンを制御するのはいい方法かも
ただ細かいことを言うとまっさらな状態のAVRに書き込もうとしたときは
RESET#ピンの制御は無理になるかな。
初回限定のほんとどうでもいい細かいことだけど。
>>595
> 74VHC04のような入力保護ダイオードが入っていないバッファを入れる
あ、この方法もいいね。ものぐさな自分にはぴったりの方法かもしれん。
VHCシリーズを選べば入力に保護ダイオードが入っていないことは
確約されるんだっけ? >>598
VHCシリーズはVCCに関係なく入力電圧の上限が5.5Vまで印加可能だったと思う
簡易電圧変換なんかにも使われるよね >>599
VHC, LVC, LCX, VCXは入力から電源にむけて寄生ダイオードが無いから
電源に電流が流れることが無いのね
https://toragi.cqpub.co.jp/Portals/0/backnumber/2006/06/p171-172.pdf
一つ勉強になった
ありがとう float型の変数を文字列に変換する際の定番の sprintf はメモリを馬鹿食いするから
次点の dtostrf を使ってみたんだけどこれも結構メモリ馬鹿食いするんだよね
もうちょい軽く済ます方法って無いかしらん >>601
float使わずにintで固定小数点数として格納する 誰しもが通る系の道よ…
固定少数にしても表示が遅い、間に合わないってんで
LCD表示ルーチンの改良してみたり
割り込みでマルチスレッド的に出来ないか?
とか
アセンブラで書くか?
とか、やる訳よ… >>602
>>604
その発想は無かったわ
たとえばfloat型数値 3.1415 を小数点第2桁まで文字列にするとしたら
まずこいつをint型にキャストして3を取り出し
(int) 3.1415 → 3
取り出した3を引いて小数点以下を抽出し、
3.1415 - 3 = 0.1415
抽出した小数点以下に100をかけて再びint型でキャストし
0.1415 x 100 = 14.15
(int) 14.15 → 14
3と14を atoi() 使って文字列に変換。ピリオドを間に挟んで結合すれば
文字列 3.14
のできあがり。こういうことか >>607
>>602 >>604 の助言を無視して float で演算してどうするんだ? 30年前だがZ80でどうしてもfloatが使いたくて、MSX-C 買ったらできないでやんの。
しょうがないからアセンブラでやるfloatのライブラリが載ってる本買って、そこだけ関数呼び出し
に書き直してしのいだわ。 sprintfが重いって話だろ?
floatの演算自体は仕方なかろうし、大した負荷じゃなかろう。 まあでも小数2桁って決まってるんなら最初から100倍しておいて整数で演算するわな。 そう考えると、昔のBASICとか優秀だよな
あれしかメモリなかったのに プログラムのフットプリントを意識出来ないのは池沼やで 昔、友人が変数名がアルファベット1文字というVTL系のコンパイラを作っって
私にくれたことがある。
プログラムサイズは512バイト程度だったと思う。
付属のサンプルプログラムが「月面着陸ゲーム」 だった。 Digi-keyにTiny3216¥119が入荷している。 マルツは¥166 マルツってdigikey発注代行だろ?
それでこんなに取るのか
ボリ松もびっくりだな 50円でボッタクリ。
じゃあ、Digikey で買えよ。送料払って。 すぐ欲しい数個で買って
数十百個になったら海外通販使う
新しい品種とかは前者で探すのが困難だけど >>621
どうせ人件費は0円とかいう無職の発想でしょ
親が買い置きした家にある食い物はタダ、みたいな >>625
爺さんしか居ないスレでsyamuなんかわかる奴ほぼいないだろ… 632です。神様、今週ボン円140円で買い戻しさせて下さい! UARTで何かデータを受信したら割り込みを発生するテストプログラムを書いてみた。
volatile unsigned char moji='a';
ISR(USART_RX_vect)
{
char x = UDR0;
while (!( UCSR0A & (1<<UDRE0)));
UDR0 = ++moji;
}
int main()
{
UCSR0B = 0x00;
UCSR0A = 0x00;
UCSR0C = 0b00000110;
UBRR0L = 25;
UBRR0H = 0;
UCSR0B = (1<<RXCIE0) | (1<<TXCIE0) | (1<<RXEN0) | (1<<TXEN0);
while(1)
{
}
}
うまく動けばUART経由で一文字打ち込むたびに変数mojiがインクリメントされていきターミナルには
bcdefgh・・・
みたいな感じの文字が表示されてしかるべきなのになぜか
bbbbbb・・・・
といつまでたってもbしか表示されない。なにか設定おかしいところある? >>636
送信完了ベクタが登録されていないので動作がおかしくなっているんじゃない?
送信割り込みを使わないような設定にすれば良いと思う
UCSR0B = (1<<RXCIE0) | (1<<TXCIE0) | (1<<RXEN0) | (1<<TXEN0);
↓
UCSR0B = (1<<RXCIE0) | (0<<TXCIE0) | (1<<RXEN0) | (1<<TXEN0);
main()関数内に sei(); が無いけど、割り込み発生するの? >>638
> 送信割り込みを使わないような設定にすれば良いと思う
それ!ビンゴだった!
え?どゆこと?
”送信割り込み使う”に設定すると
ISR(USART_TX_vect)
{
}
送信側をきちんと定義してあげないと
ISR(USART_RX_vect)
{
}
受信側の挙動に影響が出るってこと?
sei()はごめん、コピペするの忘れた^^;) >>639
割り込みベクタテーブルの初期値は 0x0000 だったハズ(データシートを読んでみて下さい)
ISR(〜) を定義しないと割り込み発生時に 0x0000 にジャンプする
送信完了→送信完了割り込み発生→ベクタテーブルを参照して 0x0000 にジャンプ(見かけ上、リセット動作となる)
送信完了割り込みが必要無いのなら空の ISR(USART_TX_vect) {} を定義するよりも、送信完了割り込みを禁止したほうがコードサイズが小さくなるし余計な割り込みも発生しませんよ >>639
補足
>受信側の挙動に影響が出るってこと?
ISR(USART_RX_vect) 内で送信処理しているでしょ
送信処理が完了すれば ISR(USART_TX_vect) に飛ぼうとするので結果として 0x0000 にジャンプします >>640
そういうことなのね
UARTで一文字送信するたびにリセットボタンを押してたようなものか
どうりで変数が常に初期化されるわけだ
こういう挙動ってちゃんとしっとかんとあかんね(´・ω・`) >>640
横からだけど、なんか勉強になった。ありがとう ATMEGA328P使って環境モニターっぽいことやってる
常時起動してるのは電池の無駄だからスリープ使ってるんだけど
スリープ復帰後にI2Cセンサとの通信ができなくなることがある。
詳細に調べてみるとスリープモードが
・パワーダウン
・パワーセーブ
・スタンバイ
のときはスリープ復帰後にI2Cが使えない(通信途中でフリーズする)ことが分かった。
ただ唯一、一番省エネ効果が低い
・アイドル
に設定するとスリープ復帰後もI2Cは問題無く使える。
I2Cってディープスリープ状態から復帰後は使えなくなるんだっけ? そんな話聞いたことないし、そうだとすれば大炎上してるよ。
ソース晒してみなよ。 もしかしてTWIの電力削減レジスタ弄って、なおかつウェークアップ後初期化してないとか? >>646
全部掲載はさすがに足りないから無理だけど要所くらいなら・・・
ちなみにTWIの電力削減レジスタとか難しいことは一切やってないよ
やってることだけどRTC使って一定時間ごとにAVRに割り込み(INT0)かけて起動してデータセーブ。
セーブが終わったらスリープして待機。
具体的にはRTC使ってINT0ピンをLowに引っ張って割り込みをかけてやる。
RTCの仕様でそのままLowに引っ張り続けるからI2C経由でAVRからRTCに命令出してHighに戻すよう命令
(release_interruption関数)。
問題はこのI2C通信で発生するっぽい。パワーダウンスリープから目覚めた直後だとI2C通信の途中で応答不能になり
アイドルスリープから目覚めた直後だと問題無く動作する。スリープを一切使わない場合もむろん問題無く動作する。
↓ちなみに以下ソース #include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include "FatFs/ff.h"
#include "FatFs/diskio.h"
volatile UINT Timer;
ISR(TIMER0_COMPA_vect)
{
Timer++;
disk_timerproc();
}
// 以上FatFsで必要なタイマー割り込み
volatile unsigned char int0_cnt;
ISR(INT0_vect)
{
int0_cnt--;
release_interruption(); // ←I2Cで通信しようとするこの関数で止まる
}
volatile char usart_recvData[256];
volatile unsigned char usart_recv_write;
ISR(USART_RX_vect)
{
char x = UDR0;
usart_recvData[++usart_recv_write] = x;
}
int main(void)
{
TIMSK0 = _BV(OCIE0A);
TCCR0A = _BV(WGM01);
TCCR0B = 0b101;
OCR0A = F_CPU / 1024 / 100 - 1;
EICRA = (0<<ISC01) | (0<<ISC00);
EIMSK = 1<<INT0;
UCSR0B = 0x00;
UCSR0A = 0x00;
UCSR0C = 0b00000110;
UBRR0L = 25;
UBRR0H = 0;
UCSR0B = (1<<RXCIE0) | (0<<TXCIE0) | (1<<RXEN0) | (1<<TXEN0);
sei();
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
int0_cnt = 5;
while (1)
{
if ( int0_cnt == 0 )
{
int0_cnt = 5;
save_data();
}
sleep_mode();
}
} 俺は小心者なので、
割り込みハンドラの中で通信ルーチンコールとか、
怖くて出来ない
スタック食い潰しの原因追求で泣きそう
になったこととかあるし… INT0割り込み→i2cでRTCにINT0ピンHIGH指示→割込処理から抜ける。でもこのときRTCはまだINT0ピンHIGHの処理完了してないので、またINT0割り込み入る。AVRはi2c始めようとするけどRTCは前の指示実行中なのでしらんぷり。 >>INT0ピンHIGH指示
の後に割り込みをすぐに抜けずに、INT0ピンがHiになるのを待ってから抜ければOKってことか。 ちょっと待て
EICRA = (0<<ISC01) | (0<<ISC00);
ってなんぞ?
これじゃ
EICRA=ISC01|ISC00
と同じだから、立ち上がりトリガにならんか?
(他もだけど…) >>655
ならない。無意味ではあるけど…
普通は
EICRA &= ~(_BV(ISC01) |_BV(ISC00) );
かな。
_BV() 使ったり、直接シフトしたり一貫性がないとは思う >>656
ちょっと興味あったので・・・
DDRA = (0 << PA0) | (0 << PA1) ; は
out DDRA, zero
ふむふむ
DDRA |= (0 << PA0) | (0 << PA1) ; は
in tmp, DDRA
out DDRA, tmp
うーむ -Os オプション付けても刈取らないのね・・・
(atmel stuido 7) 意図して読み出した1を書き戻すことも有るからね。バグになっちゃう。 秋月の通販サイトみたらDIPのAVRマイコンATMEGA1284P−PUが売ってた。
750yen
AVRマイコンの未来は明るい。 >>660
http://akizukidenshi.com/catalog/g/gI-04461/
発売日 2011/01/04
128Kバイトもの巨大なプログラムメモリと、16Kバイトもの広大なSRAMを内蔵しています。
ちなみに
http://akizukidenshi.com/catalog/g/gI-13921/
発売日 2019/02/22
プログラムメモリ:256KB RAM:28KB >>664
DIPだからクソデカくて面白いって話なのにSMD貼られても…… >DIPだからクソデカくて面白いって話
それどこに書いてる? >>665の脳内、しかも17:37:05頃のこと。 フラッシュを10,000回書き換えて
書き込み不能にした強者っているのかな >>669
オレもどっかで見た。だけどフラッシュではなくEEPROM(PICの) >>670
http://madlabo.oops.jp/MAD/0026/0026.htm
ここのオッチャン、リレー式計算機とか作ったり色々とやってるな
しかし電子工作者のこの文体のテンション、ついていけない… >>672
罐パッケージのAVRがあるのかと思ったw > フラッシュを10,000回書き換えて
> 書き込み不能にした強者っているのかな
何回書きかえたら壊れるか(書けなくなるか)に関しては
実際に試して確認した情報を どっかで見たな ESP-WROOM-02にリセットボタンを付けて連続でパチパチとリセットしてたら、
テレビの受信デシベルが低くなって映像が途切れたりした。
2.4Ghzって地デジの電波に影響あるんだな >>678
球状の缶からウニみたいに出てくるリード
誰か作らんかなぁ フラッシュに書き込んだプログラムがいつまで保持されてるのか気になる
たしか100年ぐらいは持つんだっけな?
書き込みを繰り返したやつは酸化膜がやられてて電荷が抜けるのが早くなるだろう >>680
フラッシュは20年や
データシートの表紙みろや ちょっとさっきくしゃみしたら
変換基盤に仮置きしていたATtiny10が全部消えたんだが?
こないだ家電のケンちゃんで書き込み用補助具買ったばかりなんだが?
秋月の10個入り全部消えたんだが?
朝の鼻くそに混ざっていそうなんだが? 小せいのはICでなくお前のケツの穴というオチかい? >>673
缶のオペアンプを開けて中にATtiny85埋め込むか? >>684
バカヤロー鼻くそだって書いてあっだろ!
俺の繊細なケツからあんなもん出てきたらあっという間にパンツ血まみれ SSDなら耐久テストをしたサイトがあったな
東芝製が書き込み禁止にして保護するとか UART経由でターミナルに文字列吐いてからパワーダウンスリープするプログラム作ってみたんだけど、
void uputc(unsigned char x)
{
while( !(UCSR0A & (1<<UDRE0)) )
;
UDR0 = x;
}
ターミナルに表示される文字列の末尾が文字化けしてしまう。
(上記のプログラムは一文字UARTに送信する関数。
これを連続呼び出しすることで文字列をターミナルに送ってる)
パワーダウンではなくアイドルスリープに変更したり、スリープそのものをしないようにすれば
末尾まで正常に表示されることからUARTの送信バッファから文字が全て吐かれる前に
AVRがスリープしちゃってるのが原因じゃ無いかと踏んだ。
だったら送信バッファが空になるまで待てばいいじゃんと思い、
void uputc(unsigned char x)
{
while( !(UCSR0A & (1<<UDRE0)) )
;
UDR0 = x;
while( !(UCSR0A & (1<<UDRE0)) )
;
}
と修正してみたけど変わらなかった。他にも送信シフトレジスタが空になったとされるTXCフラグが1
になるまで待ってみたりしたけど、
while( !(UCSR0A & _BV(TXC0)) || !(UCSR0A & _BV(UDRE0)) )
;
これも変わらなかった。最後の一文字までターミナルに無事送り届けられたタイミングを知るには
どうしたらいいのかな? >>689
AVRのプログラム経験あまり無いけどバッファが空に成った後に空ループ回しながら暫く待ってスリープは試してみた? TXCフラグは割り込みを使用していなければ、
プログラムから動的にクリアされなければならない。
UDR0 = x;
の次に
UCSR0A |= _BV(TXC0);
っていれてみれば? >>690の対症療法でもいいが…そもそも根本的な勘違いがある。TXCフラグの説明読んだか?
『The TXCn Flag bit is automatically cleared when a transmit complete interrupt is executed, or it can be cleared by writing a one to its bit location.』
とある。日本語にすると『TXCnフラグは、送信完了割込みを起こすか、自分で1を書くことで初期化できます。』ということだ
つまり、送信完了割込みを使ってないのならば、自分で毎回クリアしないと、最初に何か送信して空になって1になったら…あとはずっと1のままだ!!!
送信中は0で終わったら1に勝手に変わるとかいう便利なものではないぞ??? なぜ動かないんだ!MPUのバグか?
って時の99%は、データシートをちゃんと読んで
無かった自分のせい どうでも良いけど、なぜ
loop_until_bit_is_clear();
使わないんだ? >>690
↓みたいにforループ1000回入れてみたら最後までターミナルに正しく表示されるようになったから
たぶん送信バッファを確実に空にするまで待つ、という戦略であってると思う
void uputc(unsigned char x)
{
while( !(UCSR0A & (1<<UDRE0)) )
;
UDR0 = x;
for(int i=0;i<1000;i++)
;
}
>>691
ほ、ほんとだ!
void uputc(unsigned char x)
{
while( !(UCSR0A & (1<<UDRE0)) )
;
UDR0 = x;
UCSR0A |= _BV(TXC0);
while( !(UCSR0A & (1<<UDRE0)) )
;
}
これでも正しく末尾まで正しくターミナルに表示されるようになった!
>>692
そういうことなのね。自分で1にsetしてやらないと0に戻らないのね。
勉強になった、ありがとうノシ Aliで売ってる1000円以下のJTAGって使い物になる? >>695
for(int i=0;i<1000;i++);
って、最適化したら真っ先に消されるコードだろ? >>697
intの前に「volatile」付ければ?
>>695
問題解決良かったね。
>>692
AVR初心者として参考になった。
ありがとう。
>>693
そう。焦れば焦るほどバグ、つまり自分のミスに気付かない。
俺はプログラミングは己れの煩悩を取り払う能力を養う最強の修行法だと解ったわ。 >>695
送信後のウエイト処理で見ているフラグが違うと思います。
while ( !(UCSR0A & (1<<TXC0)) );
こうじゃないですか? >>702
すんません
凡ミスしてた
> while ( !(UCSR0A & (1<<TXC0)) );
そうです、それで正しいっす 所詮マクロだし推奨するのは構わんが強制することでもないべ AVRマイコンはプログラムメモリの自己書き替えはブートローダー用の領域に書き込まれた
プログラムからしかできないんだな。アプリケーション用領域に書き込まれたプログラムからだと
書き替えのための処理が無視される。良く読めばデータシートにも書いてある。
PICマイコンからの類推で当然できるものだとおもってたから意外。 デバイスによる。
ブートローダ領域の無いものはどこからでも実行できる。 割り込みに呼応する関数は一般的にmain関数の前に記述するわけだけど、
volatile unsigned char x;
ISR(USART_RX_vect)
{
x = UDR0;
}
int main()
{
・・・
}
割り込みに呼応する関数を丸々関連するヘッダファイル(uart.h)に移動してやって
そのヘッダファイルをincludeすれば割り込み処理も忘れずに定義できることを思いついてこうした、
#include "uart.h"
int main()
{
・・・
}
記述もすごくシンプルになって満足していたんだけどAtmel Studioのコンパイラーから3つの警告が出るようになった。
警告 2 type of '__vector_18' defaults to 'int' [enabled by default]
警告 1 return type defaults to 'int' [enabled by default]
警告 3 control reaches end of non-void function [-Wreturn-type]
割り込み処理をまるまるヘッダファイル(uart.h)に移動してやっただけなのになんでこんな警告が出るんだろう? あと話は全く変わるんだけど今ChaN氏のFatFs使ってSDカードに書き込みするプログラム組んでるんだけど
付属のf_puts関数でSDカードにデータを書くのは問題無く出来てるんだけど
もう一つの付属のf_printf関数でSDカードにデータを書き込もうとするとエラーが返ってくる。
原因をしらみつぶしに調べていったところグローバル領域で宣言した配列の要素数がある程度大きくなると
f_printfの方だけエラーが出るっぽいところまで突き止めた。(f_putsの方は要素数によらず常に書き込みに成功する)
具体的にはグローバル領域で、
volatile unsigned char hogehoge[255];
みたいな巨大配列を宣言するとf_printfによる書き込みが失敗する。
配列の要素数を少し減らして、
volatile unsigned char hogehoge[200];
にするとf_printfでも問題無く書き込みできるようになる。
ターゲットはATmega328P。
プログラムメモリもデータメモリも90%以下の値であることは確認済み。
オーバーフローしてるわけではない。
宣言した配列のサイズによってプログラムが異常動作するなんてことはありえるかね? >>709
ビルドログに出てくるデータメモリの使用率はグローバル宣言した変数分のみ。RAMはファンクション内で宣言した変数にも使われるから足りなくなることはある。 スタックもじゃね?
グローバル変数+ローカル変数+スタック≦RAM
でなければならん
アセンブラで書いてないと取りうるスタックの最大量は読みにくい >708
ぱっと見だけど、char xがグローバル変数なのに、グローバル変数として宣言できてないのでは? そもそもヘッダファイルに入れる意味あるのか?
忘れずにと言うが、main関数のあるファイルからしかincludeしないなら、そこに直書きするのと何が違うのか >>708
#include "uart.h" の前かuart.hの中にavr/interrupt.hが無いから。 >>710
>>711
そういうことなのね
コンパイルしてメモリ使用量が100%未満だからといって安心しちゃいけないのか
>>713
volatile unsigned char x;
だけmain関数の真上のグローバル変数領域に移設してみたけど
エラーが出るようになっちゃった
>>716
一応"uart.h"の前でavr/interrupt.hは宣言してあったわ
ヘッダーファイルに割り込み処理を押し込もうとしたのはそもそもの間違いか
下手に楽しようとせずmain関数の上に書くようにするわ
ありがとう >>717
ヘッダーに関数その物を書くのが作法違反っすよ >>717
volatile unsigned char x;
の前で uart.h をインクルードしているのでは?
uart.h の中で変数 x を使うコードが書かれていると、そんな変数知らないとコンパイラに叱られる
一見、すっきりした様に見えるけど、uart,h の中にプログラムコードを書くのは違うような気がする
ISR() を外に出したいのなら uart.c のような別の *.c ファイルに記述して、 必要な定義類を uart.h に記載するのが良いでしょう Cがアホ言語かどうかはともかく、
なんでこんなにMCU向けにCがはやるようになったんだろ?
FORTHなんか機械制御用として作られたユニークな言語だし、
小さなMCU向けにはVTLみたいなものでも十分だと思うけどな。
だれかアッと驚くようなD言語処理系でも作っておくれでないかえ。 >>723
いまさらテープドライブ?
まあMCUならいいのかもね。 当時はさ
CPU速度が遅くメモリも潤沢ではなかったが為に
インタプリタ系言語が敬遠されたってだけだと思う
PASCALもpコードの奴はトロいしw Cの設計思想はコンパイラ開発者に楽させるためだから、Cはあほ言語なんだよ。
プログラマに楽させるためのJavaとは真逆の設計思想。 Cはあほ言語なんだよ、だってさ。あの人いつも極論言ってカッコイイって思ってるのかな。クスクス。 なに使ってもダメな人はダメ
アホなのは言語じゃなくて
その言語の思想を理解できずに
「あほ」って言っちゃう方
所詮、道具なんだから気に入らなきゃ
スルーして別の道具を選択するなり、
自分で道具から作りゃいいのに… >>718
>>719
反省しとります
ヘッダーに記述するのやめておきますm(_ _)m >>730
自分でコンパイラ作るの?
しかもアセンブラで? >>732
ツールってのはそうやって出来てきたんだよ
既存のツールにどうしても馴染めなきゃ、
諦めるか、自分でツールを作るしかないだろうが 今からC言語を学習する人は可哀想だね。
大抵の場合、組込みでしか役に立たないし…、しかも給与高く無いという。
まあ、趣味で使うなら作法とかそんなのは気にせずとりあえず動けば良いと思います。 食うために言語をマスターするという発想しか浮かばない境遇そのものが可哀相 C使ってても給料高い人はいくらでもいるけどな。
別に組み込み以外でも、ドライバ開発だったり、ライブラリの高速化とかで需要はあるだろう。
ドライバ開発とか、毎回とんでもない金がかかる。。。
自分でやれればいいんだけど、あれは無理。 何か一つの言語を深くマスターできていれば
他の言語もすぐにマスター出来る
逆も真で、ダメな奴はどんな言語を選んでも
ものに出来ない C言語は習得が難しい割には、一般的には収入低いのは確か。
簡単な組み込みが多いからかな?
OS周辺や、ドライバ開発となると、C言語出来るというより、単純に能力が高くないと無理なので、
収入高そうですね。
C言語出来るというだけでは、コピペできるか、ある程度スクラッチできるか、
ライブラリ作れるか、ドライバ作れるか、OS作れるか、言語そのもの作れるか、
と範囲が広すぎて、能力を把握できませんね。 「プログラミング言語別年収ランキング 2018」を見ると
Cプログラマは最下位(10位)で可哀想にプログラマ業界のワーキングプアだ
https://tech-camp.in/note/careerchange/49077/
俺はMCUに関してはフルアセンブラ派なので競争相手が全く不在で
こんな言語を超越して稼ぎまくっているから関係無いけどw >>744
クイックソートの例を見てみたけどCより遥かにスッキリ書けるね
AVR用のコンパイラとデバッガは存在するの? Haskll てH言語?
「頻繁に IO を行うプログラム: IO などの不純な行為は Haskell は苦手。」
http://www.shido.info/hs/haskell1.html 自分は組込み屋ではないですし、Cは1年に1回程度チラッと仕様確認で見る程度ですね。あとは趣味のAVRで利用する程度です。
ただ、IT土方で薄給なのは事実ですが…。
ただ、どうせやるなら趣味でも仕事でも新しい方が“何となく“良い気がしませんか?(錯覚かも知れませんが)
まあ、C以前の低級言語は、コンピュータの動作がどうなってるか学習も出来るので、やって損は無いとも思います。でも、やっぱり今更感が強いですね。 言語よりも、成果物だもんなぁ・・・・
自分が成果物を出しやすい言語を使えばそれでいいわけで。
もちろん、職場とか取引先で指定もあるけど、ライブラリにして投げ渡すという手もあるし。 昔はみんなコツコツ薪を集めてお風呂を沸かしてたのに
最近の若い奴はボタン一つで風呂沸かしやがって ゆとり元年のガキが2010年入社だったが
最近のは更にゆとり教育期間が長くてもうえげつない動物みたいな奴ばっかだな >>751
ゆとりだけが原因じゃないんだぜ。
採用活動の制約のせいで経団連加入の企業は、
それ以外の企業が採った後の残りかすしか採用できてない現状。 >>751
それはご愁傷様。
こちらの観測範囲だと若い子ほど優秀な印象。
内向的ゆえかコミュニケーション能力高いし。
並みの子が来たがらない環境なんじゃない。
最近はそう言う情報も流れてるし。 最近のゆとりは魚が切り身で泳いでると思ってるとかどうたらこうたら 同じ処理の繰り返しって積極的に関数化した方がいい?
プログラムメモリ的にも関数化した方がコンパクトになるのかな? 関数コールする度にスタックを食い潰して行くからなぁ
ATtinyとかはSRAMがすくないので、極力関数化せずに、
マクロを多用している >>756
基本は、関数だけど。
スタック消費を避けたいときと、処理速度を上げたいときは、マクロも検討します。
ただ、デバッグが面倒になるときと、マクロの副作用もあるので慎重に。 とりあえず関数で書いて完成したらROMの許す限り展開するだけだな俺は メモリにも処理速度にも問題が無いならそんな余計なことはしないな俺は >>761
コンパイラの吐いたコード見て、思わずマクロにすることはありますね。
パラメタの数だけ、スタック退避されてビビル。
コンパイラの最適化によるけど、参照だけなら const つけるとか、
あえて、パラメタ変数をグローバルで宣言するとかもあるけど
メモリ許せば、マクロかな〜
ケースバイケースで、指示が無い限りは、センスに任せるっていったところか。 スタック無しでもそこそこのパラメータ渡せるのに、
スタックにまでパラメータ積む様なコードって汚そうだなぁ。
ポインタ渡しとかにしときなよ。 >>763
avrgccに限らずって話ですよ。
コンパイラの最適化もあるし、
ポインタ渡しにしたら、変数アクセスごとに、インデクスレジスタを
更新しますからね、当たり前の話ですけど。
そのオーバーヘッドとコード領域の増加を避けたいこともあるのです。 AVRライターに純正のAVRISPMK2ってのがあるけど、これって何か特別優れた点があるの?
純正だから安心的な話じゃなくて機能的に。
と、言うのも中華な激安AVR(と比べると失礼かもしれないが)とくらべると明らかに基板の密集度が違う。
ほかの多くは電源供給できるが、この製品はそれもできない。
何か優れた点があるのかなのと気になって・・・ アトメル純正はどれも電源供給はできない。
『純正である』信用以外のメリットはこれと言って無いと言っていい。
しかも本家ISPmk2はとっくの昔に販売終了していて、あっても店頭の売れ残りだけ。
最新のデバッグインタ−フェースであるUPDIにも対応していない。 >>768
世の中にあふれるどのライターよりも複雑なんでなんかすごいのかと思ってたけどそんなことはなかったんですね。
つか、販売終了してたとは知らなかったです。
ポチる前に聞いておいてよかった。
他の物色します。これ結構いいお値段するんで・・・
回答どもでした。 ライターでしかないISPmk2買う勇気があるなら、
デバッグもできるAtmel ICE買う方を勧めますよ。 attiny202/402/212/412の4種類あるね。DIPは無いけど。 mega808なんて出すのか。
120円くらいと予想。 USIはI2Cで使ってるので
ソフトだと速度出ないし tiny3216が便利すぎてまとめ買いしたこればっか使っとるわ 速度出すなら水晶欲しいな…?
VCC!GND!XTAL1!XTAL2!SDA!SCL!TXD!RXD!
リセット殺しても他になんも付かねぇ!!
どうでもいいけど8ピンのDIPかわいいよね >>776
3216が出る前に1616をまとめ買いしてめっちゃ使ってるw
ICE使っても1ピン喰われるだけだし、デバッグは安定してるし、いい子だよ。
mega3208もお気に入り。 tiniy0/1シリーズなら内部20MHz有るんだから水晶要らないっしょ。
クロックの出荷時誤差書き込んでくれてるし、オートボーレート機能有るし。
てかそもそも水晶付けらんないし・・・ 代表特性だと全動作温度範囲で0.5%くらいに収まってるから大丈夫なんじゃない?
クロックをオシロで見ながらドライヤー当てて見たけど全然動かん。 最近のは水晶付けられないんで音程狂って使えないんだよなー。
外付け発振器だと高くつくし >>776
おすすめのライター教えて
ATtiny416-xnanoの半分使っても書けそうだけど… >>782
「デバッガ」だよ。Atmel ICE↓
http://akizukidenshi.com/catalog/g/gM-08285/
使ってみないと良さは伝わらんと思うけど、
一度使うとこれ無しにデバッグする気になれないと思うよ。 あ、最近のデバイスならPICKit4でもデバッグできるんだっけ↓
http://akizukidenshi.com/catalog/g/gM-13337/
電源も供給できるし、誰か人柱になってくれw >>781
最初の頃UARTが全然届かなくて水晶にしたら解決して以来、
基本内蔵は使ってないんだけど、
そこら辺どう? >>787
屋内使用限定で通信エラーが重要じゃない売り物でそこそこの数出てるけど、文字化けの報告は一度もない。
一応20台くらい-20〜50度の環境試験かけたけど、文字化けは1台も無かった。
社内用のちょっとした治具でもUARTは当たり前のように使うけど、xmegaや今のtinyに水晶を積んだことは無いな。
もちろんトラブル無し。
tiny2313やmega328はダメダメだったなあ。 経年劣化は知らんよ。
言い訳のできない産業用途なら俺でも水晶発振器積む。
用途とコスト次第ってことよね。 Atmel STARTじゃtiny3216なんかのボーレート補正コード吐いてくれないんだよな。
水晶付けられなくしたんならその辺ちゃんとしろよって思う。
プログラムで補正したボーレートレジスタ設定値を計算させたらコード量が膨大になったよ。
inline関数にして可能な限りプリプロセッサ任せにしたら激減したけど。 ここ何日か、tiny2313+内蔵OSC8MHz+19.2Kボーで
UARTをデバッグ用に使っているけど、文字化けは経験していない。
ただし仕事(金を貰う)の仕様として使うUARTなら水晶を使う。 室内じゃたいした温度変化ないからそんなもんよ。
ドライヤー当ててみな。 19200じゃどうでもええやろ
250000とか115200のハナシ クロック精度の話してんだからボーレート関係ないな。
精度が悪けりゃ300bpsであろうとも化けるさ。 >>788
使い始めてダメだったの丁度その二つだ。
xmega系使うときあったら内蔵試そうかな。
むしろどんな仕事なのかが気になった。
XMEGA32って安いのね 同じQFP32ピンならmega3208はもっと安いよ。
こいつも内部クロックが最近のタイプの隠れxmega系列。 厳密にはコアや命令セット上の分類だよ。
DFLLなんて周辺機能の一部でしかないし。
xmegaより後に出たtiny0,tiny1,mega0シリーズはgccでの分類上もxmega。
まあ製品名にちゃんと「x」がついてるものより機能低下してるのは確かだけどね。
DMA無くなったのは痛いしタイマーの機能もしょぼい。
しかし安い! そこじゃなくて、>>800の、mega3208の内部クロックがxmega系、って所。
正直なところ、mega0シリーズはクロックだめだめで、
音系のもの作る私に取ってはちーとも使いモノにならない。 外部クロック使えばいいのに
今時MEMS発振器使えば安上がり >>803
UARTが使えるかどうかの流れからいきなり音系基準に変えられてもw
mega0系はクロックの調整幅が荒いからね。
シグネチャのOSC20ERR5Vとか使ってタイマー側で校正してる?
音関係なら0.5%のズレでもきついのかな?
DFLLも内蔵32Kでの補償なら精度は似たようなものだと感じたけど。 音楽系なら0.5%の誤差はたぶん許されないでしょうね。「440Hzが438Hzに聞こえる場合があります」と言われてOKって言う人少なそう。
事務用のカセットレコーダーだとパーセントオーダーの誤差は許容されていたはずだけど。
UARTなら、相手も同じように誤差があるとしても2%ぐらいは大丈夫では。 >>806
音楽系では、精度が高くても、ジッタで周波数が特徴的にずれるのはNGですね。
水晶にしても、ノウハウがないかぎり
精度の保証された、外部発信器かなーー と思ってるけど、どうなんでしょ。 水晶発振器を外部トリガに渡して内蔵RCでカウントさせると周期的にうねってるのが判る >>807
精度、正確度あたりの言葉を狭義、広義で使う人とで混乱しそう。
あと、機器の物語やココロで音楽を聴く人と、まあこれで普通は十分だなという立場で聴く人とでも違ってきそう。
私は後者。水晶だったら、普通にそれで組んであったら、もうそれで十分すぎるほど十分だと思う方です。 >>809
普段は、効果音、程度なので、レゾネータで十分です。
楽器と、云ったとたん難しくなるでしょうね。
水晶は、RTC作ろうと思って、32768の水晶使ってみたら、
結構時間精度が出せなくて、キャパシタの選択等、簡単な話ではないな〜と思った次第です。 RTCはぶら下げるコンデンサでめちゃ変わりますね。
特別32.768kHzの水晶だから変化するのではなくて、RTCが要求する精度が高いわけですけど。
高精度なRTCが欲しかったらTCXO入りRTCに逃げています。機会があれば、SiTIMEのMEMS TCXOも試してみたい。 マイコン内蔵のRTCに精度求めたらつらかった経験あるわ。
専用ICのPCF2129に落ち着いてから変える気無いなあ。 誰もが頭が良くなる、プログラムが書けるようになる方法が発見される 50545
https://you-can-program.hatenablog.jp うちじゅうどこでもWi-Fiが拾えてESP8266から時刻サーバへアクセスできるから、
RTCモジュールなんかみんなお蔵入りしてるわ。 フィールドに出るとネットにつなぐだけで一苦労だからなぁ。。。 xmegaのが酷かったのは見た。
tiny1616が有るから今からオシロつないでみるわ。 オシロが500Ms/sっていう中華激安品なので参考程度に。
分解能低くて分周しないと計測できません・・・・
tiny1616のクロック出力(20MHzの48分周)をPersistモードで観察したところ、
1クロックの振れ幅が10nSくらいでした。中心値から0.2%強ってところ。
xmega32E5も有ったのでついでに確認。
内部32kとのDFLL有効、32MHzの64分周で似たような波形でした。
ちなみにtiny1616のクロック周波数は19.79MHzで約-1.05%
SIGROW.OSC20ERR5Vで補正したボーレートは-0.3%でした。 >>811
>>812
市販品の1000円くらいの液晶時計が、お馴染みの水晶でそこそこの精度なんで、
簡単だろうと思ったら大間違いでしたね。
大量生産品(手間かけて精度を追い込む)か、目安程度(精度悪くてもいい)のRTCで無いかぎり、
マイコン内蔵のRTC使う理由が無いなぁ という判断してます。
専用ICが楽チンでいいですよね。 >>820
AVRスレですが、AVRの内蔵RTCは使ったことがありません。すみません。
>>811でも書きましたが、、精度の高い水晶を選んだところで、コンデンサを適切に調整しなければ、水晶の精度を殺してしまいます。
計算で目途をつけておいて、発振周波数を確認しながら1〜2pF単位でコンデンサを交換して調整をして、詰め切れないぶんはRTCの補正機能で調整します。
ここまでは、割と手間じゃありません。厄介なのは、温度変化に対してどこまで対応するの?ってことじゃないですかね。 最近のマイコンだと、温度補正付きRTC内蔵のものってあるのかな? 専用ICがあるものは、専用ICに任せた方が上手くいくのは寂しい限りだ・・・
実務的には楽なので、大変結構なんだが >>821
お仕事的には、専用IC使うとか、最新のMCU使えとか、別のMCUなり、合理的な
選択すればいいんですけど、お仕事を解決するためのスレではないので、
一応 AVR しばりで、いろいろ思いを馳せたり、
手と頭を動かすのは楽しいです。
ところで、RTCのテストって、やはり高精度の測定器が必要なのかしら?
1日に数秒ずれるとか、そういう検証は、つらいです。 >>824
仕事といっても、量産品だとコストがやかましく言われる場合もありますし、CPU内蔵のもので実装することがあるような。
測定ですが、以前の勤務先には基準クロックがあって数秒ぐらいで誤差がわかりました。
自宅でやるぶんには、RTCに1Hzなり10Hzを出させて、それでゲーティングして高精度TCXOのクロックをカウントしてます。
そのカウンタでGPSの1Hzを見ておいたらTCXOの誤差もわかるし。それを使えば、数秒ぐらいで数ppmぐらい(月差10秒ぐらい)までわかります。
RTCが温度補正機能を持たないなら、これ以上追い込んでもあまり意味がないので。 >>825
数ppm で月差10秒って冷静に計算すると、当たり前ですけど、大変ですね。
感覚的に50ppm以上の精度だと温度係数が効いてくるし、
MCUの発振回路のバラつきもあるので、どの程度の精度を見込めるかって
重要ですね。市販の時計って優秀だな〜
炊飯器の時刻タイマーや、お風呂の時計は精度悪いけど、まぁそういう仕様なんですね。 俺がやってるAVRでのRTC校正方法は、
GPSの1PPSを基準にRTCクロックの32768Hzを61秒分カウントする。
カウンターを15ビット以下でフィルタして符号付きとみなせば
約0.5ppm単位の誤差がそのまま見れるよ。
元々誤差が多くないRTCなら8ビットカウンタでも十分。
コンセントから電源とる時計は精度最強なんですけどねw。 61秒で 0x1E8000 カウントで、ほぼ200万カウントだから0.5ppm単位か…。
なるほど。すごい。 >>828 >コンセントから電源とる時計は精度最強
時刻情報が必要な、AC100V電源のある装置で
AC100V → 使わなくなったトランス式ACアダプタから取り外したトランス
→ CRとツェナーダイオードとフォトカプラ
→ CRとシュミットトリガ入力インバータ → CPUのカウンタ
で50Hzパルスを取り出して時計を駆動していますが、
半年後でも1、2秒程度の累積誤差です。
もっと減らすにはどうしたら良いか思案中です。 >もっと減らすにはどうしたら良いか思案中です。
ノイズを拾うなどして誤カウントしているのでもなければ、電力会社依存なんでしょうね。
電力会社はどれぐらいの精度を保証しているのでしたっけ。ちょっと探しただけだと見つかりませんでした。 それって10年でも20年でもその程度の範囲じゃないの?
短期的変動でそのくらいは揺れる。 1日あたり4,320,000回になるようになっていて、細かい周波数は+-0.3くらいだっけか
調べるとこうあった
日本の電力会社が目標としている周波数偏差
北海道 50±0.3Hz以内、時差 3秒以内
中西地域 60±0.2Hz以内、(中部電力 時差±10秒以内、滞在率95%以上 60±0.1Hz)
東地域 50±0.2Hz以内、(東京電力 時差±15秒以内)
島嶼部 沖縄電力 60±0.3Hz以内、時差±8秒以内 時計の調整を手動でやっていたころはオシロで位相を見ていたな
プローブ付けられないから電源端子から発振周波数拾ってた
クオーツの発振音なんてマイクで拾えるもんなんだろうか いつのまにかtiny10が再び安くなってる
割と便利なんだよな >>837
32.768kHzの水晶振動子をマイク代わりに時計に接触させると拾えるよ PICkit4で遊んでたらこんな商品があるのを今知った。
http://akizukidenshi.com/catalog/g/gM-13854/
デバッガが1740円かよ・・・・ハヤクユッテヨ これPICKITとどう違うの?
PICKITは3でAVRISPmkUも手元にあるけど、あると便利? >>842
AVRのインサーキットデバッグができる。
ISPmkIIはただのライターだし、PICkit3はAVRに対応していない。
PICkit4のサブセットらしいがAtmel Studioで使えるって情報が無いな。
PICkit4は使えるんだから対応待ちだろうか。
>>843
だってPICkit4は5700円もしやがったんだぜ。
買ったばかりなのに壁に投げつけたくなった・・・ >>844
なるほどそーゆーことか
確かにAtmel Studioでしかデバッグしてなかったわ
今度秋月よったら買って、俺も使ってみるよ
情報さんきゅー >>847
不安になるほど熱くなるんでヒートシンク貼って使ってる >>848
PICKIT4もUSBつないでいるだけで結構熱い。中の基板はもっと熱いはず。 PICkit4を昨日からUSB繋ぎっぱなしにしてるけど暖かくもなんとも無い。
電源供給設定の関係か? >>850
確かに、書き込み時に、電源供給設定はしてます。 mega4809にDIP40ピンを追加だってさ。
DIP好きの人よかったね。 st-link v2とstm32をつなげて
STM32 ST-LINK Utility立ち上げて接続したら
if you're trying to connect to an stm32w1xx device please
select normal or hotplug mode frome target settimgs menu
if you're trying to connect to a low freqency application
please select lower swd freqency mode from
target settings menu
エラーが出て接続が出来ません。
//www.youtube.com/watch?v=KgR3uM21y7o&t=43s
この動画にある物と同じ物使ってます。 とりあえずメッセージを理解してその通りにやってみたら? >>854
さっぱりわからない。
一応翻訳した通りにはやったけど
モードもアンダーリセットに切り替えると今度はホットにしろとメッセージが出て
ホットにしたらアンダーにしろと何が何だかわからない。 >>857
落ち着け!顔を真っ赤にして手を震わせながら投稿しているよね。
薬飲んだほうがいいよー。 ID:REF49+Aaさん。なぜ AVRのスレで、STM32のことを相談なさっているのですか? マイコンの総合スレがあったら
親切丁寧にレスして引きずりこめるのになぁ…w adciがしたい場合ってbrcsで分岐してやるしかない?
sbciじゃ無理だよね
他のレジスタは使わない前提 ごめんbrccだったまぁ分岐作るってこと
16bitの即値加算が一手間いるんやね C言語みたいにr1をゼロレジスタとして固定するとかどう?
アセンブラなら別にr1である必要もないけど。 >>869
ありがとう
実はもともとCで書いてるんだけど、割り込みをISR_NAKEDつけてアセンブラで書いてるんだ
割り込み書いてるからレジスタ使うと漏れなく4クロックが追加されてしまうんで
素直にbrccで分岐させるよ UARTとRS485を使いたくて、
UART2チャンネルの5v avrを探してるんですが、
お手頃なのはやはりAtmega64でしょうか?
ピン全然使わないので、atmega328サイズで無いかなと思いまして。 tiny441/841なら14ピンでUARTが2個あるよ。 新しくtiny2シリーズが出るみたいね。これもtinyなのに2UART有る。
AVRやめる気は全然無いんだねえ。 PICへお移りくださいと言ってサポートしたり世話焼くより
そのままAVR食わしとく方が稼げる
それくらいのことは馬鹿でも判断できる >>878
俺もMicrochipの考えは>>877の通りだと思うが、
もっと説得力のある理論があるならぜひ聞きたい。 Atmel買収したのは32bitの為じゃないかな
MIPS-PIC32のラインナップ眺めると、他のARM製品に比べて
性能や消費電力に見劣りする
HarmonyのAtmel製品への力の入り具合といい
32bit市場に食い込みたいんだろ
STM32なんかのライブラリはバグで結構不満が多い人いるからね
まぁ、Harmonyも前バージョンはバグまるけなんだけどな
Atmelの技術力借りて、まともなライブラリを充実させて
顧客を取り込む目論見じゃないかな
8bitはついでだろ、
ついでだから、何もしないと思うな
ただ、MIPS-PIC32が終焉したらAVRもヤバイかもね 32bit全部欲しかった訳ではなく必要なのはSAMシリーズだけな。 出た出た、「秋月の扱いが少ない=パッとしない」視野狭窄な人 なにが欲しかったのかを憶測で語るのって、口調を見てると、読んでる誰かが不快に思うことを期待してることが多いよな。
語っている人の人格が透けて見える。 ?
最近、や〜っとSAM E70基板作ってみての感想ではあるが
ARMスレとかでも、sam系は正直、あんまり話題ならないし… >>875
こんなのあるんですね。見てみます。
ありがとうございます。
こんな石が欲しい、って時どうやって探してますか?
RSで絞り込みしたりするものの、探しにくい。 >>887
メーカーのパラメトリックサーチですぐ見つかりますよ。
UARTの数が2個以上で絞ってピン数でソート。
RSは品揃えが悪いから、今だとDigikeyで探してマルツが一番じゃないですかね。
>>876
サーチ結果をよく見るとtiny1624なんて新種がありましたね。見落としてました。
私もUARTを2個使うことがちょいちょいあるのでこれは楽しみです。 内蔵コンパレーターを出力ポートに紐付けたときの伝搬遅延時間ってデータシートに載ってる?
信号が逆転してから1クロックかな? ごめん俺の勘違いだったmegaシリーズだとピンへのACOUTはないんやね
いつも使ってるtiny1シリーズだとACOUTがあってデータシートにも伝播遅延時間が載ってるからmegaにもあるのかと思ってた
mega0、mega1とかの次世代品じゃないとそもそもコンパレータ出力をピンに出す機能が無かったわ…
というかチップすら書いてなかったわ申し訳ない、328pのお話でした
さすがに遷移割込みで毎回ポート叩くわけにもいかないしlm393でも付けるか
お騒がせしました >>888
>パラメトリックサーチ
ttps://www.microchip.com/maps/Microcontroller.aspx
であってます?
検索してもサイト内探しても見つからず、ぐぐって出てきたpdfからようやく。
ttp://ww1.microchip.com/downloads/jp/DeviceDoc/70294B_JP.pdf
比較もできて便利ですね >>891
簡単にたどり着くルートが無いなぁ。↓
https://www.microchip.com/paramChartSearch/chart.aspx?branchID=30047
"Show ALL Product" を押さないと人気の無いデバイスが出てこないので注意。
MAPSは細かすぎて・・・ AVR選択の話しでなくて申し訳無いが、
少し前にPICスレで話題になった、<タクトスイッチによる模型自動車のLED点灯制御>、
自分だったらどのように作るだろうかと興味を持ち、tiny2313でやってみた。
ヒマで、かつ、その気になった時に作業したので、
(途中、プログラミングのメドが付いたら、興味が薄れてしまった)
かなり日数が掛かったけど、正味の作業時間は15〜20H程度だと思う。
少し複雑なLチカ、というだけでは面白くないので、通信による制御とゲームも組み込んだ。
機能の説明の末尾にHEXファイルを付加しておいたので、興味を持たれた方はどうぞ。
https://pastebin.com/7vNyprnZ
デバッグに使用したスイッチとLEDの治具用ボード
https://i.imgur.com/DysWn5H.jpg
昔、絶縁24点DOボード、DIボードの動作確認用に作ったものを流用した。
ピアノ型ディップスイッチをタクトスイッチのように操作するのは
予想した通り難しくて腱鞘炎になりそうだった・・・。
(レスの流れを切って長文、のお詫びに、笑って貰える自信はあまり無いけど、
一応、オチを付けときました) >>893
>簡単にたどり着くルートが無いなぁ。
>MAPSは細かすぎて・・・
急がば回れ。
https://www.microchip.com/maps/main.aspx
> MCUs & MPUs
CPU Type > 8-bit AVR
Packages > Pin Count > 14, 28
Communication > UART > 2, ALL
確実にたどり着けるよ。 atmelICEでdebugWire使うとき、SPI用に用意したマイコン側のコネクタそのまま使って大丈夫ですか?
マニュアルにはミニバラ線使えと書いてありますが、ピンアサイン的に行けそうかなと。 ISPコネクタ使わないとそもそもデバッグワイヤに切り替えられないよ。 attiny1627シリーズはいつ頃に発売されるだろう?
そろそろ在庫がなくなってきて、
せっかくなら12bitADCのあるtinyAVR 2シリーズを在庫にしたいのだが 割り込みから戻るときにretiってやるけどこれをretにしたら
割り込み禁止したまま戻れる?
rcall/callじゃなくて割り込みのrjmpからでもretしていいもん?retiでもどってcliじゃないとだめ? 割り込み禁止からさらにcliしてどうする。(やる場合もあるけどさ・・・)
動きがわかっててやるんなら好きにすればいいと思うよ。
割り込み禁止のままフォアグランドに戻れる。スタック戻し忘れるなよ。
フォアグランドの処理が常に割り込み発生していないか気にかけないといけないし、
割り込みコントローラを搭載しているタイプのデバイスではseiだけでは動かんぞ。 >>900
割り込み禁止にしたまま、割り込みから復帰したい場合、
割り込みのからのリターンをretにするだけでOK?
って話しだろうが
AVRではやったことないけど、時々見かける
テクニックだわな ありがとうAtmelStudioのシミュレータでやってみたら
sregのiフラグは0のままメインに戻れたわ >>900
質問理解できてないのに的はずれなこと書いてたら恥ずかしいぞ 【超悪質!盗聴盗撮・つきまとい嫌がらせ犯罪者の実名と住所を公開】
@高添・沼田(東京都葛飾区青と6−26−6)
※盗聴盗撮・嫌がらせつきまとい犯罪者のリーダー的存在/犯罪組織の一員で様々な犯罪行為に手を染めている
老義父は息子の嫁の痴態をオカズに自慰行為をし毎晩狂ったように射精をしている/息子の嫁をいつもいやらしい目で見ているエロ老義父なのであった
A井口・千明(東京都葛飾区青と6−23−16)
※犯罪首謀者高添・沼田の子分/いつも逆らえずに言いなりになっている金魚のフン/親子孫一族そろって低能
低学歴で醜いほどの学歴コンプレックスの塊/超変態で食糞愛好家である/醜悪で不気味な顔つきが特徴的である
B宇野壽倫(東京都葛飾区青と6−23−21ハイツニュー青戸202)
※色黒で醜く太っている醜悪黒豚宇野壽倫/低学歴で人間性が醜いだけでなく今後の人生でもう二度と女とセックスをすることができないほど容姿が醜悪である
異臭を流し込んでくるなどの嫌がらせを何度も繰り返ししつこく行ってくる嫌がらせ犯罪者である
C色川高志(東京都葛飾区青と6−23−21ハイツニュー青戸103)
※色川高志はyoutubeの視聴回数を勝手に短時間に何百何千時には何万回と増やしたり高評価・低評価の数字を一人でいくつも増やしたり減らしたりなどの
youtubeの正常な運営を脅かし信頼性を損なわせるような犯罪的業務妨害行為を行っています
※色川高志は現在、生活保護を不正に受給している犯罪者です/どんどん警察や役所に通報・密告してやってください
【通報先】
◎葛飾区福祉事務所(西生活課)
〒124−8555
東京都葛飾区立石5−13−1
рO3−3695−1111
D清水(東京都葛飾区青と6−23−19)
※低学歴脱糞老女:清水婆婆 ☆☆低学歴脱糞老女・清水婆婆は高学歴家系を一方的に憎悪している☆☆
清水婆婆はコンプレックスの塊でとにかく底意地が悪い/醜悪な形相で嫌がらせを楽しんでいるまさに悪魔のような老婆である
E高橋(東京都葛飾区青と6−23−23)
※高橋母は夫婦の夜の営み亀甲縛り食い込み緊縛プレイの最中に高橋親父にどさくさに紛れて首を絞められて殺されそうになったことがある
F長木義明(東京都葛飾区青と6−23−20) https://i.imgur.com/r8DFArK.jpg
気が付けばライター作ってるのは何故なんだろうな
hidaspxは時代遅れなのかな tuny1626/3216のTWIポートって入れ替え可能なの?
最新データシートのポート説明だとデフォルトが
PB0/PB1でオルタナティブがPA1/PA2って明記
してるんだけど、PORTMUX.CTRLBからTWIフラグが
消されている。
なんかトラブルがあったのかな? tiny1616の両ポートでLCD、RTC、EEPを動かしてるけど何ら問題無いけどな。
Microchipになってからデータシートの書き間違いが増えた気がするなあ。
割り込みフラグなんかも自動クリアしないものを自動クリアしますと書いてあったりするし。 これからはデータシートが正しくてチップ側のエラッタなわけだな。 そのうちにハードのエラッタも増えてきて
名実共にマイクロチップテクノロジ風CPUになるわけだ
買収されて良かったな 自称SEが書いた穴だらけの仕様を渡されて、
実装したPGにすべての責任を負わされる日本のIT業界のようだな。 >>912
でもそれって実装中に仕様の穴が判明した時点でSE→営業→顧客へと報連相しないからでしょ
PGの意見が届かないブラック体質の会社なんだよ
それかPG本人の怠慢か 連絡しても「んなこといっても、ちゃんと動くもの納品してよ、今回予算これしかないし、今度穴埋めするからさ」と 客→営業→SEになる日常 > それかPG本人の怠慢か
このとおり。責任を負わされるのは末端。 >>915
実際案件が燃える理由は99%PGがグズだからだし >>913
個人の怠慢ごときがトラブルにつながるなら、
体制や管理ができてないよな >>916 ←やはりほんとのようだ。自分の無能はすべて下請けのせい。 仕様かプログラマのどっちかがちゃんとしてればなんとかなるけど、
大抵、どちらにも問題がある。
仕様が完璧なら、その通りに実装するだけでいい(抜けがなく、機能ブロックの切り分けが上手い)から、
プログラマはコーディングするだけでいい。
プログラマが完璧なら、多少仕様に抜けがあっても、うまくやってくれる。
外注の時に、仕様を書くことがあるけど、完璧に書くなんてできないから、毎回プログラマさんに迷惑かけてるorz
そして、内製のときは、先輩の仕様に抜けが多すぎて(落書き渡して丸投げ&出来上がりに文句タラタラ)、大抵ロクなことにならない。 下請けでプログラム組んだことがあるが、仕様書が間違ってても
仕様書どおりに作るのが鉄則・・・といわれ続けてきた
今までどれだけのバグを世の中に出してきたのだろうか???? >>919
両方が完璧なんてことを前提にすることはできないからこそ、テストやデバッグの期間が設けられているはず。
でも、トップや営業の「おしりが決まってるから」で、すべてがおざなりになることがよくある。
なにかにつけ「できない理由を探すのではなくて、できる方法を探せ」なんて話はどこの現場でも上の方から出てくる。
これって「お客様は神様」と同じで、仕事を請ける立場の本人が自分への戒律として運用するべき精神論なんだけど、
守るべき美徳みたいに下の立場の人に言って、反論を防ぐツールとして使われる。
そもそもそれを言ってる人が、下の人たちがうまく仕事ができる方法を探せていないことが多いのにね。 >だから日本のソフトって品質悪いのか
海外のどのソフトと日本のどのソフトを比較したの?
どれぐらいのサンプル数でそう考えたの? >>923
え?日本のソフト開発の質が高いと思ってるの?
エクセル大国なのに? >>924
>え?日本のソフト開発の質が高いと思ってるの?
>>923は、何と比較して品質が「悪い」のですか? って聞いてるのですよ。
高いという主張はしていないつもりですよ。
ところで、エクセルをよく使う国はソフト開発の質が高くなくなる根拠ってあるんですか? 過剰なexcel依存はオフィスワーカー全体の問題だよ
ソフト開発に限らない >仕様書が間違ってても仕様書どおりに作るのが鉄則
仕様書に矛盾はないのなら仕様書どおりにつくるのが第一なのは間違いない ただの下請けなら
システムがまともに動かないと責任を追わなければならないのなら、おのずから異なるが >>920
元請けに問い合わせするぐらい時間はあるだろう。
問い合わせして記録を取れば何かあっても
私聞きましたよね、ですむよ。
まぁできないからそんなことになってるんだろうけどw
>>929
当時は6次下請けでとんでもなくデカいシステムだった
元請の指示はとにかく期限が優先という回答で
仕様書おりに作るのが当たり前だった
デバッグは専門部署がやっていたのでそこ任せだった
ある団体のZopeシステムだったかな〜〜〜〜〜 28pin DIPの328P後継チップを出してクレメンス SSOP+変換基板で我慢しとけ
ttps://avr.jp/user/DS/PDF/mega4808-28.pdf なら今のところ40ピンのmega4809しかないな。 atmelstudioってceleronでもメモリ積めばサクサク動きますか?
電子工作用のサブPCを組もうと思ってるけど構成に悩んでる
4スレッドあるpentiumぐらいにはしといがほうがいいのかな 底辺のノートPCでも何のストレスも無く動くよ。
重いのは起動だけだ。 プレスコCeleronで動かしてるけどヘーキヘーキ ただ起動時は耐え難く重いからスタートアップに入れて
起動したままにして置くが良かろう。 >>939
オレ様のAtomネットブック舐めんなよ。 IDEなんて必要ない
エディタとavrgccとライタなら糞atomでも快適 そう言えば
秋月mega128に、普通のとdatecode1205指定の2種あるけど
何か問題あったんだっけか?
ググるとdatecode0627がどうたらって出るけど AtmelStudioの話ししてるのになんでCUI老害がシュバってくんの? ぶっちゃけceleronは糞速い。avrに比べれば。 >>945
0525の事か?
古いリビジョンで製品作ってる固定客がまだあるんだろう。 >>947
main.cしかない人のことはほっとこうよ celeronでも大丈夫そうですね
起動が重いのは現PC(i7)でも同じなのであんまり関係ないのかな >>952さんへの悪口じゃないからね!たとえということで >>954
Void〜〜〜〜
なんていい響きだ〜〜〜〜 >>961
そうだったのか…登録だけしてデータ閲覧しまくってた奴らに悩んでたよねー
今考えると中華だったのかなぁ IDEですらインストール&設定が面倒くさくて積みマイコンを増やしてるのに、CMake快適だから!とか言われても発狂のトリガが発生するだけだな Wikiではないが独自のフォーラムがあって、学外の人も登録して使えた
初期の日本のAVR情報共有サイトとしては屈指の賑わいの良さだったよ
ChaN氏が製作したシリアルライタをベースにUSB HIDに改造したhidaspxというライタもメンテしてて
これがCUI書き込み可&安価で作れてそこそこ人気だった
今は千秋教授が定年退職されたのでそれに伴いページ消滅 >>965
HIDaspx懐かしいね
書き込み速度も速くて製造原価も安価で今でも優秀なライターだと思う >>965
解説ありがとう、みんなそこで情報共有して色々発展させてきたんだろうな。 hidaspxなぁ…ATtiny2313が100円だった頃に作ったわ
今ならArduinoMicro互換機(mega32u4)にファーム焼いてavrdudeで制御するavrispmk2クローンライターのが楽で安上がりだな 32u4単体の値段を秋月で見たら…高いなw
流通自体がほとんどない感じだ >>970
石単体を秋で買ってユニバーサル基板で作るんじゃなくて
aliとか尼で支那パチのArduino基板ごと買うと安い
USB micro-Bコネクタまでついた状態で数百円しない そろそろFTDIとかの…と言いだす輩が来るに232ペリカ (^^)/やっぱCH340Gだよな
Prolificのはwin7までしかドライバ無くてクソだった
10に無理やり当てたら不安定すぎて更にクソ pl2303の古いリビジョンもwin10で足切りされてたな Prolificのサイトにも載ってたけどPL2303はかなり模造品が出回ってるらしいからドライバーで対処したとか
PL2303、CH340G、CP2102、FT232RL(ほぼ価格順)ではやっぱりPL2303が一番安いから何も知らない人は買っちゃうんだろうな
ドライバがアレだから特定のPCでドライバ入れ替えて9600とか19200bpsくらいで使うなら使えないこともないけどね CP2102 もコピー品ばかり。
最近認識しなくなった。 いまだと、CP2102積んだUSB-シリアル基板
Aliで1個100円ぐらいで売られてるからなぁ >>978
せやな!
じゃあ70円ぐらいのCH340E基板にしとくわ!
CH340E USB to TTL Serial Converter, 5V/3.3V Alternative CH340G Module for pro mini
https://s.click.aliexpress.com/e/cS9hAt6C それなりに動く?コピー品作れるってすげーって思うわ
よほど自信がないとできない まあ一から作るのもあるかもしれないけど、どっかから検査ではねられたベアチップ入手して適当にモールドして…とかもあったりするのかも
なんせ人多いから何でもできるし何やってるかも全くつかめない 5、6年前だったか
FTDIがWindowsアップデートの中に偽造品潰しドライバ混ぜ込んだのにはドン引きした
あれ調達ルートに相当混じってたから偽物掴んだ会社かなり損害出ただろうに たいして損はしてないと思うな
Amazon 見たら、今現在ででも複数の店で売ってる
ヤワじゃないよ、逞しいヤツラだ。
↓↓みたいな注意書き附けてる処がそうだろう
・Windows 8には対応しません。
・そのために我々はFTDIケーブルまたFTDIフレンドをお勧めします。 >>985
いや、石仕入れて製品に実装した基板メーカーの話してんだが その基板メーカーとやらが、廃棄しなかったから今でもうってるんでしょ?
潤沢に 尼で売ってるようなパチ基板は
FTDIの潰しドライバが撤回された後で味をしめて再製造してる分だろ
尼で売ってる以外にも既に納品済みの特機とかは相当あるはずたが 先日家にある偽FDTIチップと疑われる機器は全部捨てたわ
機器っつったって高が知れるんだけれど
捨てたあと、どうしてあんなものに固執していたのだろうとなんだか不思議な気分になった SainSmartの大昔のUNOはホンモンだったわ
値段もそれなりにしたヤツ
しばらくして暴落してたんでもうちょっと待てばよかたかなとおもてたけど新規に買ったひとから偽物つかまされたってレビューがアマゾンに殺到していて逆に救われたのかと錯覚を覚えた
今でも使えてる いまならFTDIでなくても困ることはないと思うが〜〜〜〜〜 自分はCH340Gを使ってるけど速度も安定性も問題ないよ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 248日 20時間 5分 4秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。