AVRマイコン総合スレ Part41 at DENKI
[2ch|▼Menu]
[前50を表示]
700:774ワット発電中さん
19/02/27 01:56:25.10 3+9bHPDt.net
>>680
フラッシュは20年や
データシートの表紙みろや

701:774ワット発電中さん
19/02/27 02:16:59.98 zzvMYAu+.net
見た!
電源切った!
寝るー!

702:774ワット発電中さん
19/02/27 03:25:04.95 MVY/lNE/.net
ちょっとさっきくしゃみしたら
変換基盤に仮置きしていたATtiny10が全部消えたんだが?
こないだ家電のケンちゃんで書き込み用補助具買ったばかりなんだが?
秋月の10個入り全部消えたんだが?
朝の鼻くそに混ざっていそうなんだが?

703:774ワット発電中さん
19/02/27 08:13:50.66 94TjmYL5.net
小せいのはICでなくお前のケツの穴というオチかい?

704:774ワット発電中さん
19/02/27 19:35:10.51 adapApLE.net
>>673
缶のオペアンプを開けて中にATtiny85埋め込むか?

705:774ワット発電中さん
19/02/27 20:47:39.08 MVY/lNE/.net
>>684
バカヤロー鼻くそだって書いてあっだろ!
俺の繊細なケツからあんなもん出てきたらあっという間にパンツ血まみれ

706:774ワット発電中さん
19/02/27 21:42:41.17 T/B+R8oC.net
SSDなら耐久テストをしたサイトがあったな
東芝製が書き込み禁止にして保護するとか

707:774ワット発電中さん
19/02/27 21:58:05.37 adapApLE.net
>>687
その人福島の地震で死んだはず

708:774ワット発電中さん
19/02/27 22:46:46.58 6AVGd6dV.net
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
になるまで待ってみたりしたけど、



709: while( !(UCSR0A & _BV(TXC0)) || !(UCSR0A & _BV(UDRE0)) )  ; これも変わらなかった。最後の一文字までターミナルに無事送り届けられたタイミングを知るには どうしたらいいのかな?



710:774ワット発電中さん
19/02/27 23:05:56.16 RapFhyb5.net
>>689
AVRのプログラム経験あまり無いけどバッファが空に成った後に空ループ回しながら暫く待ってスリープは試してみた?

711:774ワット発電中さん
19/02/27 23:25:39.92 ytHC5ZXo.net
TXCフラグは割り込みを使用していなければ、
プログラムから動的にクリアされなければならない。
UDR0 = x;
の次に
UCSR0A |= _BV(TXC0);
っていれてみれば?

712:774ワット発電中さん
19/02/27 23:29:04.24 1y6F2gOX.net
>>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に勝手に変わるとかいう便利なものではないぞ???

713:774ワット発電中さん
19/02/27 23:35:55.82 0TOANvas.net
なぜ動かないんだ!MPUのバグか?
って時の99%は、データシートをちゃんと読んで
無かった自分のせい

714:774ワット発電中さん
19/02/27 23:40:07.26 MwsScFW1.net
どうでも良いけど、なぜ
loop_until_bit_is_clear();
使わないんだ?

715:774ワット発電中さん
19/02/27 23:59:49.64 6AVGd6dV.net
>>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に戻らないのね。
勉強になった、ありがとうノシ

716:774ワット発電中さん
19/02/28 06:31:20.36 UjtlN9fm.net
Aliで売ってる1000円以下のJTAGって使い物になる?

717:774ワット発電中さん
19/02/28 06:49:50.65 U+qVd/wO.net
>>695
for(int i=0;i<1000;i++);
って、最適化したら真っ先に消されるコードだろ?

718:774ワット発電中さん
19/02/28 07:12:05.26 7MTrS+a2.net
「馬鹿の考え休むに似たり」

719:774ワット発電中さん
19/02/28 07:46:58.49 Nn1mUl6z.net
>>697
intの前に「volatile」付ければ?
>>695
問題解決良かったね。
>>692
AVR初心者として参考になった。
ありがとう。
>>693
そう。焦れば焦るほどバグ、つまり自分のミスに気付かない。
俺はプログラミングは己れの煩悩を取り払う能力を養う最強の修行法だと解ったわ。

720:774ワット発電中さん
19/02/28 20:03:42.63 uVd7pv8a.net
デジタル時代の写経だなw

721:774ワット発電中さん
19/02/28 20:27:12.64 JyrSY46l.net
デバッガ使いまくってる軟弱ものでスマン

722:774ワット発電中さん
19/02/28 20:42:53.98 uv1Hvimb.net
>>695
送信後のウエイト処理で見ているフラグが違うと思います。
while ( !(UCSR0A & (1<<TXC0)) );
こうじゃないですか?

723:774ワット発電中さん
19/02/28 23:56:04.02 S1p7QpKp.net
>>702
すんません
凡ミスしてた
> while ( !(UCSR0A & (1<<TXC0)) );
そうです、それで正しいっ


724:キ



725:774ワット発電中さん
19/03/01 11:34:43.01 cT6i7a3v.net
>>694

726:774ワット発電中さん
19/03/01 14:30:22.06 RmtoqY4z.net
所詮マクロだし推奨するのは構わんが強制することでもないべ

