X



トップページ電気・電子
565コメント206KB

PIC専用のスレ Part 59 エラッタの話題も歓迎

0001PIC16F15323
垢版 |
2019/05/23(木) 22:20:38.16ID:qg++Z52P
     ______
   /Microchip ./|
 / ( ゚∀゚)   /  | アセンブラのアの字もわからない
 |~ ̄ ̄ ̄ ̄ ̄|  /. 超初心者からHEXが読めてしまう
 |/Z./Z./Z./Z_|/ ||  鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
  ||. ||. ||. ||
.
大人気のPICマイコンのスレ
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富
使いやすくて、しかも安い。やっぱりPICだよね

例の如く基本リンクね
http://www.microchip.com/  マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
http://www.microchip.com/maps/microcontroller.aspx Microchip Advanced Part Selector (Maps)
またーりやっておくんなまし

種類が多くてワカランって人は上記パーツセレクタで、機能から最適製品を絞り込もう!
教えて君はとりあえずGoogle( (p)http://www.google.co.jp/ ) くらい使おう

テンプレ内の秋月小売価格も在庫が捌ければ、次の仕入れからは昨今の為替相場変動にならって
適宜価格改定されてます。ここの表記価格とは違うかもしれないのでそのつもりで

回答者する人の注意
.  最初に回答したい気持ちは分かるけど、質問者の内容を、落ち着いてよく読もう。
質問者する人の注意
.  あなたの周囲しか通じない変な省略語は使わずに、なるべく詳しく説明してね

前スレ:
Part 58 https://rio2016.5ch.net/test/read.cgi/denki/1526808360/
Part 57 http://rio2016.5ch.net/test/read.cgi/denki/1517669525/
0511774ワット発電中さん
垢版 |
2024/04/02(火) 17:39:25.18ID:bKY6ioLu
PIC32MZ2048EFでADC 16xオーバーサンプリングと980サンプルDMAしたいのだが、オーバーサンプリング中に何らかの割り込みが入るとオーバーサンプリング停止してしまうね。
DMAで各入力レイテンシーを最小にしたいと思ったが、うまくいかないものだ。
STM32H7ではこんなことは無いのに、PIC32はムズイ。
0512774ワット発電中さん
垢版 |
2024/04/02(火) 18:47:12.99ID:ufW6Y72u
>>510
とりあえず適当な12Fのデータシートを読んでみては。web上でタダで見れるから。理解できそうならもうそれで行けばいいし、サポート欲しければ本買えばいい。
一歩踏み出してみないことには、どこまで理解できるのか自分でもワカランでしょ。他人が判るはずもない。
0513774ワット発電中さん
垢版 |
2024/04/02(火) 21:47:20.65ID:rlle0bDh
>>512
ありがとうございます
一応現物買ってデータシート読んで色々なサイトを参考にはしています
どこの行がどういう意味を持っているのかとかコピペでやって
コンパイルエラーが出た時の対処法とかを
見つけ出すまで凄く遠回りをしていると感じたもので
書籍を買うなりちゃんと勉強をした方が良いと感じました
とりあえずシリアルデータを読み取ってLEDを光らせるとかのレベルでいいと思っていますが、
中途半端に人の書いた物をかじって基本的なルールとかを知らないのだなと感じました
PCの組み立てや基礎的な電子工作は出来ると思います
バッチファイルの分岐云々で躓いたので、考え方が出来ていないと思っています
0514774ワット発電中さん
垢版 |
2024/04/02(火) 22:32:13.94ID:r+/Wirdd
>>513
意外に良いのがYouTubeです。
「PICでLチカしてみた」とかのタイトルでいろいろ出ています。
ソース(プログラム)も出ていたりするので、
画面を止めてゆっくり見えます。

おすすめしたい勉強法は、以下の通りです。
1. 最初はマネ
   難しい理屈を考えようとせずに、人のまねをして、
   その通りの回路で、その通りのプログラムを
   何も考えずにベタでコピーして動くようにします。
   2-3種類を何度も何度もやります。いわゆる体育会系的に行います。
   すると、ツール(MPLABやPICKit)の使い方が覚えられます。
   鉛筆と消しゴムは無意識に使えないと
   国語の勉強ができないのと同じです。

2. 改造してみる
   プログラムをまねて打ち込んでいると、なんとなく意味がわかってきて
   「もしかしたら、こうしたらこうなるんじゃないか?」と
   予想が立てられるようになります。
   そうしたらプログラムの値を変えていじって結果を見て意味を考えます。
   エラーで動かなくなってしまっても、動くものからの変更なので、
   迷うことなく元に戻れます。
   いつでもスタート地点に戻れる環境、これが大変重要です。

3. 自分で1からやってみる
   上記2ができるようになるということは、
   もうツールの使い方からプログラムまでできるようになったということです。
   あとは自分で小さなプログラムを作ってみることです。
   いろいろと作っていくと、だんだんプログラム文法の
   わからないことが出てくるはずです。
   その時は、ネットや本、それこそ後閑さんの本を読んで見てください。
   知りたいことがはっきりしていますから、理解も格段に早いです。

アルデーノもいいですが、
最初は時間がかかりますが、ハードの製作を伴うほうが良いです。
ある地点で、それは突然にマイコン全体が見えてきます。
そこからの理解は、ハードが面倒だからとアルデーノから
スタートした人より、超スピードで理解が深まります。
これは実体験ですので、まちがいありません。
0515774ワット発電中さん
垢版 |
2024/04/02(火) 23:26:35.53ID:V2pf9ScH
最初にマイコンを学ぶなら癖ツヨのPICを選ばなくてもいいと思います。
0516774ワット発電中さん
垢版 |
2024/04/03(水) 09:27:08.82ID:xNYnXjiV
>>514
ありがとうございます
専用の書籍等があればと思いましたが
コピペがきかないので電子で・・・なんて思っておりました
どれも気軽に買える値段ではないのでしばらく見送りたいと思います
動画はほぼノーマークでした。
大きなヒントありがとうございます
元々ハードは好きでいじって来ましたがソフトは触れて来なかったので
やりながら繋がりを見つけて行きたいと思います
0517774ワット発電中さん
垢版 |
2024/04/03(水) 16:25:28.08ID:UFxLQxXE
>コンパイルエラーが
( ゚д゚)ハッ!

>価格等から12Fシリーズ辺りで始めたい
>最終的には小型に作ったりしたい
アセンブラだとばかり・・・
0518774ワット発電中さん
垢版 |
2024/04/03(水) 23:27:39.63ID:wGXC4LH/
いまさらアセンブラもないでしょ。
Cでやっとけば、PICだろうがどれでも同じだよ
0519774ワット発電中さん
垢版 |
2024/04/04(木) 08:47:38.68ID:yx/So+ZF
>Cでやっとけば、PICだろうがどれでも同じだよ

今はバンクをまたぐような配列確保やポインタ加算に問題はないのかな。
0520774ワット発電中さん
垢版 |
2024/04/04(木) 12:27:35.75ID:pM6h1GM4
ハーバード
0521774ワット発電中さん
垢版 |
2024/04/04(木) 14:17:02.50ID:AeJ4FVdP
PICやり始めたところだけど、勉強かねてアセンブラでやろうかと
0522774ワット発電中さん
垢版 |
2024/04/04(木) 16:56:12.81ID:3hSWQCrQ
PICも色々あるけど、12FとかクラスでCはどうだろうと思う。
0523774ワット発電中さん
垢版 |
2024/04/04(木) 19:22:48.96ID:V/yuYnxq
>>521
目覚めるもよし、辟易として高級言語に逃げるもよし。経験は血肉になるよ。
0524774ワット発電中さん
垢版 |
2024/04/04(木) 20:49:31.66ID:xVlVA/mJ
>>519
>今はバンクをまたぐような配列確保やポインタ加算に問題はないのかな。
そんなこと意識したことないな。Cのレベルに現れない。
0526774ワット発電中さん
垢版 |
2024/04/04(木) 22:09:57.17ID:AAK6jd8u
xc8はバンクとか無いので普通のCだわ。
出来ればC++で書ければ変数管理楽なんだが
0527774ワット発電中さん
垢版 |
2024/04/05(金) 02:11:31.40ID:6zH3TwXx
パイソンって使えないですかね?
0528774ワット発電中さん
垢版 |
2024/04/05(金) 07:49:10.69ID:eBp7SdwO
>>526
なるほど。
そのあたりの制約が無い(またはとても少ない)なら、C言語で取り組む限り、
「PICでマイコン入門」は問題なさそう。
0529774ワット発電中さん
垢版 |
2024/04/05(金) 20:38:33.19ID:mRd+wI9j
メモリ次第ってのもあるな12F509とかROM1kW,RAM41Byteしかないもんな、まあこんなのもう使う奴いないだろうけど…
12FでもRAMが1kあるやつもあるからそれくらいならCで書いても何とかなるかもな
0531774ワット発電中さん
垢版 |
2024/04/05(金) 23:05:33.68ID:7zlYgkTT
ピン数少ないのはデバッガ繋がらないから入門にはいまいちじゃない?
0533774ワット発電中さん
垢版 |
2024/04/06(土) 00:10:47.23ID:KTB8vtfn
パイソンって、記述の位置とかを変えてはいけないんでしたっけ。
0534774ワット発電中さん
垢版 |
2024/04/06(土) 00:22:23.36ID:+ZUUy86g
インデントがブロックに対応してるから固定といえば固定だな
煩いのはその位だけど
0535774ワット発電中さん
垢版 |
2024/04/06(土) 02:20:18.92ID:2l2zGroa
if( a==1 ){
  b++;
} else {
  b=8;
}

と書いたり
if( a==1 ){  b++; }
 else { b=8; }
とか書いたりしてるんですけど、それを許さないんですよね。
窮屈で、抵抗が1MΩくらいあります。
0536774ワット発電中さん
垢版 |
2024/04/06(土) 08:31:25.50ID:+ZUUy86g
上の書き方しか通らないね
俺は気にならんけど好みに合わないときついかもね
ライブラリが揃ってるからネットに繋ぐ物を作るのはすごく楽だよ
あとは地味だけど文字列の処理が楽
0537774ワット発電中さん
垢版 |
2024/04/06(土) 09:08:52.03ID:h1xjJO7c
好き嫌いとか印象で、好きだ嫌いだって言ってたら、自由奔放に取り残されるのが技術の世界ですね。
0538774ワット発電中さん
垢版 |
2024/04/06(土) 10:25:42.10ID:QRVAgh/I
>>537
変な文章。
何が言いたいのか。
0539774ワット発電中さん
垢版 |
2024/04/06(土) 10:43:05.10ID:h1xjJO7c
嫌いの感情が芽生えたら潰す方が、新しいものについていきやすい、って話ですよ。
0544774ワット発電中さん
垢版 |
2024/05/06(月) 11:42:43.73ID:AJKJxe4M
数年ぶりの久々にPICKit4を使おうとしたら、
Transmission on endpoint 2 failed (err = -109)
のエラーで全く使い物にならない。

以前使えていた時は同じパソコン筐体でWindow7で、USBポート(ドライバー)が3.0非対応だから2.0で通信していた。
今はWindow10にしていて、デバイスが対応していればUSB3.0通信が可能となっているのと
MPLABXを最新の6.20(前は5.45あたり)という違いがあります。

デバイスマネージャーを見ていると、firmwareを更新を開始して1分以内に
PICKit4が消滅して再表示されないので、更新処理に失敗していると思われる。

工場出荷状態に初期化は出来ているから、
USB通信に絡む部品が経年劣化しているのかな。
通信速度をLowにしても状況は変わらず。

もう純正品をやめて、PICerFTやPICKleを使おうかと悩み中。
0545774ワット発電中さん
垢版 |
2024/05/07(火) 17:58:34.80ID:3KUGx2ks
>>544
一度PICkit4のファーム書き直してみたら?
あとUSBケーブルを変えてみる
あと、複数のUSBコントローラ使われてるMBなら違う系統のポートに繋いでみるとか
0546774ワット発電中さん
垢版 |
2024/05/08(水) 22:47:20.73ID:YdZ8Lm9J
>>545
工場出荷状態に初期化は544に書いた通り実施済。

ケーブルは3種類試しました。
シールド付きの高級ケーブルは近所で今時売っていないので、
それは試していません。

違うポートは既に試しました。
普段タワー型を使っていて2口駄目で、更にノートパソコンでも試しました。
0548774ワット発電中さん
垢版 |
2024/05/09(木) 00:32:50.80ID:dWmyx8RG
意味が無いって意味じゃね?
0549774ワット発電中さん
垢版 |
2024/05/09(木) 02:30:53.04ID:RRxpVv6f
1と0どちらでも という意味では?
0552547
垢版 |
2024/05/09(木) 21:13:38.24ID:Fqp0OrLS
レスありがとうございます
おそらく、おもしろいPICマイコンPCI12F675を使いこなすって本に
って今見たら勘違いでした

MOVLW B'xxxxx011'
MOVWF TRISIO

MOVLW B'xxxxx0xx'
MOVWF ANSEL

xは元から入ってる数値を変更しない、みたいな認識でいいんでしょうか?
0553774ワット発電中さん
垢版 |
2024/05/10(金) 06:55:22.73ID:S2eI1pe0
TRISIOやANSELレジスタの仕様でそのビットには何も意味がない
もしくは
その本の中での使い方ではそのビットに何を設定しても動作に影響がない
みたいな感じかな
0554774ワット発電中さん
垢版 |
2024/05/10(金) 07:31:42.40ID:eisrEha4
ぼくの知らない記述だ。といってももう5年ぐらいPICのアセンブリ言語にはタッチしてないけど。

>MOVLW B'xxxxx0xx'
>xは元から入ってる数値を変更しない、みたいな認識でいいんでしょうか?

実際にそういう記述をしろと書いてあったのかな?
それとも、この機能を使うときは、xはあなたの用途に合わせて変えて、の意味だったのかな?


>>552さんには悪意はないのだろうけれど、質問するときに、情報を小出しにするのは良くないです。

>おそらく、おもしろいPICマイコンPCI12F675を使いこなすって本に
>って今見たら勘違いでした

「本は ”おもしろいPICマイコンPCI12F675を使いこなす”で、
今見てみたら、おそらく私の勘違いでした」
の意味でしょうか。

>552さんが書いた情報だけだと、この本を持っている人しか答えにくいです。
この本はAmazonでもレビューが少ないし、傾向としては、たくさん売れている本でもなさそうです。
どういう文脈で書かれているのか書いて質問する方が、より広い人からコメントをもらえるでしょう。
0555547
垢版 |
2024/05/10(金) 10:08:00.94ID:4d4CP/nA
みなさんサンクスです
>>553
この本の中で0と1どっちでもいいよとゆう意味だったのでしょうか
いまMPLABで
MOVLW B'11111111'
MOVLW B'xxxx0101'
と記述するとエラーでましたError[107] : Illegal digit (x in binary)

>>554
すいません情報小出しにするつもりはなかったんですけど
「よく使う表現だよ」「そんな記述方法はないよ」とか簡単に扱われるものだとおもてました

> 実際にそういう記述をしろと書いてあったのかな?
それがxについて注釈がないんです、
30行ぐらいの書けばプログラムが完成するような例文にサラっとかいてあるだけで

どうやらxを含む表現はなさそうですね
0556774ワット発電中さん
垢版 |
2024/05/10(金) 12:07:19.51ID:EmZIijbt
>>552
>xは元から入ってる数値を変更しない、みたいな認識でいいんでしょうか?
そう読むのが自然ですが
以下のように解釈するとよいです。

>MOVLW B'xxxxx011'  この話は下から3bitについて物を言ってるから
           下から3bitを001にして、残りはあなたの希望する値を入れてね。

>MOVLW B'xxxxx0xx'  この話は下から3bit目について物を言ってるから
           下から3bit目を0にして、残りはあなたの希望する値を入れてね。

xのbitは自分で判断、決定してね。僕は知らないからね。
0557547
垢版 |
2024/05/10(金) 17:12:06.24ID:4d4CP/nA
>>556
サンクス、任意の数値を入れないとダメですか
都合のいいように考えてました
いろいろとシビアですね
0558774ワット発電中さん
垢版 |
2024/05/10(金) 19:51:52.81ID:S2eI1pe0
ここに出されている情報だけで判断するとPCI12F675ということだからIOはb0~b5、TRISIOは入力/出力どっちにするか決めるレジスタ
b0~b2だけが具体的な数値が入っている
xが書いてあるb3~b5に何かつながっているなら>>556のように
>xのbitは自分で判断、決定してね。僕は知らないからね。
b3~b5に何もつながっていないなら>>553のように
>その本の中での使い方ではそのビットに何を設定しても動作に影響がない
という感じ
(xって書いたらエラーになってしまうのでだめだよ)
0560547
垢版 |
2024/05/10(金) 22:14:40.35ID:4d4CP/nA
まとめありがとうございます
mpasmコンパイラがMPLAB XIDEv5.35で終了していて
新しいアセンブラの情報がネットでも少なくて困ってました
0561774ワット発電中さん
垢版 |
2024/05/11(土) 00:09:34.19ID:KkVGTHB8
アセンブラの情報とかいう問題じゃなくて住所を書くサンプルに
XX県○○市
と書いてあったら、そのまま書類に書いちゃったレベルに見えるが
0562547
垢版 |
2024/05/11(土) 08:33:22.36ID:TphR4g5O
>>561
東京都xx区  フジテレビ本社
って書いたら郵便届きそうな気がしない?
0563774ワット発電中さん
垢版 |
2024/05/11(土) 09:16:57.62ID:1vk5IS0g
「住所を書くべきところには、XX県○○市とは書かない」という常識があるから、そうは書かないということであって、
その前提がなければわからない。さすがに、役所の申請用紙の住所欄ならどう書くべきかは、浸透率が高いだろうけれど、
本件のような、

X…変更しない
0…0にする
1…1にする

という認識にならないでいるためには、当該命令がどういうものなのかをわかってないといけない。

その本がどういう流れでそう書いたのかがわからんけれど。
0564774ワット発電中さん
垢版 |
2024/05/11(土) 12:09:02.36ID:lOkrlPTf
>>562
情報の重み付けを考えればこんな感じだろ。

;東京都xx区
movlw 'フジテレビ本社'
0565774ワット発電中さん
垢版 |
2024/05/11(土) 16:41:37.21ID:TphR4g5O
>>563
movlwの内部の命令構造をわかってないといけないってなかなか厳しいですね
ビット処理命令は操作対象外のビットも一度読み込み上書きって書いてあったような
気がするんですが、そんな感じかなあとおもてました

>>564
さいきんのとれんど
GOTO $+2
MOVLW 'フジテレビ'
MOVLW 'テレ東'
レスを投稿する


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