X



トップページ電気・電子
1002コメント377KB
Arduino初心者熱烈大歓迎質問スレ part28
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2020/06/10(水) 05:28:40.57ID:B1nfFGXL
http://www.arduino.cc/

【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね

前スレ
Arduino初心者熱烈大歓迎質問スレ part27
http://rio2016.5ch.net/test/read.cgi/denki/1585316143/

Arduino初心者熱烈大歓迎質問スレ part26
http://rio2016.5ch.net/test/read.cgi/denki/1579146318/

過去スレ


Arduino初心者熱烈大歓迎質問スレ part25
http://rio2016.5ch.net/test/read.cgi/denki/1568358922/
Arduino初心者熱烈大歓迎質問スレ part24
http://rio2016.5ch.net/test/read.cgi/denki/1554776918/
Arduino初心者熱烈大歓迎質問スレ part23
http://rio2016.5ch.net/test/read.cgi/denki/1541233445/
Arduino初心者熱烈大歓迎質問スレ part22
http://rio2016.5ch.net/test/read.cgi/denki/1534549073/
Arduino初心者熱烈大歓迎質問スレ part21
http://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
http://rio2016.5ch.net/test/read.cgi/denki/1514503488/
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
0715774ワット発電中さん
垢版 |
2020/08/04(火) 10:07:56.88ID:RI0/uDOL
しょせんArduinoなんて他人の褌で相撲とってる二次創作みたいなもんだ
日本的メーカー対応みたいなもんは期待しちゃあいけない
0716774ワット発電中さん
垢版 |
2020/08/04(火) 14:42:20.22ID:CchelQT3
>>714
ありがとうございます。これってGPIOからの割り込みでの起動に対応してるのでしょうか?ESPならライトスリープとかで、割り込みで復帰させられるようなのですが。
0718774ワット発電中さん
垢版 |
2020/08/04(火) 15:48:43.92ID:1G6bhwKh
>>716
基本のSleep ModeはPower-DownのようなのでINT0やINT1で割り込めるんでは?
試してみて教えてください。
0720774ワット発電中さん
垢版 |
2020/08/04(火) 21:00:51.81ID:xylZtSCf
>>709
いただいたソースコードをもとに試しでLチカを想定したコードを作成したところ
どうにもタイマーを起動するとタイマーの内容のもの以外がすべて機能しなくなるようで…

Arduino標準のBLINK(D13)とタイマーチカ(D7 プログラム内LEDAに相当)の
同居想定として作成してみました。

https://pastebin.com/i3QBKtec

これを起動するとloop内のものが一瞬だけ動いたかと思うと最初のタイマーが反応して以降
帰ってくることはなく結果的にBLINKは最初の点灯だけは起こり、その後機能せずタイマー内の点滅(LEDA)だけが点滅しました。

また、RunMilliSecondが100msではちょっと早すぎると思い2000にしてみても
減速はされず2000msとは程遠い速度で点滅しました。