727:774ワット発電中さん
19/03/08 10:26:54.69 zI2zNano.net
AVRマイコンはプログラムメモリの自己書き替えはブートローダー用の領域に書き込まれた
プログラムからしかできないんだな。アプリケーション用領域に書き込まれたプログラムからだと
書き替えのための処理が無視される。良く読めばデータシートにも書いてある。
PICマイコンからの類推で当然できるものだとおもってたから意外。

728:774ワット発電中さん
19/03/08 11:05:20.98 5UY1pC+P.net
デバイスによる。
ブートローダ領域の無いものはどこからでも実行できる。

729:774ワット発電中さん
19/03/12 23:35:27.82 /5m/NIze.net
割り込みに呼応する関数は一般的に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)に移動してやっただけなのになんでこんな警告が出るんだろう?

730:774ワット発電中さん
19/03/12 23:45:25.49 /5m/NIze.net
あと話は全く変わるんだけど今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%以下の値であることは確認済み。
オーバーフローしてるわけではない。
宣言した配列のサイズによってプログラムが異常動作するなんてことはありえるかね?

731:774ワット発電中さん
19/03/13 00:02:52.38 BChGBX8R.net
>>709
ビルドログに出てくるデータメモリの使用率はグローバル宣言した変数分のみ。RAMはファンクション内で宣言した変数にも使われるから足りなくなることはある。

732:774ワット発電中さん
19/03/13 01:28:28.30 JK0CeApG.net
スタックもじゃね?
グローバル変数+ローカル変数+スタック≦RAM
でなければならん
アセンブラで書いてないと取りうるスタックの最大量は読みにくい

733:774ワット発電中さん
19/03/13 06:30:52.15 qNBzP1Vx.net
>>708
Cの言語仕様上、そうなるんじゃね?

734:774ワット発電中さん
19/03/13 07:54:19.03 f8c4PDBy.net
>708
ぱっと見だけど、char xがグローバル変数なのに、グローバル変数として宣言できてないのでは?

735:774ワット発電中さん
19/03/13 08:23:57.94 WoGC53wT.net
オイラもそんな希ガス

736:774ワット発電中さん
19/03/13 08:25:30.24 WbI6GhOW.net
そもそもヘッダファイルに入れる意味あるのか?
忘れずにと言うが、main関数のあるファイルからしかincludeしないなら、そこに直書きするのと何が違うのか

737:774ワット発電中さん
19/03/13 08:38:58.32 3EPG0DWL.net
>>708
#include "uart.h" の前かuart.hの中にavr/interrupt.hが無いから。

738:774ワット発電中さん
19/03/13 23:42:56.28 RGwTm6P4.net
>>710
>>711
そういうことなのね
コンパイルしてメモリ使用量が100%未満だからといって安心しちゃいけないのか
>>713
volatile unsigned char x;
だけmain関数の真上のグローバル変数領域に移設してみたけど
エラーが出るようになっちゃった
>>716
一応"uart.h"の前でavr/interrupt.hは宣言してあったわ
ヘッダーファイルに割り込み処理を押し込もうとしたのはそもそもの間違いか
下手に楽しようとせずmain関数の上に書くようにするわ
ありがとう

739:774ワット発電中さん
19/03/14 00:20:00.08 QNl9+HES.net
>>717
ヘッダーに関数その物を書くのが作法違反っすよ

740:774ワット発電中さん
19/03/14 06:55:52.34 2HCCJtDa.net
>>717
volatile unsigned char x;
の前で uart.h をインクルードしているのでは?
uart.h の中で変数 x を使うコードが書かれていると、そんな変数知らないとコンパイラに叱られる
一見、すっきりした様に見えるけど、uart,h の中にプログラムコードを書くのは違うような気がする
ISR() を外に出したいのなら uart.c のような別の *.c ファイルに記述して、 必要な定義類を uart.h に記載するのが良いでしょう

741:774ワット発電中さん
19/03/14 11:50:44.14 rLeIhSLi.net
Cはあほ言語だからな。

742:774ワット発電中さん
19/03/14 13:50:37.87 LZnKV9qc.net
×あほ言語
○あほには使えない言語

743:774ワット発電中さん
19/03/14 14:22:23.10 ANpkEu8K.net
Cは、エンジニアの個性と能力が、目立つ言語。

744:774ワット発電中さん
19/03/14 14:30:39.02 +EIIS3sp.net
Cがアホ言語かどうかはともかく、
なんでこんなにMCU向けにCがはやるようになったんだろ?
FORTHなんか機械制御用として作られたユニークな言語だし、
小さなMCU向けにはVTLみたいなものでも十分だと思うけどな。
だれかアッと驚くようなD言語処理系でも作っておくれでないかえ。

745:774ワット発電中さん
19/03/14 14:47:55.22 +m943z4G.net
ラダー最強

746:774ワット発電中さん
19/03/14 16:42:21.46 UHNeTLui.net
>>723
いまさらテープドライブ?
まあMCUならいいのかもね。

747:774ワット発電中さん
19/03/14 16:59:54.20 8EXHrIv3.net
当時はさ
CPU速度が遅くメモリも潤沢ではなかったが為に
インタプリタ系言語が敬遠されたってだけだと思う
PASCALもpコードの奴はトロいしw

748:774ワット発電中さん
19/03/14 17:53:01.26 rLeIhSLi.net
Cの設計思想はコンパイラ開発者に楽させるためだから、Cはあほ言語なんだよ。
プログラマに楽させるためのJavaとは真逆の設計思想。

