AVRマイコン総合スレ Part44
■ このスレッドは過去ログ倉庫に格納されています
線分の交点を求めたいんだけど、なにかいいアイディアない?
もちろん整数演算で >>3
普通に2直線の交点求めて線分の範囲内かどうかチェックでいいのでは?
整数演算で済むかどうかは座標の値次第 >>4
>>普通に2直線の交点求めて
簡単そうに言うけど、簡単なの? それ以前にAVR関係ないよね
んでぐぐればすぐ出るのに何を聞きに来たの 計算結果がしばしば整数範囲からあふれたりゼロ除算になったりするんですが整数演算でやるにはどうすれば?
ならまだいいですが、これもプログラミングの問題でAVRの問題じゃないですしね。 avr関係ないとか予想外の答えw
プログラミング抜きでハードだけ語るスレだんか?ここ 8ビットavで2直線の交点を高速で求めるコンテストとかいう振りでもすれよかったかなwr >>11
開発言語の指定もないのにできねーよ。
計算方法は>>4としか言いようがない。調べきれなきゃ座標扱う以前の問題だし、プログラムにできないならそのプログラム言語使えてないことになる。全部説明しろとか無理。
一から全部じゃなく、ここが引っかかってるので質問なら。 神の慈悲でID:ei8ZvKjGが幸せになれますように プログラムの話はいいんだけど、インプットとアウトプットがさっぱりわからん。
そんなのでアイデアと言われてもな。
整数でっていうのは処理速度を速くしたいんだろうか?
固定小数で1000培値で計算してもいいだろうし、
int32_tやint64_t使っても桁あふれするような値を扱うんだろうか?
ネタでわざと情報を小出しにして遊んでるのかな? >>14
固定小数なら256倍とか2^nのほうが楽かも
>>8
平行に近い線分だと交点がとんでもない値になるから、除算する前に分子分母の値チェックしたらオーバーフローやゼロ除算は回避できるかな? >>14
まあ、ねたふりのつもりだけどね、
扱う値は32ビット整数の範囲としときましょうか
実数は扱いません
言語指定が無いという声があったけど、
アルゴリズムに言語はかんけいないのでなんでいいかな >>16
AVRも言語も関係ないならプログラム板の話題だろ AVRに関連するような内容も条件も一切出てないがな このスレ破壊したいだけなんでしょう。
スルー力検定始めるしかないね。 俺もいらないけどさ。100均プラケースで済ませたし。
作りたくない or 作れない人もいると聞いて・・・ アクリル板を切り抜いたものを積層してケースを作るのが流行ってるのかな?
ラズパイのケースにもそんなのがあった。
壁になる板は、くりぬき部を量産してしまう。ごみの量がすごそう。
アクリルのルーターカットを安くで請けてくれる中国の業者さんとかがあるのかも。
でも>>27のケース。通気口なくても良いんじゃないかと思う。 じゃ、融通の利かない>>31のために書き直そう。
>>27のケース。デザインとして穴、なくても良いんじゃないかと思う。 >>32
そりゃ好みの問題でしょ
そのケース作ったひとは、
のっぺりしたケースより
デザインがあるケースが
いいと、思ってたってだけでしょ >>30
アクリルは個人でもホームセンターでレーザーカットできるから。 というか、この業者さんがレーザーカットのサービスをしてるんですね。 中国のアクリル加工サービスは
日本の1/3以下の価格だから
ケースとかパネル作るのに人気だな
日本の個人から発注できるのはelecrowくらいなのが残念なところ >>34
カインズホームの中のカインズ工房。
レーザー加工機は全店舗にあるわけじゃないから調べて。
アドビイラストレーターのデータさえ持っていけば使える。 アクリルのレーザーカットは割と普及してて意外に近くにあるかも。
看板屋さんに頼んでもできる。(値段は知らんけど) 作れるねって話をしているだけだ。
誰もお前の為に作らんし気にもしていない。うせろ アクリル切り抜きは卓上CNCあれば自宅でもできるよ
基板切削もできるし自作派にはおススメ >>41
どう見てもヤバイ(高出力レーザー剥き出し
インターロック無し)のがアマゾンとかで
3万位で売ってるな
まぁ個人が個人の責任で使うなら労基法
なにそれ美味しいの?で…
ホントは販売規制に…なんて野暮な話は無しだ 浦島なんだけど今も開発するならAtmelStudio使っとけばいいの? >>49
シリーズと社名の区別がつかないバカなの? 「PIC(を作っているマイクロチップテクノロジィ)に吸収されたのか」
これでいい? 恥を知れ恥を
Apple社のことiPhoneって呼んでるんだぞw MPLAB X IDEを使ってる人って、このスレには少ないの?
石やボードのシリーズごとのスレはあるのに、開発環境やフレームワークのスレが・・・ 移行のために勉強しようとインストールはしたが、
Microchip Studioが出たから消した。 そうなんだ。
マルチプラットホームだとMPLABしかないんだよな。
そのうち対応するのかな。 対応で言うなら既にほとんどのチップが動くよ。
クソなXC8使わずにgccにすればいいだけ。 マルチプラットフォームってIDEの話だろ
MPLAB-XはMacやLinuxにもあるけどMicrochip StudioはWindowsのみ なに寝ぼけてんだ?
MPLAB Xでgcc使えばいいって話をしてるだけだ。
Microchip Studioがwindowsのみなんて知ってるよ。使ってんだから。 動くという報告があってから5年経てばほどよく枯れている頃で使っていいと思う。
その5年生き残れないチップは手を出さなくて正解だったということ。人柱はもうコリゴリですからね。 >>61
Windowsでしか使ってない人は
他のプラットフォームで動くかなんて知らないし気にしないよ。 >>65
それはそれでいいよ。
コンパイラの話をしているのにIDEの話にすり替わってたから
寝ぼけてんのかなと思っただけだ。
Microchip StudioでもXC8コンパイラをゴリ押ししてくるからビギナーは注意な。
イラナイから。 どう考えても>>56>>58の時点で開発環境の話にしか見えないが(てかそう書いてあるし)
他のプラットフォームに対応してるかって話だったのに急にコンパイラの事言い出したのはどう見ても>>59
勘違いしちゃって恥ずかしくなっちゃったのかな?w
Windowsしか頭になさそう そもそもコンパイラのことプラットフォームなんて言う奴なんておらんやろ > マルチプラットホームだとMPLABしかないんだよな。
> (使いたいチップがMPLABだと使えないが)そのうち対応するのかな。
と受け止めたならコンパイラの問題
> マルチプラットホームだとMPLABしかないんだよな。
> (ほかのIDEもマルチプラットホームに)そのうち対応するのかな。
と受け止めたならIDEの問題
ニホンゴムツカシイアルヨ すみません、「統合開発環境(IDE)のマルチプラットホーム化」の事が言いたかったです。
AVRでコンパイラXC8は使っていないですが、XC32もクソなのでしょうか。
今後、PIC32やSAMチップとかも扱いたいので。 「クソ」の定義に依存する。
古いデバイスに今更対応してくれないのがクソ
無償だと最適化レベルに限界があるのがクソ
逆にgccは何の保証もないからクソ
人それぞれだろう。
C言語の仕様やコンパイラの最適化の挙動を知らずに文句言うヘタレプログラマが一番クソだが、
そんな人にも優しくサポートしてくれるのが有償コンパイラ。
俺は金出すならIARにするけど。 16bitのインプットキャプチャと8bit PWMが1本ずつ欲しい
一番安いのは秋月の米粒ATtiny10かな? >>75
確かにタイマが2本あると楽だけど
どちらか、もしくは両方をソフトウェアで実装出来ないかと
数十kHz程度のPWMの変換だし高い精度は不用 どっちもソフトでもいいならもうなんでもいいから安い奴でいい感
少量なら秋月が一番安そうだけど数が増えると変わってくるかも ATtiny202にした方が無難ではあるか。5円差だし 今更感ですが、ATtiny88の1Mhzでキッチンタイマーを作りたいんです。
16ビットのtimer1を使って1秒毎にカウントさせたいんですが、どう設定したら良いんでしょうか?
//ここの設定がわかりません
TCCR1A |= (1 << WGM12); //CTC mode
TCNT1 = 0;//initializing timer
OCR1A = 31249;//preloading timer so that it can count with 1 sec
TIMSK1 |= (1 << OCIE1A); //Timer compare A Match interrupt
TCCR1B |= (1 << CS12); //Starting timer and clock prescaler(256)
//割り込み
ISR(TIMER1_COMPA_vect) {
count++;
}
よろしくお願いいたします >>79
countにvolatileにしてないだけだったりして… >>80
割り込み関数内の部分は適当に書いてます。volatileはしっかり付けてます。 マイナーなATtiny88なんでネット検索しても殆ど無いんです・・・ 1/64クロックの15625カウントで1秒になる。
OCR1A = 15624;
TCCR1B = (1 << CS11) | (1 << CS10); // DIV64 どっかからコピーしてきたんじゃなね?プリスケーラ1/256で31250カウントだと8MHzのときに1秒だし
わかりませんのとこの一番下を
TCCR1B |= (1 << CS11) | (1 << CS10);
にしたらいいけど
その調子だと何かあるごとに聞くことになるかもしれんから
AVR タイマー 設定 とかで検索してそれぞれのレジスタが何を意味するかちゃんと理解したほうがいいのでは TCCR1AとTCCR1Bを両方CTC modeにしたほうが良いんですか? 1MHzの1/64だと31250カウントのままじゃ0.5秒だわ
>>83の言うとおりTOP値半分にしないとだめです >>85
タイマーの動作モードの設定値は4bitだけどその2つのレジスタに2bitずつある
というかデータシートを先ず見る習慣をつけるんだ
そこに絶対書いてあるから #define F_CPU 1000000 //1Mhz
とか定義しておいて
OCR1A = (F_CPU/64)-1;
とか書くのがお勧めだ >>83
>>84
ありがとうございます!出来ました!いま勉強中なんですいません・・・
TCCR1A = 0 << WGM10;
TCCR1B |= (1 << WGM12);
上に行も必要ですね! >>88
いや、いっそ
_delay_ms(1.0e3)で… >>88
ちゃんと分かってれば大丈夫だけどその書き方だとuint16を超える可能性があるのは注意 批判が的を得てないんだよな。
まず業務で高校数学が応用として使える時点で、世の中の上側1%以上なのよ。
アク界隈はお受験からのエリート教育で育ってるから、世の平均以下がちゃんと認識できていない。
残念ながら需要が存在してしまうわけですわ。高校数学の範囲だろうが何だろうが知らんがな。
あと、純粋な高等な数学になればなるほど、応用が狭まっていく。平たく言うと役に立たない。
なんでそんなものと比較するのか意味が分からない。好きなら勝手に博士課程でも行ってろ。
そして、哀れにもアク候補生として入社して、想像以上に日本社会の企業文化に揉まれ疲弊し、
自分は東京一工のエリートなのにこんな試験にも受からないクヤシイ!!みたいな人が、
5chで見えない敵をたたいて必死にもがいているんだな。憎むべきはその選択の損切りができない自分自身なのに。
だから、嫌ならやめろよと。クソ試験と思うなら今すぐやめて転職なりしろ。何事も中途半端が一番良くない。 高校数学云々って、
線分交点の人か?
ヤバい人だな >>93
Aqours 界隈だろ、ラブライブ!サンシャイン。 数学の公式をそおままコードに落としたらすんなり動くと思ってる時点で
何言っても無駄、ほっとけ ■ このスレッドは過去ログ倉庫に格納されています