>>711
こちら、サンプルコード自体は機能いたしました。
ものすごい多機能そうで理解できるまでちょっと時間かかりそうですが(汗
とりあえずサンプルコードの機能そぎ落としをしながら理解を進めたいと思います。


この4809を使ったArduino 価格は安いのですがUNOやNANOとはやはり大きく違うという事を思い知らされています・・・
0721774ワット発電中さん
垢版 |
2020/08/04(火) 21:39:01.13ID:5I5zF6uz
正規品買う気のない俺はAliで互換機見つけたと思ったら4808だった
とりあえず無印Nanoで足りてるしもうしばらく待つわ
0722774ワット発電中さん
垢版 |
2020/08/04(火) 21:48:37.85ID:ozm1pYih
>>720
今見たら色々間違ってましたね
ifの<=逆でした
× TCB0.INTFLAGS = TCB_CAPT_bm;
○ TCB2.INTFLAGS = TCB_CAPT_bm;(TCB2.INTFLAGS = 0;と被る)
まあ、他の方の情報のライブラリでいいと思います
0723おっさん
垢版 |
2020/08/05(水) 13:56:44.69ID:gBOjK4Cm
あるセンサーから測定値を取り出したいと考えています。
図面を見るとセンサーからのコネクタはRS485となっていたので
AMAZONで『KKHMF MAX485 RS-485 TTL−RS-485モジュールコンバータ』を購入しました。
ハッキリ言ってARDUINOではセットに付属されていたモノで遊んだ程度の知識しかありませんのですが、
見よう見まねで以下を作ってみたのですが何も検出されません。
ご指導いただけないでしょうか


#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
#define PIN_RTS 13

void setup(){
Serial.begin(9600);
mySerial.begin(9600);
digitalWrite(PIN_RTS, LOW);
int test = 0;
}

void loop() {
mySerial.listen();
test = mySerial.read();
Serial.println(test, DEC);
delay(100);
}
0725774ワット発電中さん
垢版 |
2020/08/05(水) 17:08:30.14ID:OlZDXTJ0
RS485はコマンド送ってアンサー待ちしないといけない
複数つながる可能性があるから局番指定したり
チェックサム生成したり面倒臭い
2線式と4線式があって2線式だと自分の送ったコマンドをそのまま受信するからそれを除外しないといけないし
それをSoftSerialでやろうとすると更に難易度が上がるよ
0726774ワット発電中さん
垢版 |
2020/08/05(水) 19:12:26.69ID:CwSaQ5AQ
PIN_RTS は、RE DE の両方に繋いでるのかな。
それならDEのときにREをディセーブルすることになるし、自分の送ったコマンドは受けなくてすむかな。
485でも垂れ流しでデータ送ってくるように設定できるものもあるけど、センサーマニュアルを見ないとなんとも。

ところで>>723のモジュールだけど、DEがプルアップされていたり RS-485が2線とかデリカシーを欠くような設計。
0727おっさん
垢版 |
2020/08/05(水) 20:01:36.62ID:cmxVoe24
返信が遅れてしまい申し訳ありません。

>>724さん
そのとおりですね。センサーは

https://www.optex-fa.jp/products/dsp_sensor/cd22/

これのRS485版になります。
センサー自身に表示されている数値を手元で確認できるようにしたいと考えています。

>>725さん
2線式のコネクタが仕様されています。
今、手元にはセンサー単体のみで接続コネクタもない状態です。センサー片手に秋葉原を聞いて廻ったのですが手に入れる事ができず、コネクタに直接ワイヤーを繋いでいる状態です。


>>726さん
RE DEともに13ピンに繋いでいます。
モジュールについては色々と教えていただきたいです。
0728774ワット発電中さん
垢版 |
2020/08/05(水) 21:29:00.35ID:OlZDXTJ0
>>727
FA用のセンサーって事は工場で仕事に使うものを初心者スレで質問してるのかな?
工場でarduinoやラズパイって見たことないけど

工場で使うんだったら盤屋に依頼するのがいいんじゃないか?
CC-Link用のがあるんだから三菱のPLCですぐできるでしょ
0729774ワット発電中さん
垢版 |
2020/08/05(水) 23:07:44.37ID:oYjST5U7
>>727
まずそのサイトでマニュアルダウンロードしたら?
そもそも電源入れただけじゃ通信してないんじゃないの
0730774ワット発電中さん
垢版 |
2020/08/05(水) 23:25:27.72ID:kUZCLsv3
>>723
そのセンサーの仕様書読んでみたけど
センサーの設定が有ってる(9600bpsに設定)として、まずRS485モジュールを扱うコードが必要だと思う(送受信設定等)
さらに、データを読み出すにはArduino側から読み出し命令を出し、それの返信としてデータを受信する必要がある

CD22 シリーズの通信仕様は以下になります。
通信方式 EIA RS-485 準拠(半二重:局番設定によるマルチドロップ接続には非対応)
伝送コード バイナリ データ長 8bit ストップ長 1bit パリティチェック なし
ボーレート 9.6k/19.2k/38.4k/57.6k/115.2k/230.4k/312k/460k/500k/625k/833k/920k/1.25M (bps)
ヘッダ / データ区切り STX / ETX 
■ コマンドフォーマット
送信コマンド : STX (コマンド) (データ 1) (データ 2) ETX BCC
受信コマンド(成功) : STX ACK (返信データ 1)(返信データ2) ETX BCC
受信コマンド(失敗) : STX NAK (エラーコード) 00H ETX BCC
   ※ STX(02H)、ETX(03H)、ACK(06H)、NAK(15H)、BCC は網掛け部の XOR 演算結果
コマンドの種類 : C(43H) 個別機能コマンド
W(57H) 設定の書き込み(Write)
R(52H) 設定の読み出し(Read)

判定結果読み出し 送信 B0h 02h 返信 00h (判定結果)
bit:0 = 1 の時 判定出力 ON bit:4 = 0 の時はそのデータが既読であることをします
0731774ワット発電中さん
垢版 |
2020/08/05(水) 23:47:41.32ID:ShwXW6pD
>>730
あんた親切だなあ
それともすでにメンバー登録してあった?
興味本位で言ったけど面倒だからやめたわ
0733おっさん
垢版 |
2020/08/06(木) 00:45:28.45ID:sjKiJsBs
>>730さん
本当にありがとうございます。
>>727さんから「RS485はコマンド送ってアンサー待ちしないといけない」とありましたので、読み飛ばしていた仕様書の当該箇所をアナログ人間がわからないなりに解読しようとしています。これから色々試してみるつもりです。


>>731さん
もっともだと思います。
私は購入時にメンバー登録していましたが、メンバー登録が必要にもかかわらず安易にセンサーのサイトを貼ったことを反省しています。
不快な思いをさせてしまい申し訳ありませんでした。
0734774ワット発電中さん
垢版 |
2020/08/06(木) 01:10:35.91ID:dQgB9h/W
>>733
730です
想像ですが、予想した手順を記載します(RS485の通信したことない)( ^ω^)・・・
1.MAX485の出力ピンを出力ONに設定(DEをLOW>HI)
2.Serial.write(0x02);,Serial.write(0x57);,Serial.write(0xB0);,Serial.write(0x02);
Serial.write(0x03);,Serial.write(0xE6);(でたらめです)
3.Serial.flush()
4.MAX485の入力ピンを入力ON(REをHI>LOW)に設定(もしかしたら入力常にONでもOKかも)
5.MAX485の出力ピンを出力OFFに設定(DEをLOW)
6.データを受信

>>731
なんかネットで拾った
0736774ワット発電中さん
垢版 |
2020/08/06(木) 01:11:53.44ID:qXJLsa1c
6万もするセンサーポン使うのにデータシートすら読んでないとか
何かすげえな
おいらとは別世界の人だわ
0739774ワット発電中さん
垢版 |
2020/08/06(木) 01:33:33.78ID:agsyJYCi
あ、ちゃうか
ロジアナでもつないどきゃ出力はチェックできるな
面白そうではある
0740774ワット発電中さん
垢版 |
2020/08/06(木) 01:35:36.32ID:agsyJYCi
でもじっちゃんがセンサーはIICかSPIだけにしとけって言ってたからやめとこう
0745774ワット発電中さん
垢版 |
2020/08/06(木) 06:53:48.82ID:t89/X9dv
RS-485のインターフェース基板で2端子しか付いてないものって、安心して接続できるのは共通グランドが期待できる範囲だけだよな。
0746774ワット発電中さん
垢版 |
2020/08/06(木) 07:53:58.62ID:/RdpEj1Q
そういえば、昔どこかのスレでRS485をA、Bの2線にするか、
A、B、GNDの3線にするかの大論争があったな
0748774ワット発電中さん
垢版 |
2020/08/06(木) 11:13:35.23ID:dQgB9h/W
>>747
どちらともいえない、運用方法や状況、考え方によって変わると思う
RS-485は2線(or4線)で通信することを前提として考えられた規格だと思うのだけど
2線通信で不具合が発生する場合の対処の1つがGNDを接続する方法だと思う
(また外部ノイズを減少される目的でのシールドとGNDを接続する事と別に考えたほうが良いと思う)
機器A−機器Bで通信するとして、電源が絶縁されてれば問題は起こりにくいと思う
また、電源が共有の場合でも、通信側を絶縁すれば問題は起こりにくいと思う
多分業務用の高い機器は電源も通信も絶縁されてる可能性が高い気がする(←そんなの持ってないよ・・)
GND接続の有無で通信に問題が有る状況だとしたら、GNDを接続する以外の手段で問題を解決した方が良いと思う
0749774ワット発電中さん
垢版 |
2020/08/06(木) 11:18:08.64ID:V8nKybkJ
>>745
RS485はA-B間の電位差で信号を送るのでGNDとは直接関係無いんじゃないか?
GNDはコモンモードノイズ対策のシールド線用でGND間の電位差が問題になる様な場合は片側のシールドを浮かすだろうし
0750774ワット発電中さん
垢版 |
2020/08/06(木) 11:35:29.56ID:t89/X9dv
RS-485インターフェースICのメーカーの資料を提示して議論するべき。
0752774ワット発電中さん
垢版 |
2020/08/06(木) 13:45:07.71ID:zReUPyp0
部屋の換気具合を知りたいのでCO2センサーモジュールを買おうと思てるんだけどArduinoで使いやすいおすすめある?
0755774ワット発電中さん
垢版 |
2020/08/06(木) 23:46:38.77ID:9X+QUB86
>>752
最低、アナログ出力かシリアル出力が付いてればいいんでないの?
ノイズのこと考えると、シリアルが1番かな?
センシング面での性能は分からんわ
0756774ワット発電中さん
垢版 |
2020/08/08(土) 07:27:15.26ID:zFGmnYK/
ARMとかRISC-Vだとavr/pgmspace.hにあるpgm_read_byteとか使わなくても
直接、プログラム領域にある変数とか配列読めるんだね
Arduinoの作法としてはavr/pgmspace.hにある関数群使うのがいいのだろうけど
0757774ワット発電中さん
垢版 |
2020/08/08(土) 11:26:30.72ID:3OmqZVpQ
それはArduinoの作法じゃなくて搭載してるマイコンAVRの仕様なんで・・・マイコンのデータシートや命令セットを読んでもろて
ちなみにAVRでも最新のmega0とかtiny1とかAVRDAシリーズだとLPM命令を使わなくてもLD命令でアクセスできるぞ
0758774ワット発電中さん
垢版 |
2020/08/08(土) 21:53:24.65ID:c5JF+g9Z
不注意で328Pじゃなくて168Pがのったnano互換ユニットを買っちゃったが、(4枚) 168Pの方が良いことって1つでもある?
0759774ワット発電中さん
垢版 |
2020/08/08(土) 21:56:40.76ID:3OmqZVpQ
マイコン的には容量が少ない以外の差がない ので値段が安いのであればそこだけ
0760774ワット発電中さん
垢版 |
2020/08/09(日) 03:06:38.40ID:YPAdskZ6
>>759
ありがとうございます。
やっぱりそうですよね。
失敗しちゃったなぁ。
0762774ワット発電中さん
垢版 |
2020/08/09(日) 23:26:01.30ID:YPAdskZ6
>>761
いや、すでに目の前にあって、実際メモリ不足で書き込めないスケッチがあった。軽い目的に回そう。
0767774ワット発電中さん
垢版 |
2020/08/12(水) 02:25:11.35ID:3cDz/9fL
やすりで削ってレーザー刻印だから消しゴムじゃ消えないぞ
全額返金で168Pが無料で手に入るチャンスだけどそういうのは無いなw
チップ単体だとTiny12の刻印削ってTiny85として売ってるのはよく見かける
動かないとかチップIDが違うといえば返金してもらえる
0768774ワット発電中さん
垢版 |
2020/08/12(水) 10:34:08.48ID:Dw8Xx6vV
ひでえな中華
50円の詐欺のために50円のコストかけてないか?
0769774ワット発電中さん
垢版 |
2020/08/12(水) 11:41:19.07ID:vVOY7Dqt
>>768
販売先に日本が多いと、評価が上がるとか、日本人は余り文句を言わないで諦める奴も多いとか?
0771774ワット発電中さん
垢版 |
2020/08/13(木) 06:01:17.62ID:o12y0wFX
Aliexpressで買って届くまでに1ヶ月、2ヶ月待った挙句にそれが偽者だったらショックだよなw
0772774ワット発電中さん
垢版 |
2020/08/13(木) 07:39:35.43ID:/35kYQvX
さいきん10日くらいで届くようになってきた
0774774ワット発電中さん
垢版 |
2020/08/13(木) 09:56:16.20ID:54CFqnyS
https://forum.arduino.cc/index.php?topic=699473.0
AVRDAシリーズのコアが仮完成したみたいだ

https://www.microchip.com/wwwproducts/en/AVR128DA28
VCC=1.8Vでもフルスピード24MHzで動く今年発売したばかりの最新のAVRマイコンだ
tiny1シリーズやmega0シリーズに順ずる高性能な周辺機能を装備のうえ、ADCが12bitだったりDACが10bitだったりパワーアップしてる
命令セットは↑から変わってないので何時も通り使える上に、push命令とsbi命令とcbi命令のマシンサイクルが2から1に短縮され割り込みルーチンなど高速化
ROM128k/RAM16kの大容量でEEPROMもアリ、なんと28pin仕様にはDIP版もあるぞ!
0775774ワット発電中さん
垢版 |
2020/08/13(木) 10:14:28.19ID:CNTX7rkP
まあ、届いただけマシだと思わねば
何ヶ月も届かず、注文したことすら忘れて、
そのまま闇に消えていった注文品がいくつもある
0778774ワット発電中さん
垢版 |
2020/08/15(土) 21:52:40.28ID:+8PpU1Je
素人ですが質問させて下さい。
CH340シリーズのUSB変換モジュールで、USBからの5Vを給電しつつ信号レベルを3.3Vにするにはどうすればいいでしょうか?
少なくともCH340のVCCに3.3Vを入力する必要があるのですが、CH340の3V3端子とVCCをショートさせるみたいな話もありましたが、データシートを読んでも具体的にどうすればよいかわかりませんでした。

実際には↓のCH340Eが実装されたこのモジュールを使ってます。3.3Vという記載がありますが3.3Vで使う方法の記載はありません。
https://m.ja.aliexpress.com/item/33041987984.html

5V/3.3V切り替えができるモジュールもありますが、あれはチップのVCCへの入力前に5Vとは別に3.3Vへ降圧している?
そもそもCH340の3V3端子の使い方(用途)が不明です…
0781774ワット発電中さん
垢版 |
2020/08/16(日) 01:54:23.11ID:7teaR4JZ
>>779
ありがとう。私が見てたのはこちらですが内容的には同じですね。
https://www.mpja.com/download/35227cpdata.pdf

やっぱりUSBの5VをそのままCH340に使ってシグナルを3.3Vにするのは無理ぽいですね…
CH340のV3ピンは、5V給電時は3.3Vが出力されるので、チップ内で3.3V生成してるのだから、それなら5V動作時でも3.3Vで通信するモードがあってもいいのにと思ってしまった。
CH340積んでV5/V3.3切り替え付きのモジュールは、よく見ると別途レギュレターチップ積んでてそこで3.3V作ってるみたいでした。
素直に3.3V対応のUSBシリアルを買ってきます。

せっかくCH340単体で3.3V供給してるのになんか使い道無くてもったいないなぁ
0782774ワット発電中さん
垢版 |
2020/08/16(日) 02:00:15.42ID:9o/GovX2
USBシリアルなんて頻繁に買うものじゃないし
安さに釣られずおとなしくFTDIの買ったらええ
ワイは秋月で5V/3.3V切り替え可のやつ買った
0784774ワット発電中さん
垢版 |
2020/08/16(日) 03:58:53.70ID:NpkK4fjc
最悪だ
新しく買ったDUEに載ってるch340gにブートローダーが入ってないみたいだ
しかもこのボードicspピン付いてないし
Nativeポートは使えるけどProgrammingポートが全くデバイス認識されない
今度からicspピンついてる16U2が載ってるボードのみにしとこ
0785774ワット発電中さん
垢版 |
2020/08/16(日) 09:07:42.02ID:7teaR4JZ
>>783
ああ、なるほど!
CH340の3.3Vは自身のコア動かすためにあるのか!

>>782
はい、そうします(笑)

勉強になりました。
0786774ワット発電中さん
垢版 |
2020/08/16(日) 09:17:10.64ID:wvTH9f4z
>>784
CH340G自体にブートローダーって要る?
0787774ワット発電中さん
垢版 |
2020/08/16(日) 11:36:18.68ID:5lKcH6N8
aliで5vのprominiまとめて買ったんだけど、5v16mhzで書き込むと動作速度が半分になる。
3.3v8mhzで書き込むとオッケー。

間違えたんかなこれ?

ただ3.3v8mhzのやつでも、raw端子に繋げば5vで動かしてもいいんだよね?
確か12vくらいまで対応していると読んだことあるし。
0789774ワット発電中さん
垢版 |
2020/08/16(日) 12:54:45.54ID:y4+pmmSd
>>787
とりあえず OD しましょう。

耐圧はレギュレーターによるんじゃないのかな?
ヒューズリセットに12v使うので、チップ自体は壊れないだろうけど、
レギュレーターによっては、香ばしいことになるかも?

https://ht-deko.com/arduino/promini.html
ここの写真を見る限り、うちにある 5v版 だと思ってたものも全て 3.3v かも?
ずっと普通に 5v で使ってるわ。
0791774ワット発電中さん
垢版 |
2020/08/16(日) 19:08:53.44ID:NpkK4fjc
>>786
要らんのか?良く解からんが
ch340gに原因がある事は確かだ
0792774ワット発電中さん
垢版 |
2020/08/16(日) 20:49:31.44ID:ToDaud7V
ブートローダーを何だと思ってんの?
CH340Gはマイコンじゃねえぞ
0793774ワット発電中さん
垢版 |
2020/08/16(日) 22:57:08.49ID:CXIwVcEz
CH552Gはマイコンです。
USBのほか、UART、ADC、アナログコンパレータ、タイマ、PWM を装備し、
CH340Gのように働くことができます。
0794774ワット発電中さん
垢版 |
2020/08/17(月) 01:08:25.52ID:z2plY6r8
>>792
止めたれ
勘違いして恥ずかしいのは、本人が1番分かってるのに、そういう傷口に塩を塗る様なことは
0795774ワット発電中さん
垢版 |
2020/08/17(月) 03:46:46.35ID:rDyAt7W1
では16U2は?
0796774ワット発電中さん
垢版 |
2020/08/17(月) 09:09:03.35ID:Oj0PccPL
>>795
16U2はマイコンとして売られているもの。
ユーザーがプログラムを書き込むかあるいは、メーカーにプログラムを書き込んで出荷するように要求されるもの。
CH340Gは、USB-シリアルのブリッジとして売られているものなので、16U2と同じようには考えられないと思う。
(MCP2200の中身がPIC16F1459でも、MCP2200をマイコンとは言わない。FT232もたぶん中身はマイコン)

CH340Gが動作しないなら、もしかしたら本当に中身がマイコンで、プログラムのミスなのかもしれないけれど
外面的には、部品としての不良とみなして考えるのが自然だと思う。


電子工作をする一般エンドユーザーから見れば、
16U2が動いてなさそう…
16U2用のプログラムを書き込んだら治るかも
ハード的に破壊されているなら、少なくとも 16U2を載せ替えて、その上で16U2用のプログラムを書き込む必要がある。

CH340Gが動いてなさそう…
パターンやほかの部品に問題がないなら、CH340Gを載せ替えれば動くはず。

なんにせよ、>>784を書いた人のの主旨は「CH340Gが不良らしい」ということなので「ブートローダー…」はもういいよね。
0797774ワット発電中さん
垢版 |
2020/08/18(火) 23:16:45.57ID:2ssJrpkT
数年前に書いたスケッチを、久しぶりに改造しようかと思ったら、
PROGMEM prog_uchar hehehe[] の宣言が通じなくて、
コンパイル通らなくてあせった。
こんな時代なのね。
const char hehehe[] PROGMEM
プリプロセッサにしても意味不明な、、、
0798774ワット発電中さん
垢版 |
2020/08/19(水) 08:18:21.87ID:oUw0VpPB
PROGMEMの部分は__attribute__ ((progmem))だからね
だから宣言ではこうなってることになる
const char hehehe[] __attribute__ ((progmem))

するとprogmemというコンテキスト名で領域が確保される
0799774ワット発電中さん
垢版 |
2020/08/19(水) 08:26:50.37ID:oUw0VpPB
インラインアセンブラでこうしてやるとバイナリファイルをprogmemとして確保できるらしい

https://pastebin.com/nuPfavZ1

使い方はhogehoge.binがバイナリファイルでHOGE01がそのデータに割り当てたいシンボル名として
C言語で
IMPORT_BIN("hogehoge.bin", HOGE01);
extern const uint8_t HOGE01[];
とやればいいらしい
0800774ワット発電中さん
垢版 |
2020/08/19(水) 08:47:59.00ID:oUw0VpPB
間違えたコンテキスト名じゃなくてセクション名ね
progmemって要するにセクション名をprogmemにしてるだけっぽいよ
0802774ワット発電中さん
垢版 |
2020/08/19(水) 12:05:50.28ID:oUw0VpPB
実際にteensy4.0で試してRGB565の画像データファイル>>799でインポートして
LCDに表示できた
画像データはGIMPでCソース形式で保存するとRGB565に変換できるので
それをバイナリデータとして書き出す自作プログラムを作成
Arduino IDEではファイル名は絶対パスで指定しないとエラーが出たよ
0803774ワット発電中さん
垢版 |
2020/08/19(水) 12:59:20.62ID:xUkHyJPc
そういうのできちゃう人って
神様にしか思えないんだが
何がどうなってるんだろう
0804774ワット発電中さん
垢版 |
2020/08/20(木) 02:32:40.86ID:giZ5hrAX
ほんとに好きで勉強(・・・というか勉強しようと思ってやるんじゃなく好きで学ぶというか・・・勝手に調べる)してずっとやってりゃそのうちその神様とやらになれるよ
0805774ワット発電中さん
垢版 |
2020/08/20(木) 19:22:22.05ID:8qEcqUzL
pro microの3.3V/8MH版、USB/HIDなスケッチをテストしてて、ボード設定Leonardoで書き込んだら死亡しちゃった
これってbootloader焼きなおせば復旧するのかな? ちょっとすぐ試せないのでわかる人いたら教えてください
0806774ワット発電中さん
垢版 |
2020/08/20(木) 19:39:22.55ID:tTPb70mC
物理的に壊してなければ正しいスケッチとヒューズ設定にすればおk
0808774ワット発電中さん
垢版 |
2020/08/21(金) 18:43:23.80ID:B4smGZm+
>>805
書き込みをWindows上で行っているならば、pro microをH/Wリセットした直後に
ハードウェアマネージャでBootLoader用のCOMポートがが見えるようならば
IDEでブートローダを書き込めば直るかも
BootLoaderが見えない場合にはICSP経由でBootLoaderを書き込む
それでもダメだとわかんない
0809774ワット発電中さん
垢版 |
2020/08/21(金) 18:57:12.84ID:gUV1usUn
一度書き込めて二度目から書き込めなくなったときはこれ試してみて

612 名前:774ワット発電中さん[sage] 投稿日:2019/12/06(金) 20:41:59.26 ID:9sDeXhF9
>>609
リセットの手順ちょっと違った
pro miniの場合だけどこんな感じ
参考にしたページのアドレス貼れないからコピペ

Arduino Pro Mini側のリセットボタンを押しながら、
Arduino IDEのアップロードを実行し、
FTDI-USB変換ボードのTXが光った瞬間に、
Arduino Pro Mini側のリセットボタンを離す。
0810774ワット発電中さん
垢版 |
2020/08/21(金) 23:07:39.40ID:1pzV0KtY
俺のArduinoなんかブートローダ書き込み後1回目はスケッチ書き込めて
2回目からは書き込めない
そしてまたブートローダを書き込むとやはり次の書き込みは成功して
その次は失敗する
ゴミ
0811805
垢版 |
2020/08/22(土) 07:50:49.14ID:K//t8YpT
805です。コメントありがとうございます。Fuseビットは変わってなくbootloader書き込み直しだけでで復旧できました。

中華ProMicro2種(5V/16MHz、3.3V/8MHz)があって付け替えて試していたところボード設定を間違えました。
5V/16MHz⇒Leonardo、3.3V/8MHz⇒Liliypad USBと設定しておかないとおかしなことになっていたようです。

あとHIDなスケッチは曲者ですね。スケッチ書き込み後にCOMポート見失ったり、ポート番号が変わったりすることがあります。
環境はwin10ですがCOMポートがスゴイ勢いで増えていってます・・・いらないの消さないと・・・
0812774ワット発電中さん
垢版 |
2020/08/23(日) 07:17:56.26ID:sIJ7Fw4z
>>811
> あとHIDなスケッチは曲者ですね。スケッチ書き込み後にCOMポート見失ったり、ポート番号が変わったりすることがあります。

HID と COM が混在するのが難しいのですかね?
vUSB 関連を昔にいじったけど、結局、STM32 に落ち着いた。
STM32 も HIDデバイス にすると COMポート を見失うけど、
スケッチ書き込み時に、リセットを押すだけなので、そんなに困ってない。
micronucleus 搭載の Tiny85 も、それなりに癖はある。
0813774ワット発電中さん
垢版 |
2020/08/23(日) 16:38:49.67ID:rpPB0WUf
HIDでCOM見失うって良く見るけど、HIDモードが使えるやつはブートローダモードの
時しかスケッチ書き込めるCOMが見えないだけじゃないのかな
AT32U4(Pro Micro互換ボード)はH/Wリセットして8秒間だけスケッチが書き込める
COMポートが見えるようになる動作が普通みたいだけど
ブートローダー書きこんだ直後しかスケッチ書き込めないってやつも、IDEで書き
込むとき、書き込み開始してからタイムアウトするまでにH/Wリセットかければ
書き込めると思うけど
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況