749:774ワット発電中さん
19/03/14 18:22:26.68 SrpVBwWG.net
Cはあほ言語なんだよ、だってさ。あの人いつも極論言ってカッコイイって思ってるのかな。クスクス。

750:774ワット発電中さん
19/03/14 18:41:34.96 w/46pvfA.net
Javaで楽になった感じが全くないですよ。

751:774ワット発電中さん
19/03/14 19:27:05.42 LQVzyV9A.net
なに使ってもダメな人はダメ
アホなのは言語じゃなくて
その言語の思想を理解できずに
「あほ」って言っちゃう方
所詮、道具なんだから気に入らなきゃ
スルーして別の道具を選択するなり、
自分で道具から作りゃいいのに…

752:774ワット発電中さん
19/03/14 20:50:09.37 tV5MuKOm.net
>>718
>>719
反省しとります
ヘッダーに記述するのやめておきますm(_ _)m

753:774ワット発電中さん
19/03/14 22:35:24.46 UHNeTLui.net
>>730
自分でコンパイラ作るの?
しかもアセンブラで


754:?



755:774ワット発電中さん
19/03/14 22:56:20.37 FyQ3iwa4.net
>>732
ツールってのはそうやって出来てきたんだよ
既存のツールにどうしても馴染めなきゃ、
諦めるか、自分でツールを作るしかないだろうが

756:774ワット発電中さん
19/03/14 23:04:01.83 ZKU10XCo.net
yacc?

757:774ワット発電中さん
19/03/14 23:29:15.18 dt1h3V4+.net
今からC言語を学習する人は可哀想だね。
大抵の場合、組込みでしか役に立たないし…、しかも給与高く無いという。
まあ、趣味で使うなら作法とかそんなのは気にせずとりあえず動けば良いと思います。

758:774ワット発電中さん
19/03/15 00:02:40.56 d2NCHrvu.net
>>735
同情申し上げます

759:774ワット発電中さん
19/03/15 00:12:38.69 TxWpqddu.net
食うために言語をマスターするという発想しか浮かばない境遇そのものが可哀相

760:774ワット発電中さん
19/03/15 00:41:13.13 rCdt+OMG.net
C使ってても給料高い人はいくらでもいるけどな。
別に組み込み以外でも、ドライバ開発だったり、ライブラリの高速化とかで需要はあるだろう。
ドライバ開発とか、毎回とんでもない金がかかる。。。
自分でやれればいいんだけど、あれは無理。

761:774ワット発電中さん
19/03/15 00:47:13.16 EvJ0Nfi+.net
何か一つの言語を深くマスターできていれば
他の言語もすぐにマスター出来る
逆も真で、ダメな奴はどんな言語を選んでも
ものに出来ない

762:774ワット発電中さん
19/03/15 01:03:59.37 KINFq6a1.net
C言語は習得が難しい割には、一般的には収入低いのは確か。
簡単な組み込みが多いからかな?
OS周辺や、ドライバ開発となると、C言語出来るというより、単純に能力が高くないと無理なので、
収入高そうですね。
C言語出来るというだけでは、コピペできるか、ある程度スクラッチできるか、
ライブラリ作れるか、ドライバ作れるか、OS作れるか、言語そのもの作れるか、
と範囲が広すぎて、能力を把握できませんね。

763:774ワット発電中さん
19/03/15 06:43:49.46 mLF/yedB.net
今はさいつよFree Pascalがあるやろ

764:774ワット発電中さん
19/03/15 07:39:27.72 zaIVuebS.net
「プログラミング言語別年収ランキング 2018」を見ると
Cプログラマは最下位(10位)で可哀想にプログラマ業界のワーキングプアだ
URLリンク(tech-camp.in)
俺はMCUに関してはフルアセンブラ派なので競争相手が全く不在で
こんな言語を超越して稼ぎまくっているから関係無いけどw

765:774ワット発電中さん
19/03/15 08:59:50.15 bXgu3KXE.net
ラダー最強

766:774ワット発電中さん
19/03/15 09:37:50.25 6cfdUFL2.net
>>739
Haskell でもやってみな。

767:774ワット発電中さん
19/03/15 09:51:07.60 7NBkQbTZ.net
>>744
クイックソートの例を見てみたけどCより遥かにスッキリ書けるね
AVR用のコンパイラとデバッガは存在するの?

768:774ワット発電中さん
19/03/15 10:19:52.74 KINFq6a1.net
Haskll てH言語?
「頻繁に IO を行うプログラム: IO などの不純な行為は Haskell は苦手。」
URLリンク(www.shido.info)

769:735
19/03/16 10:54:47.24 cwPLN8G/.net
自分は組込み屋ではないですし、Cは1年に1回程度チラッと仕様確認で見る程度ですね。あとは趣味のAVRで利用する程度です。
ただ、IT土方で薄給なのは事実ですが…。
ただ、どうせやるなら趣味でも仕事でも新しい方が“何となく“良い気がしませんか?(錯覚かも知れませんが)
まあ、C以前の低級言語は、コンピュータの動作がどうなってるか学習も出来るので、やって損は無いとも思います。でも、やっぱり今更感が強いですね。

770:774ワット発電中さん
19/03/17 00:34:05.57 P7v+ZriH.net
言語よりも、成果物だもんなぁ・・・・
自分が成果物を出しやすい言語を使えばそれでいいわけで。
もちろん、職場とか取引先で指定もあるけど、ライブラリにして投げ渡すという手もあるし。

771:774ワット発電中さん
19/03/17 19:17:08.97 GAxdTCzB.net
最近の若い奴は

772:774ワット発電中さん
19/03/17 19:34:42.12 sgny0tDF.net
昔はみんなコツコツ薪を集めてお風呂を沸かしてたのに
最近の若い奴はボタン一つで風呂沸かしやがって

773:774ワット発電中さん
19/03/17 19:42:50.55 dKn3NhyT.net
ゆとり元年のガキが2010年入社だったが
最近のは更にゆとり教育期間が長くてもうえげつない動物みたいな奴ばっかだな

774:774ワット発電中さん
19/03/17 21:29:14.86 P7v+ZriH.net
>>751
ゆとりだけが原因じゃないんだぜ。
採用活動の制約のせいで経団連加入の企業は、
それ以外の企業が採った後の残りかすしか採用できてない現状。

775:774ワット発電中さん
19/03/18 19:24:14.97 mkKs6vGL.net
>>751
それはご愁傷様。
こちらの観測範囲だと若い子ほど優秀な印象。
内向的ゆえかコミュニケーション能力高いし。
並みの子が来たがらない環境なんじゃない。
最近はそう言う情報も流れてるし。

776:774ワット発電中さん
19/03/18 20:50:53.58 PswMwFQm.net
つまり観測地点が低いのか

777:774ワット発電中さん
19/03/18 21:40:16.45 z6PBufMM.net
最近のゆとりは魚が切り身で泳いでると思ってるとかどうたらこうたら

778:774ワット発電中さん
19/03/18 22:25:41.52 d+1Vn6zJ.net
同じ処理の繰り返しって積極的に関数化した方がいい?
プログラムメモリ的にも関数化した方がコンパクトになるのかな?

779:774ワット発電中さん
19/03/18 22:28:02.34 kvz6s+wm.net
ソースはコンパクトになるけど、どうなんだろ

780:774ワット発電中さん
19/03/19 00:18:45.43 TW2RwHlM.net
関数コールする度にスタックを食い潰して行くからなぁ
ATtinyとかはSRAMがすくないので、極力関数化せずに、
マクロを多用している

781:774ワット発電中さん
19/03/19 01:03:40.16 7rOv8Vut.net
>>756
基本は、関数だけど。
スタック消費を避けたいときと、処理速度を上げたいときは、マクロも検討します。
ただ、デバッグが面倒になるときと、マクロの副作用もあるので慎重に。

782:774ワット発電中さん
19/03/19 12:29:34.55 WbsHU5pc.net
とりあえず関数で書いて完成したらROMの許す限り展開するだけだな俺は

783:774ワット発電中さん
19/03/19 12:54:55.70 usLKQzVR.net
メモリにも処理速度にも問題が無いならそんな余計なことはしないな俺は

784:774ワット発電中さん
19/03/19 13:10:38.66 7rOv8Vut.net
>>761
コンパイラの吐いたコード見て、思わずマクロにすることはありますね。
パラメタの数だけ、スタック退避されてビビル。
コンパイラの最適化によるけど、参照だけなら const つけるとか、
あえて、パラメタ変数をグローバルで宣言するとかもあるけど
メモリ許せば、マクロかな〜
ケースバイケースで、指示が無い限りは、センスに任せるっていったところか。

785:774ワット発電中さん
19/03/19 14:27:48.23 usLKQzVR.net
スタック無しでもそこそこのパラメータ渡せるのに、
スタックにまでパラメータ積む様なコードって汚そうだなぁ。
ポインタ渡しとかにしときなよ。

786:774ワット発電中さん
19/03/19 16:09:39.38 7rOv8Vut.net
>>763
avrgccに限らずっ


787:ト話ですよ。 コンパイラの最適化もあるし、 ポインタ渡しにしたら、変数アクセスごとに、インデクスレジスタを 更新しますからね、当たり前の話ですけど。 そのオーバーヘッドとコード領域の増加を避けたいこともあるのです。



788:774ワット発電中さん
19/03/19 16:12:18.33 usLKQzVR.net
ここはAVRスレな

789:774ワット発電中さん
19/03/19 22:08:36.43 5PdCFg0Y.net
なぜC++のinlineを使わないのだろう…

790:774ワット発電中さん
19/03/20 15:52:18.55 9nlylGr/.net
AVRライターに純正のAVRISPMK2ってのがあるけど、これって何か特別優れた点があるの?
純正だから安心的な話じゃなくて機能的に。
と、言うのも中華な激安AVR(と比べると失礼かもしれないが)とくらべると明らかに基板の密集度が違う。
ほかの多くは電源供給できるが、この製品はそれもできない。
何か優れた点があるのかなのと気になって・・・

791:774ワット発電中さん
19/03/20 16:06:12.33 /dfV2r3/.net
アトメル純正はどれも電源供給はできない。
『純正である』信用以外のメリットはこれと言って無いと言っていい。
しかも本家ISPmk2はとっくの昔に販売終了していて、あっても店頭の売れ残りだけ。
最新のデバッグインタ−フェースであるUPDIにも対応していない。

792:774ワット発電中さん
19/03/20 16:15:38.45 JtPc8HPH.net
>>768
世の中にあふれるどのライターよりも複雑なんでなんかすごいのかと思ってたけどそんなことはなかったんですね。
つか、販売終了してたとは知らなかったです。
ポチる前に聞いておいてよかった。
他の物色します。これ結構いいお値段するんで・・・
回答どもでした。

793:774ワット発電中さん
19/03/20 16:52:41.80 /dfV2r3/.net
ライターでしかないISPmk2買う勇気があるなら、
デバッグもできるAtmel ICE買う方を勧めますよ。

794:774ワット発電中さん
19/03/20 18:53:48.22 zjzPx8Pp.net
USART付き8ピン欲しい

795:774ワット発電中さん
19/03/20 19:00:22.47 9U7nIXcG.net
85のUSIで事足りるやろ

796:774ワット発電中さん
19/03/20 19:13:38.27 /dfV2r3/.net
attiny202/402/212/412の4種類あるね。DIPは無いけど。

797:774ワット発電中さん
19/03/20 19:19:27.66 /dfV2r3/.net
mega808なんて出すのか。
120円くらいと予想。

798:774ワット発電中さん
19/03/20 19:20:08.95 zjzPx8Pp.net
USIはI2Cで使ってるので
ソフトだと速度出ないし

799:774ワット発電中さん
19/03/20 19:21:37.37 yov4tgl+.net
tiny3216が便利すぎてまとめ買いしたこればっか使っとるわ

800:774ワット発電中さん
19/03/20 19:25:14.54 yov4tgl+.net
速度出すなら水晶欲しいな…?
VCC!GND!XTAL1!XTAL2!SDA!SCL!TXD!RXD!
リセット殺しても他になんも付かねぇ!!
どうでもいいけど8ピンのDIPかわいいよね

801:774ワット発電中さん
19/03/20 19:26:45.58 /dfV2r3/.net
>>776
3216が出る前に1616をまとめ買いしてめっちゃ使ってるw
ICE使っても1ピン喰われるだけだし、デバッグは安定してるし、いい子だよ。
mega3208もお気に入り。

802:774ワット発電中さん
19/03/20 19:31:36.78 /dfV2r3/.net
tiniy0/1シリーズなら内部20MHz有るんだから水晶要らないっしょ。
クロックの出荷時誤差書き込んでくれてるし、オートボーレート機能有るし。
てかそもそも水晶付けらんないし・・・

803:774ワット発電中さん
19/03/20 19:35:45.51 yov4tgl+.net
内蔵はVCC固定でも温度ドリフトすげーんだもん

804:774ワット発電中さん
19/03/20 19:41:38.96 /dfV2r3/.net
代表特性だと全動作温度範囲で0.5%くらいに収まってるから大丈夫なんじゃない?
クロックをオシロで見ながらドライヤー当てて見たけど全然動かん。

805:774ワット発電中さん
19/03/20 20:34:41.77 olT7veZT.net
>>770
デバッグボードってあったほうがいい?

806:774ワット発電中さん
19/03/20 20:51:17.05 jeeS7STF.net
最近のは水晶付けられないんで音程狂って使えないんだよなー。
外付け発振器だと高くつくし

807:774ワット発電中さん
19/03/20 21:44:08.97 tbFELgCY.net
>>776
おすすめのライター教えて
ATtiny416-xnanoの半分使っても書けそうだけど…

808:770
19/03/20 21:55:33.80 thgWWikS.net
>>782
「デバッガ」だよ。Atmel ICE↓
URLリンク(akizukidenshi.com)
使ってみないと良さは伝わらんと思うけど、
一度使うとこれ無しにデバッグする気になれないと思うよ。

809:770
19/03/20 21:59:06.18 thgWWikS.net
あ、最近のデバイスならPICKit4でもデバッグできるんだっけ↓
URLリンク(akizukidenshi.com)
電源も供給できるし、誰か人柱になってくれw

810:774ワット発電中さん
19/03/20 22:06:05.53 AW68H+U3.net
>>781
最初の頃UARTが全然届かなくて水晶にしたら解決して以来、
基本内蔵は使ってないんだけど、
そこら辺どう?

811:774ワット発電中さん
19/03/20 22:20:55.96 thgWWikS.net
>>787
屋内使用限定で通信エラーが重要じゃない売り物でそこそこの数出てるけど、文字化けの報告は一度もない。
一応20台くらい-20〜50度の環境試験かけたけど、文字化けは1台も無かった。
社内用のちょっとした治具でもUARTは当たり前のように使うけど、xmegaや今のtinyに水晶を積んだことは無いな。
もちろんトラブル無し。
tiny2313やmega328はダメダメだったなあ。

812:774ワット発電中さん
19/03/20 22:56:54.37 /xxnFTED.net
>>788
有益!!

813:774ワット発電中さん
19/03/20 23:03:57.32 thgWWikS.net
経年劣化は知らんよ。
言い訳のできない産業用途なら俺でも水晶発振器積む。
用途とコスト次第ってことよね。

814:774ワット発電中さん
19/03/21 00:00:10.90 F6vzKlqH.net
PICkit4は十分使えるよ!

815:774ワット発電中さん
19/03/21 03:00:51.90 ZsdWucVz.net
Atmel STARTじゃtiny3216なんかのボーレート補正コード吐いてくれないんだよな。
水晶付けられなくしたんならその辺ちゃんとしろよって思う。
プログラムで補正したボーレートレジスタ設定値を計算させたらコード量が膨大になったよ。
inline関数にして可能な限りプリプロセッサ任せにしたら激減したけど。

816:774ワット発電中さん
19/03/21 06:42:29.39 EbOpCm0u.net
レゾネーターじゃダメなん?

817:774ワット発電中さん
19/03/22 12:51:55.43 J59YH1xs.net
ここ何日か、tiny2313+内蔵OSC8MHz+19.2Kボーで
UARTをデバッグ用に使っているけど、文字化けは経験していない。
ただし仕事(金を貰う)の仕様として使うUARTなら水晶を使う。

818:774ワット発電中さん
19/03/22 13:20:07.97 lUkHhnxP.net
室内じゃたいした温度変化ないからそんなもんよ。
ドライヤー当ててみな。

819:774ワット発電中さん
19/03/22 13:21:33.79 lsTU/L+y.net
AVRは電源電圧変わると周波数変わるから

820:774ワット発電中さん
19/03/22 14:30:14.45 0+RbTafq.net
19200じゃどうでもええやろ
250000とか115200のハナシ

821:774ワット発電中さん
19/03/22 15:00:20.28 lUkHhnxP.net
クロック精度の話してんだからボーレート関係ないな。
精度が悪けりゃ300bpsであろうとも化けるさ。

822:774ワット発電中さん
19/03/22 16:26:56.91 zWtNcRru.net
>>788
使い始めてダメだったの丁度その二つだ。
xmega系使うときあったら内蔵試そうかな。
むしろどんな仕事なのかが気になった。

XMEGA32って安いのね

823:774ワット発電中さん
19/03/22 16:37:17.46 lUkHhnxP.net
同じQFP32ピンならmega3208はもっと安いよ。
こいつも内部クロックが最近のタイプの隠れxmega系列。

824:774ワット発電中さん
19/03/22 21:52


825::37.05 ID:qjm5MvQR.net



826:774ワット発電中さん
19/03/22 22:04:57.24 v3GTj9rk.net
厳密にはコアや命令セット上の分類だよ。
DFLLなんて周辺機能の一部でしかないし。
xmegaより後に出たtiny0,tiny1,mega0シリーズはgccでの分類上もxmega。
まあ製品名にちゃんと「x」がついてるものより機能低下してるのは確かだけどね。
DMA無くなったのは痛いしタイマーの機能もしょぼい。
しかし安い!

827:774ワット発電中さん
19/03/23 00:10:09.39 Y7uWIeB9.net
そこじゃなくて、>>800の、mega3208の内部クロックがxmega系、って所。
正直なところ、mega0シリーズはクロックだめだめで、
音系のもの作る私に取ってはちーとも使いモノにならない。

828:774ワット発電中さん
19/03/23 00:23:42.49 xcgmHKbY.net
外部クロック使えばいいのに
今時MEMS発振器使えば安上がり

829:774ワット発電中さん
19/03/23 06:20:13.99 KSNxFac8.net
>>803
UARTが使えるかどうかの流れからいきなり音系基準に変えられてもw
mega0系はクロックの調整幅が荒いからね。
シグネチャのOSC20ERR5Vとか使ってタイマー側で校正してる?
音関係なら0.5%のズレでもきついのかな?
DFLLも内蔵32Kでの補償なら精度は似たようなものだと感じたけど。

830:774ワット発電中さん
19/03/23 09:05:26.17 hMTcSEwr.net
音楽系なら0.5%の誤差はたぶん許されないでしょうね。「440Hzが438Hzに聞こえる場合があります」と言われてOKって言う人少なそう。
事務用のカセットレコーダーだとパーセントオーダーの誤差は許容されていたはずだけど。
UARTなら、相手も同じように誤差があるとしても2%ぐらいは大丈夫では。

831:774ワット発電中さん
19/03/23 10:17:08.71 ZDEnWAhb.net
>>806
音楽系では、精度が高くても、ジッタで周波数が特徴的にずれるのはNGですね。
水晶にしても、ノウハウがないかぎり
精度の保証された、外部発信器かなーー と思ってるけど、どうなんでしょ。

832:774ワット発電中さん
19/03/23 11:23:34.04 v/efgdtB.net
水晶発振器を外部トリガに渡して内蔵RCでカウントさせると周期的にうねってるのが判る

833:774ワット発電中さん
19/03/23 11:26:09.36 hMTcSEwr.net
>>807
精度、正確度あたりの言葉を狭義、広義で使う人とで混乱しそう。
あと、機器の物語やココロで音楽を聴く人と、まあこれで普通は十分だなという立場で聴く人とでも違ってきそう。
私は後者。水晶だったら、普通にそれで組んであったら、もうそれで十分すぎるほど十分だと思う方です。

834:774ワット発電中さん
19/03/23 11:43:01.49 ZDEnWAhb.net
>>809
普段は、効果音、程度なので、レゾネータで十分です。
楽器と、云ったとたん難しくなるでしょうね。
水晶は、RTC作ろうと思って、32768の水晶使ってみたら、
結構時間精度が出せなくて、キャパシタの選択等、簡単な話ではないな〜と思った次第です。

835:774ワット発電中さん
19/03/23 12:28:01.48 hMTcSEwr.net
RTCはぶら下げるコンデンサでめちゃ変わりますね。
特別32.768kHzの水晶だから変化するのではなくて、RTCが要求する精度が高いわけですけど。
高精度なRTCが欲しかったらTCXO入りRTCに逃げています。機


836:があれば、SiTIMEのMEMS TCXOも試してみたい。



837:774ワット発電中さん
19/03/23 12:45:25.74 KSNxFac8.net
マイコン内蔵のRTCに精度求めたらつらかった経験あるわ。
専用ICのPCF2129に落ち着いてから変える気無いなあ。

838:774ワット発電中さん
19/03/23 18:47:44.87 SjCjIySU.net
誰もが頭が良くなる、プログラムが書けるようになる方法が発見される 50545
URLリンク(you-can-program.hatenablog.jp)

839:774ワット発電中さん
19/03/23 18:53:52.18 KSCSCL/A.net
うちじゅうどこでもWi-Fiが拾えてESP8266から時刻サーバへアクセスできるから、
RTCモジュールなんかみんなお蔵入りしてるわ。

840:774ワット発電中さん
19/03/23 19:05:19.87 KSNxFac8.net
趣味だと家から出ないもんね

841:774ワット発電中さん
19/03/23 19:12:08.45 HvsGgu23.net
フィールドに出るとネットにつなぐだけで一苦労だからなぁ。。。

842:774ワット発電中さん
19/03/23 19:59:15.13 z+LxoVb3.net
これ直ってんの?
URLリンク(elm-chan.org)

843:774ワット発電中さん
19/03/23 20:48:33.69 KSNxFac8.net
xmegaのが酷かったのは見た。
tiny1616が有るから今からオシロつないでみるわ。

844:774ワット発電中さん
19/03/23 23:15:15.98 KSNxFac8.net
オシロが500Ms/sっていう中華激安品なので参考程度に。
分解能低くて分周しないと計測できません・・・・
tiny1616のクロック出力(20MHzの48分周)をPersistモードで観察したところ、
1クロックの振れ幅が10nSくらいでした。中心値から0.2%強ってところ。
xmega32E5も有ったのでついでに確認。
内部32kとのDFLL有効、32MHzの64分周で似たような波形でした。
ちなみにtiny1616のクロック周波数は19.79MHzで約-1.05%
SIGROW.OSC20ERR5Vで補正したボーレートは-0.3%でした。

845:774ワット発電中さん
19/03/24 00:47:58.29 I70oz0qm.net
>>811
>>812
市販品の1000円くらいの液晶時計が、お馴染みの水晶でそこそこの精度なんで、
簡単だろうと思ったら大間違いでしたね。
大量生産品(手間かけて精度を追い込む)か、目安程度(精度悪くてもいい)のRTCで無いかぎり、
マイコン内蔵のRTC使う理由が無いなぁ という判断してます。
専用ICが楽チンでいいですよね。

846:774ワット発電中さん
19/03/24 10:18:42.51 /NgHw6N/.net
>>820
AVRスレですが、AVRの内蔵RTCは使ったことがありません。すみません。
>>811でも書きましたが、、精度の高い水晶を選んだところで、コンデンサを適切に調整しなければ、水晶の精度を殺してしまいます。
計算で目途をつけておいて、発振周波数を確認しながら1〜2pF単位でコンデンサを交換して調整をして、詰め切れないぶんはRTCの補正機能で調整します。
ここまでは、割と手間じゃありません。厄介なのは、温度変化に対してどこまで対応するの?ってことじゃないですかね。 最近のマイコンだと、温度補正付きRTC内蔵のものってあるのかな?

847:774ワット発電中さん
19/03/24 11:26:05.85 d1eU+1wQ.net
精度が欲しいなら外付け専用RTCよ
餅は餅屋に

848:774ワット発電中さん
19/03/24 13:51:26.62 j6A89b+h.net
専用ICがあるものは、専用ICに任せた方が上手くいくのは寂しい限りだ・・・
実務的には楽なので、大変結構なんだが

849:774ワット発電中さん
19/03/24 14:30:20.57 I70oz0qm.net
>>821
お仕事的には、専用IC使うとか、最新のMCU使えとか、別のMCUなり、合理的な
選択すればいいんですけど、お仕事を解決するためのスレではないので、
一応 AVR しばりで、いろいろ思いを馳せたり、
手と頭を動かすのは楽しいです。
ところで、RTCのテストって、やはり高精度の測定器が必要なのかしら?
1日に数秒ずれるとか、そういう検証は、つらいです。

850:774ワット発電中さん
19/03/24 14:56:50.57 /NgHw6N/.net
>>824
仕事といっても、量産品だとコストがやかましく言われる場合もありますし、CPU内蔵のもので実装することがあるような。
測定ですが、以前の勤務先には基準クロックがあって数秒ぐらいで誤差がわかりました。
自宅でやるぶんには、RTCに1Hzなり10Hzを出させて、それでゲーティングして高精度TCXOのクロックをカウントしてます。
そのカウンタでGPSの1Hzを見ておいたらTCXOの誤差もわかるし。それを使えば、数秒ぐらいで数ppmぐらい(月差10秒ぐらい)までわかります。
RTCが温度補正機能を持たないなら、これ以上追い込んでもあまり意味がないので。

851:774ワット発電中さん
19/03/24 17:48:00.19 2a2VTB9k.net
>>824
数秒だったら時報聞けばいいだろ。

852:774ワット発電中さん
19/03/24 17:59:53.85 I70oz0qm.net
>>825
数ppm で月差10秒って冷静に計算すると、当たり前ですけど、大変ですね。
感覚的に50ppm以上の精度だと温度係数が効いてくるし、
MCUの発振回路のバラつきもあるので、どの程度の精度を見込めるかって
重要ですね。市販の時計って優秀だな〜
炊飯器の時刻タイマーや、お風呂の時計は精度悪いけど、まぁそういう仕様なんですね。

853:774ワット発電中さん
19/03/24 18:33:33.94 dYmOmUM8.net
俺がやってるAVRでのRTC校正方法は、
GPSの1PPSを基準にRTCクロックの32768Hzを61秒分カウントする。
カウンターを15ビット以下でフィルタして符号付きとみなせば
約0.5ppm単位の誤差がそのまま見れるよ。
元々誤差が多くないRTCなら8ビットカウンタでも十分。
コンセントから電源とる時計は精度最強なんですけどねw。

854:774ワット発電中さん
19/03/24 19:35:52.54 /NgHw6N/.net
61秒で 0x1E8000 カウントで、ほぼ200万カウントだから0.5ppm単位か…。
なるほど。すごい。

855:774ワット発電中さん
19/03/25 07:29:46.91 3SRuVw6e.net
>>828 >コンセントから電源とる時計は精度最強
時刻情報が必要な、AC100V電源のある装置で
 AC100V → 使わなくなったトランス式ACアダプタから取り外したトランス
 → CRとツェナーダイオードとフォトカプラ
 → CRとシュミットトリガ入力インバータ → CPUのカウンタ
で50Hzパルスを取り出して時計を駆動していますが、
半年後でも1、2秒程度の累積誤差です。
もっと減らすにはどうしたら良いか思案中です。

856:774ワット発電中さん
19/03/25 08:39:37.99 J6l1bnrg.net
>もっと減らすにはどうしたら良いか思案中です。
ノイズを拾うなどして誤カウントしているのでもなければ、電力会社依存なんでしょうね。
電力会社はどれぐらいの精度を保証しているのでしたっけ。ちょっと探しただけだと見つかりませんでした。

857:774ワット発電中さん
19/03/25 08:56:00.46 5Sr82vhE.net
それって10年でも20年でもその程度の範囲じゃないの?
短期的変動でそのくらいは揺れる。

858:774ワット発電中さん
19/03/25 10:13:23.21 RQTmDLOF.net
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秒以内

859:774ワット発電中さん
19/03/25 12:43:58.10 CO93jyX2.net
どおりで電力会社


860:ノよって音が違うわけだ



861:774ワット発電中さん
19/03/25 15:19:05.01 xN1QmcZQ.net
>>834
ヲイw

862:774ワット発電中さん
19/03/25 15:48:34.03 8m7ablK3.net
対策として自宅に電柱を・・・

863:774ワット発電中さん
19/03/25 16:24:07.33 /MdNhiJR.net
時計の調整を手動でやっていたころはオシロで位相を見ていたな
プローブ付けられないから電源端子から発振周波数拾ってた
クオーツの発振音なんてマイクで拾えるもんなんだろうか

864:774ワット発電中さん
19/03/25 21:13:00.14 twLTra3x.net
いつのまにかtiny10が再び安くなってる
割と便利なんだよな

865:774ワット発電中さん
19/03/26 00:38:00.32 Ly3ij3NA.net
ドコデ?

866:774ワット発電中さん
19/03/26 15:48:39.67 uml5Kd7G.net
>>837
32.768kHzの水晶振動子をマイク代わりに時計に接触させると拾えるよ

867:774ワット発電中さん
19/03/26 19:25:57.72 3+jPmysW.net
PICkit4で遊んでたらこんな商品があるのを今知った。
URLリンク(akizukidenshi.com)
デバッガが1740円かよ・・・・ハヤクユッテヨ

868:774ワット発電中さん
19/03/26 19:34:57.49 7iD4FWcp.net
これPICKITとどう違うの?
PICKITは3でAVRISPmkUも手元にあるけど、あると便利?

869:774ワット発電中さん
19/03/26 19:37:28.74 8QpnQSTx.net
>>841
いやいや、これでできることはPICkit4でもできるだろ
URLリンク(microchipdeveloper.com)

870:774ワット発電中さん
19/03/26 19:50:41.77 3+jPmysW.net
>>842
AVRのインサーキットデバッグができる。
ISPmkIIはただのライターだし、PICkit3はAVRに対応していない。
PICkit4のサブセットらしいがAtmel Studioで使えるって情報が無いな。
PICkit4は使えるんだから対応待ちだろうか。
>>843
だってPICkit4は5700円もしやがったんだぜ。
買ったばかりなのに壁に投げつけたくなった・・・

871:774ワット発電中さん
19/03/26 20:23:44.54 uHRTX5Fm.net
みんないま何でライティングしてるの?

872:774ワット発電中さん
19/03/26 20:40:10.03 UeskBfc0.net
いま?いまサッカー見てる


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1700日前に更新/263 KB
担当:undef