pic初心者専用のスレ その1

このエントリーをはてなブックマークに追加
1774ワット発電中さん
PIC専用のスレはすでにありますが、敷居が高くて
初心者には質問がしにくいです。
そこで初心者専用のスレをたてました。
2774ワット発電中さん:2013/02/18(月) 23:38:07.81 ID:YMfw6uxy
>>1
3のうし:2013/02/19(火) 08:17:25.77 ID:NYPZDD5p
http://c.2ch.net/test/-/denki/1360674351/1
>アセンブラのアの字もわからない‥

そりゃアセンブラだって敷居高い罠。ブログラムのプの字レベルか?

てんぷら:
Q.picって何ですか? 電子工作でやたら出てくるんですが。

Q.あのICに書き込むとか、プログラムするとかありますがどういうことですか。

Q.picってどこ行けば手に入りますか?

Q.股間さんって誰ですか?

・・・だりか、A.を書いて。
4774ワット発電中さん:2013/02/19(火) 09:47:07.16 ID:Z2oV8xgS
どうすんだよ、このスレ。
そもそもPICは(マイコン)初心者向けじゃないし
5774ワット発電中さん:2013/02/19(火) 10:03:06.20 ID:mhQ7f36A
初心者は別なの使うから

終了
63:2013/02/19(火) 10:07:03.76 ID:NYPZDD5p
>PIC12F675を実態図のように組んでみたのですが全くこれのLEDが点きません。
電池も電源もきているし、LEDの極性も確認しました。またPICがヌッ壊れた可能性も考えてもう一台作りました。
何がいけないんでしょうか?

なんてPCなしで組み立てるのがいたりするから必要なのさ、ここは2ch。

と言いつつも、厨ん時にZ−80でパソコン作る記事見て、組み立てればBASIC動くのできるかと思っていた。27C256そのままで。
7774ワット発電中さん:2013/02/19(火) 14:49:00.07 ID:Z2oV8xgS
PCなしで2chに書き込むとか最近の人は進んでいるね
86:2013/02/19(火) 16:57:38.86 ID:NYPZDD5p
ぼくはいつもそーですが何か
97:2013/02/19(火) 17:02:43.71 ID:NYPZDD5p
あっ、0x2chのレジスタへか! あれは何の設定だったっけ?
109:2013/02/19(火) 17:10:01.48 ID:NYPZDD5p
×:>>7
〇:>>8
11774ワット発電中さん:2013/02/19(火) 17:17:00.23 ID:SNKO6+Ry
初心者は写真や絵で説明しないと無理だと思うけど。。。 2chのテキストオンリーでは無理なんじゃね?
12774ワット発電中さん:2013/02/19(火) 18:04:34.84 ID:3uvk5bLQ
pic専用のスレは喧嘩ばっかだよw
13774ワット発電中さん:2013/02/19(火) 21:39:03.27 ID:1AsmK+JD
あっちは喧嘩ばかりだから
とりあえずこちらはあまりギスギスしないといいな
14774ワット発電中さん:2013/02/19(火) 21:52:30.36 ID:Fh4lIX02
あちらの人に発見されるから無理
15774ワット発電中さん:2013/02/20(水) 02:40:42.81 ID:97Q+wMyH
まあ順序立ててこれから始める人向けに書いてみるか。

1.開発には何が必要なの?
PICKIT2か3。秋月電子あたりで購入しましょう
プログラムの開発ツール。microchipからMPLABをダウンロードしましょう

あとはググったりマニュアルを飲める程度の脳みそ。
分からないことはここで聞け。


入門用PICは16F88で良いかな?
16F84は作例や情報多いとはいえ、さすがにもう切っても良い時期だと思うんだ。
16774ワット発電中さん:2013/02/20(水) 02:42:12.62 ID:0S1d3TPG
そうだな。16F84は無いわ。
せめて16F84Aだな。
17774ワット発電中さん:2013/02/20(水) 02:55:42.75 ID:97Q+wMyH
マニュアルを飲める、じゃねえや読めるだw

さて言語はアセンブラかCか・・・ここで古老達の論争が始まりますw


最初は中身の動きもちょっとだけでも理解させたいので独断でアセンブラにするね。
最初の回路(LEDチカチカ)の回路図とソース、解説文をまとめてどっかに置くので週末まで待ってくれ。

一度にあまり大量に情報を与えないために、回路は電池駆動の内部発振にしとこう。
必要なパーツはユニバーサル基板の切れっ端、PIC16F88、乾電池2本、赤色LED、1k抵抗1本。
18774ワット発電中さん:2013/02/20(水) 13:21:16.56 ID:N6/BL2uC
>>15
>最初は中身の動きもちょっとだけでも理解させたい
上から目線が、なんとも言えませんね。

>まあ順序立ててこれから始める人向けに書いてみるか。
誰も頼んでいないけどね。
ネットにたくさん写真入りで出ているから、それ以上の物をお願いね。

>入門用PICは16F88で良いかな?
なんで今更、わかりにくい16Fなの?
24のほうがストレートでわかりやすいのに。
19774ワット発電中さん:2013/02/20(水) 13:28:10.37 ID:2mL6qQXA
>>18
相手する価値無いと思うけど?キミも同レベルならしょうがないが。
20774ワット発電中さん:2013/02/20(水) 20:44:59.32 ID:bpVQQX0h
>>18
まあ、いいんじゃないのやってくれると言うんだから、お手並み拝見といこうじゃないの。

24Fを薦めるなら、>>18みたいにプロモーションしてよ。
21774ワット発電中さん:2013/02/20(水) 22:45:11.27 ID:bpVQQX0h
間違えた

>>18
まあ、いいんじゃないのやってくれると言うんだから、お手並み拝見といこうじゃないの。
24Fを薦めるなら、>>15みたいにプロモーションしてよ。
22774ワット発電中さん:2013/02/20(水) 22:46:27.28 ID:JMHjj6+Y
今日はもう寝ろ>>21
23774ワット発電中さん:2013/02/20(水) 23:16:37.69 ID:hif71DyO
18Fでやってよ
24774ワット発電中さん:2013/02/20(水) 23:17:22.18 ID:hif71DyO
初心者一人もいなかったりしてw
25774ワット発電中さん:2013/02/20(水) 23:50:59.70 ID:7vtNcyxC
アセンブラで始めるのは良いと思う
ある程度経験してからCに移ったとき理解しやすい
26 ◆HIKaRi/Dzs :2013/02/20(水) 23:52:40.45 ID:ntFKHwEx
マイコンの勉強という意味ではアセンブラがいいね
27774ワット発電中さん:2013/02/21(木) 00:19:58.31 ID:60wCFw4G
誰か初心者来ないかな、待ちわびてる人たちのスレ。
2815:2013/02/21(木) 00:52:54.51 ID:Cr/pCzk7
異論は認める。

ゼロから始める人には、電子工作の実験室は
どこから読み始めて最初に何を作ったら良いのかわからんと思うんだ。
他の入門書とかも最初に色々一度に教えすぎて読むのが辛い。


まずベースになる最低限の構成で動く実物を作り、
あとは動かしながらその基板に機能を継ぎ足してゆく方針にすれば
とっつきやすいんでは無いかと考えた。
29774ワット発電中さん:2013/02/21(木) 01:20:52.77 ID:zFtmZnjh
16系にしても、これから始める人にF88は無いわ
出た当時は画期的だったし、超多機能だったけど、無理に機能詰め込んで
ピン配置は変態的だし、過渡期だったのもあってI2C無いとか、ハンパな所あるし

まあ、オレも結構使ったし、今でも手持ち結構持ってるけど、
これから始めるなら16F1827あたりがいいんじゃね?
30774ワット発電中さん:2013/02/21(木) 01:22:33.49 ID:+EIr3OKn
おいおい 1827と88のピン配置は同じだろ。
31774ワット発電中さん:2013/02/21(木) 01:56:15.73 ID:zFtmZnjh
APFCONで振り替えできるようになってんじゃん
っていうかAPFCONで弄ればF88互換にできるようになってるだけ
32774ワット発電中さん:2013/02/21(木) 02:54:04.00 ID:ajeYy2T0
初心者は16F688がいいいと思うよ。安くて14ピンでコンパクト。


-◎16F688 \110 ADC有,eUSART有,4Kw,内蔵31k-8MHz,CCP無が残念
33774ワット発電中さん:2013/02/21(木) 05:07:19.51 ID:dVtNDIqz
わかりやすさで言ったら16F84Aの右に出るものはいない

なにしろ周辺がなんにもついてない

それでいて割り込みは使える←結構重要
34774ワット発電中さん:2013/02/21(木) 06:01:10.59 ID:tWyTj4cI
割り込みのないマイコンに価値はない、
って、言い過ぎ?
タイマー割り込みと、外部割り込みがあれば、大抵オッケー
35774ワット発電中さん:2013/02/21(木) 08:08:27.57 ID:FbJNWRP6
ローラさん乙
36774ワット発電中さん:2013/02/21(木) 14:32:27.38 ID:sstmCphu
16F88の方がマシだろ。
37774ワット発電中さん:2013/02/21(木) 18:16:08.16 ID:FZBH/OpL
>>1
敷居が高いは意味が違うぞ
38774ワット発電中さん:2013/02/21(木) 19:54:53.35 ID:vd5MIXjp
ラダーを標準にしよう
39774ワット発電中さん:2013/02/21(木) 23:34:19.53 ID:GRuzjo/F
私もあちらから逃げてきました。
私はアセンブラ派なのですが、初心用にはバンクを意識しなくてよい10F322を推します。
割り込みもあり、機能豊富です。昔の509のようにサブルーチン配置の制約もありません。
40774ワット発電中さん:2013/02/22(金) 01:08:52.75 ID:7zBhPAdP
「生涯エンジニアの◯◯◯」に良いこと書いてあるな
「朝の工作室 PICを勉強するにはどうしたらいいかへの返答」
41774ワット発電中さん:2013/02/22(金) 06:42:43.75 ID:mAGuVjOn
初心者にアセンブラすすめるのヤメロ
PCのプログラミング思考にも繋がるCでやらせれ
初心者はCだけでいいのです
逆にCを切っ掛けに、
その先にあるライブラリの使い方や
オブジェクト指向の言語を覚えていけばいいのです
先が広がります
アセンブラに手を出すと、コンパイラより俺の方が優れているという認識が先に来てしまい
視野が狭くなる傾向になります
42774ワット発電中さん:2013/02/22(金) 09:41:59.33 ID:Z/vHWhBx
Cでは、一行で書けるのに、アセンブラは何行になることか。

if((a%13)>>5){
43774ワット発電中さん:2013/02/22(金) 09:54:07.36 ID:9hhq/IrG
どちらのスレも同じような流れになっている
優劣論はやめたい、所詮一長一短
アセンブラは習熟できなくても、簡単なプログラムでも体験しておけば
デバイスの仕組みや挙動を理解できる
そうするとCのメリットもデメリット、賢い使い方も見えてくる
44のうし:2013/02/22(金) 10:21:56.73 ID:+7NKqbPY
いつだかこんなのがあったらしい。

もし「持ち物」が0ならば
“持ち物がありません”をボタンリスト:{“OK”}、デフォルトボタン:“OK”で表示する
以上

と書けば。

if myItem = 0 then
display dialog "持ち物がありません" buttons {"OK"} default button "OK"
end if

みたいなのになる日本語スクリプトがあったとか。
これ、やろうと思えば自分でそんなコンパイラできそうだな。

オリジナルはマッキントッシュのスクリプトにあったらしい。
45774ワット発電中さん:2013/02/22(金) 10:55:03.28 ID:r2CPpZX2
ラダーでいいのに
46774ワット発電中さん:2013/02/22(金) 12:02:56.82 ID:Z/vHWhBx
らだーは、レーシングするよね
47774ワット発電中さん:2013/02/22(金) 13:20:22.28 ID:ZmXj0kzN
そもそもC使いとアセンブラ使いを別々に考えてるのがよくわからないな
C使いならインラインアセンブラ使うだろう、PICなら特に

もうアセンブラしか解らないオッサンが荒らしてるんだろうなあ
48774ワット発電中さん:2013/02/22(金) 14:00:38.54 ID:WpLP6EFj
プログラミングの経験のある初心者には C を奨めるけどなあ、
Javascript さえ知らない初心者にはアセンブラを奨めるなあ。
( C は意外と細かい文法が多くて習得に時間がかかる ミ'ω ` ミ )
数学計算は、あきらめれ。
49774ワット発電中さん:2013/02/22(金) 16:29:43.75 ID:3Pv1ht5r
アセンブラを使う人

1.Cが理解出来ないから
2.Cの吐くコードが醜いから
3.ドM
50774ワット発電中さん:2013/02/22(金) 17:24:19.30 ID:Z/vHWhBx
100本のプログラムのうち、Cで書けないものは、龍角散、間違えた、5本くらいだよね。
51774ワット発電中さん:2013/02/23(土) 01:30:02.94 ID:cfq+a1rf
まあ大体のことは、アセンブラなんか使わなくてもCで書ける。そういうもんだ。
52774ワット発電中さん:2013/02/23(土) 01:38:14.91 ID:2YiNIkXr
はいはいそういうことそういうこと
あっちで勝てそうにないからってこっちで背伸びしないでほしいな
53774ワット発電中さん:2013/02/23(土) 15:51:01.08 ID:TZrrDTIx
通販で住所を記入するとき「(全角)」とあると、萎えてしまう。
なんで英数字を「全角」で書かなければならないんだ。
そんなの、システム作った人の都合だろうに。
そのくせ、電話番号は半角数字で書かせるんだから、わけがわからん。
54774ワット発電中さん:2013/02/23(土) 16:00:23.58 ID:0a7n7B3D
全角半角言ってる人って頭悪そう。
単なる文字コードを個々の環境によって幅広め/狭めに表示してるだけなのに。
55774ワット発電中さん:2013/02/23(土) 16:33:11.35 ID:TZrrDTIx
だよね、システム設計が悪すぎる。
どちらでも有効なように作るのが、優れた設計者だと思う。
ローマ字入力の人は、融通がきかないから。
56774ワット発電中さん:2013/02/23(土) 16:37:43.04 ID:2+EFVYze
pic初心者専用のスレ
57774ワット発電中さん:2013/02/23(土) 17:18:30.41 ID:rn2SqXRH
>>53
PICと関係ない。ただ知り範囲でコメントすると
昔郵政省はパソコン等で宛名印刷するときの仕様として
住所表記の番地等の英数字を全角で印刷するよう指定していた。
当時のおバカなOCRへの配慮だったのだろう。今は知らん。
そのため、住所表記部分はすべて全角でないと受け付けないフォームが
広がってしまった(サーバーで勝手に変換しろといつも思っていた)。
さぁ、こんな話題忘れよう。
58774ワット発電中さん:2013/02/23(土) 17:36:30.68 ID:TZrrDTIx
そうだよね、忘れよう。
以前、◯◯◯という旅行会社で、ツアーを申し込もうとして、
住所を全角で書けとなっていて、全角数字の入力のしかたがわからず、
申し込むのをやめた事があるよ。
英数を全角で入力させる、あるいは表示しているページ、最低。
59774ワット発電中さん:2013/02/23(土) 21:17:48.95 ID:TZrrDTIx
>>307
言えてるね。
英数を全角で書くと、何か嬉しいことがあるんだろうか?
60774ワット発電中さん:2013/02/23(土) 22:22:52.63 ID:zlBE0Y5N
PICの場合、有料Cと無料Cがあるから。
お金持ちなら迷わず有料C。
社会人時間なし金なし初心者は、サイズが大きくなって冗長度が増すけど、無料C。
学生なら時間はあるから、PICのアセンブラくらいなら覚えられるんじゃないか?
61774ワット発電中さん:2013/02/24(日) 04:19:00.15 ID:UvgHqe8q
ちなみに、変数に漢字が使えるCコンパイラって、あるの?

if( 月==4'd2 ) begin
  季節 <= 8'h4e;
end else begin
  季節 <= 8'hff;
end
62774ワット発電中さん:2013/02/24(日) 04:25:21.81 ID:Aqha7YXg
>>61
PICでは使えないが、変数に漢字はJavaなら使える。

半角全角厨はいい加減時代に取り残されてることを自覚するべき。
63774ワット発電中さん:2013/02/24(日) 04:33:49.89 ID:UvgHqe8q
>>62
おお、使える言語があるのですか。

すると、

  金額 = 単価 * 数量;

みたいな感じで出来るのでしょうか?
6444:2013/02/24(日) 09:05:20.64 ID:xzO9jko/
>>44みたいに、

if → もし (ならば)
and → と、
for → が 〜まで



てのにしたの作ってよ。それで小坊が凄いの作ったりして‥
65774ワット発電中さん:2013/02/24(日) 09:55:13.01 ID:bTnMa3BY
なでしこって言語はどう?
6664:2013/02/24(日) 10:14:51.84 ID:xzO9jko/
たしか、いつだかの時代AIってのあって、普通に人が使う言葉を機械がわかる(って用途だっけ?)って工学あったような。
その場合例えば、

主モーターはどの保護SWが作動しても必ず緊急停止する。

なんてでいけるとか。
でも、その作動ってまずいことの時OFFになるのが多いけどモノによってはONってのある。

あと必ず停止っても、いずれ止まればってことで別タスク終わってからとか‥ 『すぐに』で__ATT なんて宣言になる?
67774ワット発電中さん:2013/02/24(日) 10:18:18.17 ID:uSDtauFF
ロゴライターとかもあったな
小学校のpc98かなんかに入ってた記憶が
68774ワット発電中さん:2013/02/24(日) 10:21:26.39 ID:mAnhKjLJ
久々にPICやっているがxc8成るものが出たんだね。
c18とほぼ同じだからスラスラ行けるかとおもいきや
EUSARTの読込の割込の仕方がわからない状態です。

_asm→#adm , _endadm→ #endasm

に変わったのは良いですが
#pragma code high_vector=0x8
#pragma interrupt high_isr
#pragma code low_vector=0x18
#pragma interruptlow low_isr

辺りをどう変更したらいいのやら…。

関係ないと思いますがPIC18F4550使ってます。

c18を使えばなんの問題もないのでしょうが、新しい方でトライしたい気分です。

もしよろしかったらご教授頂けないでしょうか?
69774ワット発電中さん:2013/02/24(日) 10:41:53.53 ID:KmC8WO2E
これからXC8です。便乗です。仕様の違いがわかる方なら平気なのでしょうが、
やっとCを勉強したところなので不安です。XC8のリファレンス資料ってあるのでしょうか。
70774ワット発電中さん:2013/02/24(日) 11:01:20.64 ID:mAnhKjLJ
68です。
自己レス

下記と、ヘルプを頼りになんとかわかった気がします。
ttp://technologicaladvance.blog.fc2.com/blog-entry-20.html

今回の場合、下記のように関数名を定義
関数名はどうでもいいみたいです。

ヘルプより
void interrupt tc_int(void)
void interrupt low_priority tc_clr(void)

>> 69
英語でもOKならMPLABXのヘルプからかなり細かい内容がわかりますよ。
でも、情報量が多いので大変そうですが…。
71774ワット発電中さん:2013/02/24(日) 12:10:25.67 ID:mAnhKjLJ
68,70です。

きちんと割込かかりました。
その他周りのロジック合わせて作りましたが、上手く言っている感じです。
72 ◆HIKaRi/Dzs :2013/02/24(日) 13:15:10.51 ID:Py+LSJT6
>>63
JavaならUnicode使ってそんな感じで書けるよ
やってみたら、結局、英数字でいいやって思うと思うけど
73774ワット発電中さん:2013/02/24(日) 13:31:06.29 ID:eHe80lxA
>>70
リンク先のソース、タイマーとかの設定前に『GIE=1;』としてるのが気持ち悪いな。
まあ、PIC内部ではリセット直後の割込み許可は全てOFFになってるんだろうが。
74774ワット発電中さん:2013/02/24(日) 14:51:40.36 ID:KmC8WO2E
>>70
69です。ありがとうございます。文法をざっと理解して、これからMPLABXなので覚悟します。
英文で情報量が多いと私は日本語のようにざっと目を通せないので辛いですね。

PICアセンブラの経験しかないので最初はサンプルを試してと思ったのですが、
HI-TECH Cコンパイラのフリー版はPICC Lite からPRO、XC8と変わってきたようで(違っていたらご指摘ください)
しばらくエラーと悪戦苦闘になりそうです。
75774ワット発電中さん:2013/02/24(日) 20:03:37.87 ID:OmjyCEk6
今更とは思うけど英文ユーザーガイドは
インストールされたフォルダの XC8>v1.xx>doc>manual.pdf
ざっと見た所ヘルプとたいした違いはなさそう
76774ワット発電中さん:2013/02/24(日) 21:28:31.54 ID:IQwji5P/
私も最近xc8でCを始めたんだけど、ネットで見つけたプログラムが

main()
{
 OSCCON=0;
 PORTC=PORTA=0;
 while(1){
  TRISA=0x1F;
  TRISC=0x0F;
  RA5^=1;
  __delay_ms(JIKAN);

と、アセンブラとは違ってピン設定がwhile(1)の中にあるってなんか
変な感じがする。これでいいんだろうか?
77774ワット発電中さん:2013/02/25(月) 00:10:00.86 ID:lgAAN3xB
>>76
問題はないかもしれないが、無駄。

アセンブラとかC言語とかには関係ない。
78774ワット発電中さん:2013/02/25(月) 14:34:22.09 ID:/Q3vG5ty
>>76
main()を、} で綴じて欲しい。見るたびに気になる。
79774ワット発電中さん:2013/02/25(月) 14:43:06.06 ID:LAXi1LOo
main() 以前にループが閉じてない。

次の行に break があったりしてな ミ'ω ` ミ goto?
80774ワット発電中さん:2013/02/25(月) 18:21:11.29 ID:Z4Vib50V
初心者さんが来てくれてよかったね
81774ワット発電中さん:2013/02/26(火) 21:48:26.46 ID:D1lNbjO+
フレームワークって、活用してますか
82774ワット発電中さん:2013/02/26(火) 22:33:28.60 ID:0NmH+tNH
今までアセンブラでやってきたんですが、今度xc8を学ぼうと思ってます。
c言語っていろいろあってなんか混乱してます。
xc8が学べる本、サイトを紹介してください。
83774ワット発電中さん:2013/02/26(火) 23:44:12.03 ID:yxS5fbsK
>>82

XC8 は、ほぼ HI-TECH C
84774ワット発電中さん:2013/02/27(水) 13:32:21.08 ID:B/QMeRlA
>>82
もうアセンブリには戻れんよ。
85774ワット発電中さん:2013/02/27(水) 14:50:02.60 ID:+kusvVex
もうアセンブリには戻れんであろうが、
ちょくちょく逆アセンブルして出たコードを眺めるだろうなあ ミ'ω ` ミ

実行回数の多いループ部分とか、
シフト回数が切り替わるプログラム:

a = b >> n

とか、どうコンパイルされるか気になるはず。n が 1, 4, 7 の 3 通りの値しか
とらない場合、break の無い switch 文で順に下へ落ちて行くように書いて
得するかな、とか。
86774ワット発電中さん:2013/02/27(水) 22:43:21.11 ID:rUYP7uD2
>>83
ありがとうございます。
なるほど、XC8で書かれたプログラムは検索しても見つからないんですが、
HI-TECH Cで検索するといっぱいありますね。

これは、XC8向けの入門書書いたら、ぜったい売れるとおもうな。
XC8 とHI-TECH Cはかなり違うようだから。
87774ワット発電中さん:2013/02/27(水) 22:48:25.93 ID:AKj25sFI
XC8(HI-TECH C も?)は、switch - case 文使うと稀に、
can't find 0x410 words (0x410 withtotal) for psect ”swtext1” in segment ”CONST”
とかいう原因不明なエラーがリンカーで発生する。

単純なswitch - case で発生する事もあるし、
複雑なswitch - case でも発生しない事もある。

早く直して欲しい。
88774ワット発電中さん:2013/02/28(木) 00:05:48.03 ID:2xegnjgQ
PIC(C言語)初心者で、3*3のLEDキューブを作っていまして、ランダムな数字を発生させる時に、
欲しい範囲の乱数を発生させることが出来ずに悩んでいます。

0から9の乱数なら
a = (((double)rand()) / 32768.0) * 10.0;
で良いと言う記述をググって見つけたのですが、
自分の場合、0から3と0から7の種類を作りたいのですが、
単純に上記の式の *10.0を4と8にしてもうまく行きませんでした。

C言語自体初めてなので、考え方に困っております。
mikroCを使っています。
お詳しい方のアドバイスなど、よろしくお願いします。
89774ワット発電中さん:2013/02/28(木) 00:25:53.38 ID:OBWAWNUI
10.0でうまくいったの?
90774ワット発電中さん:2013/02/28(木) 00:48:28.24 ID:C4L2wCz6
>>88
RAND_MAX とかねぇの?
91774ワット発電中さん:2013/02/28(木) 08:23:54.41 ID:ejjIjTyL
char a;
a = rand();
a = a / 256 * 8;
92774ワット発電中さん:2013/02/28(木) 10:36:40.08 ID:WC/6euuD
>>88
剰余の計算で求めるのはどうかと

char a;
a = (char)(rand() % 4)
93774ワット発電中さん:2013/02/28(木) 10:46:37.04 ID:C4L2wCz6
>>88
0から3
a = rand() & 3;

0から7
a = rand() & 7;

RAND_MAX気にしないなら↑でいけるだろ。
94774ワット発電中さん:2013/02/28(木) 11:14:44.12 ID:/D+BUblp
PICのrandって偶数奇数が交互に出たりしない?
95774ワット発電中さん:2013/02/28(木) 20:44:05.56 ID:2xegnjgQ
皆さま、レスありがとうございます。

現在の回路では、RA0からRA3までとRB0からRB7までのポートを使っていますが、
ネットで見かけた、上に書いた式では、当初*10.0のところを変えても無理でしたので、
*10.0でもしましたがうまく動きませんでした。


アドバイスを頂きました式を使って試して見ます。
96774ワット発電中さん:2013/02/28(木) 22:01:56.55 ID:YxiuxXRl
アセンブラの場合は「時間」をつくるのに計算でかなり正確な時間を作れました。
しかしxc8では__delay_ms(); 関数でつくってもそうとうな誤差がでます。
みなさんこうゆうのはどう対処してるんですか。
97774ワット発電中さん:2013/02/28(木) 23:25:28.21 ID:OgQ/4v96
そりゃあアレよ、「アセンブラで作る」
98774ワット発電中さん:2013/03/01(金) 08:44:53.66 ID:WWFbRHcM
Z80 で、途中どう分岐しても同クロック数でもとに戻るループを作ったなあ。
Z80 の場合、NOP だけで調整しきれないから、一つ先に跳ぶジャンプ命令などの
「意味無ぇー」 命令を組み合わせたなあ ミ'ω ` ミ
99774ワット発電中さん:2013/03/01(金) 14:49:25.78 ID:7VTxgt4K
>>98
PICに無関係な迷惑なゴミ
100774ワット発電中さん:2013/03/01(金) 20:47:35.91 ID:IxNCuNmW
割り込みピンの設定はINTE(RA2だけ)とRAIE(それ以外のPORTA)の二種類
ありますけど、なぜRA2ピンだけ独立してるんですか?
おしえてください。
101774ワット発電中さん:2013/03/02(土) 03:15:08.30 ID:pF27CVy0
横からでスマソ。

>>92
a = (char)(rand() % 4)
ってどういう意味?
charって、文字変数って事?
102774ワット発電中さん:2013/03/02(土) 03:50:54.70 ID:cdLZjn9w
103774ワット発電中さん:2013/03/02(土) 03:58:55.37 ID:gGI4ORQY
>>101
括弧で囲まれた型名を付けるとその型で代入される
rand()の戻り値の型が何か知らないけれど、
aの型がchar型なのでrand()の戻り値をchar型にしてaに代入するって言う意味
型を意識しないコーディングはバグが含まれるので意識するべし

「キャスト演算子」で検索するとよろしい

ちなみにchar型は文字変数と思わないほうが良い
-128〜+127の値が代入出来る8bitの型
ASCIIコード一文字が収まるからchar型としているだけ
unsigned char とすれば0〜255までの値が入る型でBYTE型と同じ
104774ワット発電中さん:2013/03/02(土) 06:26:08.83 ID:pGDE6wle
charにunsignedってあったっけ?
ハナから0〜255と思って書いたが
105774ワット発電中さん:2013/03/02(土) 08:18:27.73 ID:S5YcEzgt
ソフトウェアのランダムは疑似だし。
アナログ入力値を利用するとランダム性(?)があがる。
106774ワット発電中さん:2013/03/02(土) 09:33:14.11 ID:uopxW8TK
ド素人だから仕方が無いのかもだけど、AD入力を使うと、ランダムである事を保証する事は難しくなる
所詮、ド素人の脳内アナログ技術なんて知れてるからな。
少し勉強すれば数学的に解決出来るし、その方が評価もし易い。
いずれにせよ、「ソフトウェアのランダムは疑似だし。」とかほざく前に評価の技術を身に付けて
ほんとに使い物にならない関数なのかが評価出来る程度には、勉強したほうが良い。
その上で、使い物にならないのであれば関数を自作すればよい。簡単な演算で十分なランダム性を確保出来るはず。
評価の技術を身に付けずに「アナログ入力値を利用するとランダム性(?)があがる。」とか知ったかしてると
実際は全然一様でない、擬似乱数にも遠く及ばない関数を、後生大事に使って疑わないようになる。
107774ワット発電中さん:2013/03/02(土) 09:41:00.70 ID:cfU1Q1o2
スルー力
108774ワット発電中さん:2013/03/02(土) 14:50:48.65 ID:GDbCBQ+Z
船橋さんこんにちは
109774ワット発電中さん:2013/03/02(土) 16:23:26.10 ID:rY5akTmk
>>104
>charにunsignedってあったっけ?
>ハナから0〜255と思って書いたが
特に何も指定してなければ、charは+/-128 というか、-128〜+127だよ。
なので、間違わないように、僕はいつも、
unsigned char aaa;
signed char bbb;
と符号まで含めて書くようにしている。
間違いがグッと減りました。
110774ワット発電中さん:2013/03/02(土) 17:35:27.65 ID:qBD5FgjL
111774ワット発電中さん:2013/03/02(土) 18:11:45.72 ID:t8oWSCG4
>109-110
処理系によるから符号の有無を明示的に宣言すべし、では?
112774ワット発電中さん:2013/03/02(土) 18:15:28.98 ID:vyqOYRxq
12f1822です。
内部のシステムクロックを32MHzとする場合、8MHz×4とするようですが、timerのクロックはこの場合8MHzで動くということでしょうか?
113774ワット発電中さん:2013/03/02(土) 18:22:55.52 ID:iXmPQpo4
Foscは32MHzになるよ
114774ワット発電中さん:2013/03/02(土) 20:35:22.65 ID:t7YOFSBg
XC系だと char は signed char 扱いなんだな
115774ワット発電中さん:2013/03/03(日) 01:49:39.98 ID:oarNoWC4
16F716を使っているのですが、RA4のオープンドレイン端子にVDDとの間を100kΩでプルアップした上で圧電ブザーを接続しました。
プログラムの方は、単純にRA4を119usオンにして119usオフにするのを無限ループしています。

電源を入れても音が出ません。そこで、目で見て解るようにブザーの変わりにLEDにしてオンオフタイミングを少し長めにしてみると点滅を確認できました。
もう一度圧電ブザーに戻して上記周期で実行するとやはり音が出ません。555ICで作った発振器に?ぐと音がなるのでブザーが故障ではないようです。

オープンドレインの端子で圧電ブザーは駆動することは出来ないのでしょうか?
116774ワット発電中さん:2013/03/03(日) 02:23:42.42 ID:boVF93z5
>>115
試しにだけど、プルアップ抵抗は無しにして、VddとRA4間に圧電ブザーをまんま繋いでやってみてください。
オープンドレインは基本的にはシンクでドライブするものだと思いますしおすし
117774ワット発電中さん:2013/03/03(日) 02:28:55.95 ID:oarNoWC4
>>116
基板に半田付けしているので、すぐに出来ませんが明日試してみます。

シンクでドライブと言うのは、グランドに繋がっている or 浮いてる(絶縁)と言う事ですよね?
用語からして知らないことが多いので調べながら工作しています。
118774ワット発電中さん:2013/03/03(日) 02:33:33.84 ID:95hq5GCk
圧電ブザーはプッシュプルで使うのが原則
119774ワット発電中さん:2013/03/03(日) 03:17:19.96 ID:boVF93z5
>>117
ここでいうシンクはVdd側から電流を吸い込む接続の事で、ポート出力をLOにしたときにVddからポート方向に電流が流れ込みます。
逆の回路はソースで、ポート出力をHIにするとポートからVss(GND)方向に電流が流れ出します。
オープンドレインでは当然ソース電流は流せないので…

>>118
インダクタ入れるとさらに効果的
120774ワット発電中さん:2013/03/03(日) 08:08:13.72 ID:m2mcAURq
100kΩ→1kΩ
121774ワット発電中さん:2013/03/03(日) 09:35:51.42 ID:Dj3YtiS8
>>104
この様な混乱が無いように
ANSI,やISO,JISでCの言語仕様が
定義されていて、
charは、符号付き8bitと決まっている。
typedefや拡張仕様で符号なし8bitを"byte"型として
作られている事はよくある。
122774ワット発電中さん:2013/03/03(日) 11:02:19.68 ID:Bu4iatBQ
JISX3010では char型の符号は、処理系依存のようです

http://www.jisc.go.jp/app/pager?%23jps.JPSH0090D:JPSO0020:/JPS/JPSO0090.jsp=&RKKNP_vJISJISNO=X3010
うちの環境では規格を閲覧できなかったので、断定はしませんが
123774ワット発電中さん:2013/03/03(日) 11:26:27.64 ID:KquG5GsM
>>115
音が出るか出ないかだけなら、その試しにつけたLEDにパラで圧電ブザーつけると鳴るでしょ。
124774ワット発電中さん:2013/03/03(日) 11:29:42.06 ID:gyhswC0z
>>104
>>121のような馬鹿の言うことを真に受けてはいけない。

http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf 37ページ
> Three types of char are specified:
> signed, plain, and unsigned. A plain char may be represented as either signed or unsigned
> depending upon the implementation, as in prior practice.
125774ワット発電中さん:2013/03/03(日) 18:29:01.50 ID://+cbbb7
俺もてっきりcharはsigned charだと思っていた

間違いを指摘するのは良い事だろうけれど、
馬鹿呼ばわりするのは船橋さんと同類の人間なのだろう

本スレ行ってくれ
126774ワット発電中さん:2013/03/03(日) 21:41:00.47 ID:oarNoWC4
115です。

無事に音が鳴りました。
ただ、100kΩ入れていたところ手持ちの小さいのが10kΩしかなかったので、
変えてみたところ、音量的にも大きくなりました。

100kΩでは電流量の関係か、振動子に働く力が弱かったのかもしれません。
圧電ブザーの仕様では30Vpp以下との事で555ICでは鳴ったのでPICでも大丈夫と思っていましたが、
回路ごと適正に部品を使わないといけないと再認識しました。

ありがとうございました、
127774ワット発電中さん:2013/03/04(月) 00:55:29.13 ID:RK/gbER3
初めてのPICマイコン。秋月2550マイコンボードとpickit3を買ってきたけど、
LEDチカチカすらできない、質問するにも何を聞けばいいのかすらわからない……。
泣きそう。
128774ワット発電中さん:2013/03/04(月) 02:03:32.14 ID:97Lo0BsA
お客様の中にエスパー様はいらっしゃいませんか〜?
129774ワット発電中さん:2013/03/04(月) 02:12:37.40 ID:gGNk9Bj8
>>127
PICkitから電源供給できるようチェック入れるんだ!
130774ワット発電中さん:2013/03/04(月) 02:21:29.99 ID:IcsHCaBL
秋月で売っているUSBマイコンボードPIC18F2550でLEDチカチカ
http://blog.goo.ne.jp/sim00/e/fee5a8d229457154de4d7c10095ebd89
131774ワット発電中さん:2013/03/04(月) 02:24:44.94 ID:RK/gbER3
Package in zipって有ったから選んでみた。プロジェクトはこんな感じ。
ttp://www.dotup.org/uploda/www.dotup.org4005399.zip

とりあえずビルドは通っていて、書き込み・ベリファイも
Programming/Verify complete
って出るから上手く行ってるんだろうけど、RA0に繋いだLEDはうんともすんとも言わず。
吸い込みにしても吐き出しにしても全く光らず。

何か勘違いしてるのかどこか悪いのか日頃の行いが悪いのか……。

>>129
なぜかそこは気づいており、ボード上の電源ランプだけは煌々と輝いてます。
132774ワット発電中さん:2013/03/04(月) 02:30:12.12 ID:RK/gbER3
>>130
おおぉ、点滅しました!
てっきり、なにか設定とかが間違ってるのかと思ったら、ソースコードをそのサイトコピペしただけで点滅しました。

ソースのどっかが悪いとはっきりしたので、落ち着いて見なおしてみます。
ありがとござました。
133774ワット発電中さん:2013/03/04(月) 02:34:07.97 ID:RK/gbER3
……はい、結論でました。
Delay1KTCYx(0);
がダメだったみたいです。

しかし
ttp://picmidi.seesaa.net/article/148679651.html
とかを参考にしたんですが、ここでは点滅してる様で、謎は残ったものの、
とりあえず今夜は寝れそうです。
134774ワット発電中さん:2013/03/04(月) 02:36:57.12 ID:3N64HKGy
>>127
すごいね。いきなり18F2550からはじめるんだね。
135774ワット発電中さん:2013/03/04(月) 02:41:40.13 ID:RK/gbER3
>>134
目標がUSBマウスだったので選んでみました。
なんか難しいヤツ選んじゃったのなら、また泣きながらここ来ます。
136774ワット発電中さん:2013/03/04(月) 22:25:22.48 ID:Liqf6O91
18F25K80がpickit3で焼けない・・・
そもそもデバイス選択肢の中にないということは未対応ということか?
137774ワット発電中さん:2013/03/05(火) 02:09:22.74 ID:yi4M8tY1
>>136
うちでは普通に書き込みできてますよ〜
138774ワット発電中さん:2013/03/05(火) 09:39:19.40 ID:+4pM5tqH
>>136
IDEでもpickit3programmerでも、選択できると思うけど?
139774ワット発電中さん:2013/03/05(火) 19:58:33.56 ID:nN4c78dC
自転車のディスクブレーキに付いてるディスクの穴をフォトインタラプタでカウントして
速度表示するサイクルコンピューターを作ったら面白そうだなと思ったんだけど
俺、ディスクブレーキ付いてる自転車持ってねぇ
140774ワット発電中さん:2013/03/05(火) 20:07:25.94 ID:7gsKXmCm
>>139
むしろハブダイナモで動作し、ハブダイナモの周波数をカウントするサイクルコンピュータをずっと考えてる。
141774ワット発電中さん:2013/03/05(火) 20:09:15.77 ID:7u6101Mc
スポークを数えれば・・・
142774ワット発電中さん:2013/03/05(火) 20:48:10.45 ID:2PjubHAq
タイヤに小さい磁石を張り付けて磁場センサで読み取る製品があった気がする
143774ワット発電中さん:2013/03/05(火) 20:50:41.96 ID:f+G5xLWP
>>139
自作だから自由で良いけど、メリットがあまりない気がする。
144774ワット発電中さん:2013/03/05(火) 20:53:21.41 ID:D4IrYWbA
汚れて終わり
145774ワット発電中さん:2013/03/05(火) 23:03:01.88 ID:7u6101Mc
自作だから昨日は付け放題
146774ワット発電中さん:2013/03/05(火) 23:08:05.10 ID:b0YdKmVh
こうゆう簡単なテストプログラムがあります。
main()
{
PORTC=PORTA=0;

while(1){
TRISA=0x0F;
TRISC=0x0F;

RA5^=1;  /* RA5ピンの出力をトグルする */

__delay_ms(JIKAN);  /* JIKANミリ秒待つ */
}
}

ところがRA5^=1;をRA4^=1;にかえるとRA4が点滅せずつきっぱなしになります。
なんでなんだろ。
147774ワット発電中さん:2013/03/05(火) 23:09:45.86 ID:bO0Shz7L
>>138
pickit3programmerでは18F25K22の次が18F26K20なんですよ。
18F26K80はあるというのに。IDEはfail to connectになってますけど
そちらから対策した方が早いかもしれませんね。どうも私の問題の
ようですので・・・
148774ワット発電中さん:2013/03/05(火) 23:32:35.90 ID:7u6101Mc
>>146
RA4がオープンコレクタだからとかなんだろうなぁ・・・
149774ワット発電中さん:2013/03/05(火) 23:35:36.77 ID:wvpkLlsu
>>146
まずどの型番のPICなのか教えて欲しい。

TRISAに0x0fが指定してあるけど、その意味については理解してるだろうか。
150774ワット発電中さん:2013/03/05(火) 23:44:46.91 ID:wvpkLlsu
>>148
オープンドレインで点灯しっぱなしになる接続ってどんなのだろう…
151774ワット発電中さん:2013/03/05(火) 23:49:22.48 ID:r5AhbJ1s
>>146
ANSEL 設定忘れが一番ありがち。
あとは、入力専用pinとか。(RA4が /MCLRと共用のは無かったかな?)
152774ワット発電中さん:2013/03/06(水) 00:12:27.69 ID:2IuD+mTk
>>149
失礼しました。16f688です。
153774ワット発電中さん:2013/03/06(水) 00:21:48.16 ID:e7dcBOQv
>>152
16Fならこの辺が参考になるかも。
http://www2.ocn.ne.jp/~mhage/PIC_Trap/WriteIO.html
154774ワット発電中さん:2013/03/06(水) 00:22:21.35 ID:2IuD+mTk
>>146ですが元ネタはこちらです
http://uproda.2ch-library.com/6417728V2/lib641772.txt
155774ワット発電中さん:2013/03/06(水) 02:15:34.15 ID:6XrWhWhB
何でループの中でTRISAとTRISCを設定するんだろ
156774ワット発電中さん:2013/03/06(水) 04:02:07.79 ID:2IuD+mTk
>>155
なんかの刺激で設定が外れてしまうこともあるんで、こうすると安定するらすい。未確認だけど。
157774ワット発電中さん:2013/03/06(水) 14:15:13.82 ID:6XrWhWhB
そんなに不安定じゃ使い物にならないよ。おまじない的な物は排除しても
ちゃんと動くようにしないと。
158774ワット発電中さん:2013/03/06(水) 19:21:55.28 ID:vQRn09sd
誰がそんなこといったんだろう
159774ワット発電中さん:2013/03/06(水) 21:41:21.70 ID:6pPuZbgf
>>157
Baselineだったら、TRISx レジスタが専用命令で書き込み専用だから
不安になるかも、だけど。
160774ワット発電中さん:2013/03/06(水) 21:47:57.72 ID:2IuD+mTk
それから使わないピンは
TRISA=0x1F;
と入力ピンに設定するようだけど、意味があんだろうか。
161774ワット発電中さん:2013/03/06(水) 22:19:51.86 ID:PezAsli/
使わないピンを入力にする場合、オープンにしちゃいけないってばっちゃが言ってた。
162 ◆HIKaRi/Dzs :2013/03/06(水) 22:21:16.92 ID:Q6rbFjMP
うむ。貫通電流おそロシア。。
163774ワット発電中さん:2013/03/06(水) 22:56:08.93 ID:2IuD+mTk
>>161
つまり使わないピンは出力ピンにしとけ、ってことだよね。
164774ワット発電中さん:2013/03/07(木) 00:10:29.70 ID:0YwLizTn
使わないピンを入力にしてりゃ不安定にもなるわなw
165774ワット発電中さん:2013/03/07(木) 00:20:14.20 ID:3IzJLdN3
別に入力にする事自体は問題無いと思うけれども。
166774ワット発電中さん:2013/03/07(木) 00:21:54.52 ID:G+wYfU4q
sleepの説明には入力をVDDかVSSに接続しろと書いてある
167774ワット発電中さん:2013/03/07(木) 00:23:45.83 ID:3IzJLdN3
そりゃそうだ。貫通電流おそロシア。
168774ワット発電中さん:2013/03/08(金) 08:37:45.79 ID:iuRq9EDb
またはアナログ入力にしとく。
169774ワット発電中さん:2013/03/08(金) 11:27:58.56 ID:HTeHtMWm
12F1822のRA2入力ならシュミットトリガだから放置でいいのかな
170774ワット発電中さん:2013/03/11(月) 23:15:13.57 ID:CuN0Nwgs
シュミットだけでは免罪符にならない
171774ワット発電中さん:2013/03/11(月) 23:16:51.35 ID:GJjf4Rkf
でも同時にONしないから貫通電流気にしなくていいでしょ?
172774ワット発電中さん:2013/03/11(月) 23:34:36.06 ID:jkYXH+LN
現在PICを使い始めてLチカに取り組んでいます。

現在、6個のLEDでフラッシャーと言うのでしょうか、右へ左へと順番に点灯させるのを
全ポートを上書きで書く方法と、左シフト、右シフトを使う方法で書く方法で実験してみました。
(mikroCで書いています)

残照が出るように海外ドラマのナイトライダーの様に流れるような点灯をしたいのですが、
こう言った点灯方法のプログラムの書き方が思いつきません。
ググッても参考になる所を見つけることが出来なかったため、こちらで質問をさせて頂こうと思いました。

お詳しい方のアドバイスなど頂けましたら幸いです。
173 ◆HIKaRi/Dzs :2013/03/11(月) 23:47:14.40 ID:ef+jPhqL
ほわぁっと消えるように、PWMデューティーをじわぁっと変える関数なんか
を一個つくってやればいいじゃない?
んでもって、その関数には、光らせるポートを指定する引数なんか持たせておいて。。

うん、何いってっかわかんねぇなw
174774ワット発電中さん:2013/03/12(火) 00:15:28.96 ID:9VPUdmNR
>>172
チップは何を使ってる?
175 ◆HIKaRi/Dzs :2013/03/12(火) 00:22:31.75 ID:F1MaXd9p
>>172
もうすこしまじめに考えると、6ポートを順々に点灯させるようなループを作って
それぞれのポートをONする時間をずらしていけば、いける気がする
PWM使わなくても、ダイナミック点灯駆動で、ON時間を変える感じ
176774ワット発電中さん:2013/03/12(火) 03:34:35.25 ID:C3/0S7s6
隣に移る時に、若干の時間、ラップ挿せるようにすると、品が良くなる。
177774ワット発電中さん:2013/03/12(火) 10:59:11.63 ID:LSs98Bnj
ゆっくりと移動しているのに残照させるにはPWMデューティー比を変えていくか
各LEDを放電回路として構成する必要があると思う
178774ワット発電中さん:2013/03/12(火) 11:18:30.13 ID:772Z5uN8
179774ワット発電中さん:2013/03/12(火) 11:36:17.93 ID:evI0eR/5
電球チカにすればいい。デフォでそう光るよ。
180774ワット発電中さん:2013/03/12(火) 13:51:28.67 ID:ttTeRqCf
割り込みが必要じゃない?
ちょっと面倒そう。
181774ワット発電中さん:2013/03/12(火) 14:34:06.43 ID:ZrBw65wF
delay関数しか使えない人にとっては面倒かもしれないが、一度使ってしまえ
ば割り込みを使った方が楽。
182774ワット発電中さん:2013/03/12(火) 15:34:20.55 ID:e3omAxcN
任意の明るさで点けるだけならこれぐらいのもんだし割り込みなんて要らん

for (;;) {
  for (int i = 0; i < 100; i++) {
    for (int j = 0; j < 6; j++) {
      ledSwich(j, ledBright[j] > i);
    }
    wait10us();
  }
}
183774ワット発電中さん:2013/03/12(火) 20:12:07.74 ID:HTy6g96L
皆さん、レスありがとうございます。

一工夫が必要な処理なのですね。
しかし、レスを頂いた内容から幾つも答えがあるようなので、もう少し自分でも考えて見ます。

チップは16F716を使っていますので3つの出力でPWMは使えるのですが、
6個の出力のLED全てにPWMが使えないのでソフトで組むしか無いのですね。

割り込みに関しては、次のステップで7セグで数字の表示の時にを勉強しようと思っていましたが、
予定を早めて勉強してみます。

アドバイス ありがとうございます。
184774ワット発電中さん:2013/03/12(火) 22:24:09.75 ID:7m95pnvY
Lチカって組み込みマイコンのハロー・ワークってことでいい?
185774ワット発電中さん:2013/03/12(火) 23:03:08.39 ID:HTy6g96L
>>178
こちらのHPを見ていて2つ疑問があるのですが、
ポートの指定が「PORTB.F1」の様にFで指定していますが、
参考にしている書籍などで「PORTB.B1」の様にBで指定してる物があるのですが、
mikroCのバージョンによる違いでしょうか?

もう一つは、HP内のプログラムの記述についてですが
「LED2 = (pwm_cnt <= led_cnt[1]) ? ON : OFF;」と言う書き方ですが、
LED2は pwm_cnt <= led_cnt[1] の条件に合っていればON 条件に合わなければOFFとの理解でよいでしょうか?

よろしくお願いします。
186774ワット発電中さん:2013/03/12(火) 23:09:31.82 ID:9xyWp9OF
>>184
ちょっとだけ違う
Hello world(ハロー・ワールド)
187774ワット発電中さん:2013/03/12(火) 23:17:20.65 ID:IeVVIjDB
>>185
?演算子は、真(0以外)なら、:の前側の値、偽(0)なら、:の後ろの値になる。
188774ワット発電中さん:2013/03/12(火) 23:53:09.24 ID:64T+Lp3w
>>184
Lチカもできない人には職を紹介できません、と読んでしまったw
Lチカは
189774ワット発電中さん:2013/03/12(火) 23:54:39.59 ID:evI0eR/5
なら、ロマンチカで
190774ワット発電中さん:2013/03/12(火) 23:54:44.53 ID:64T+Lp3w
Lチカはconfig、クロック、I/Oポートなど基本的な設定の確認ができるので
慣れたチップでも最初に必ずやっている
191774ワット発電中さん:2013/03/14(木) 05:06:32.89 ID:4QcUfAf3
XC8でコンパイラすると
OPTION = 0b10000000;
OPTION-REG = 0b10000000;
でエラーがでます。これどう書いたらいいんですか。
192774ワット発電中さん:2013/03/14(木) 07:20:20.70 ID:VbIJ5oMJ
>>191

OPTION_REG = ... ;

--
ちなみに アドレスマップに OPTION , TRISx レジスタが存在しない
BaselineのPICでも、同じように代入形式で書ける。
193774ワット発電中さん:2013/03/14(木) 10:03:35.29 ID:4QcUfAf3
OPTION_REG =
やってみましたが、やっぱりだめでした。
194774ワット発電中さん:2013/03/14(木) 11:52:30.58 ID:w9JLf3Zc
>>193
質問にPICの型番もソースの全容も書かれていないので、
>>192さんの答え以外はどこが原因なのか推測ができません。
195774ワット発電中さん:2013/03/14(木) 13:17:23.34 ID:d/slR5Ly
defineしてないんじゃないの?
196774ワット発電中さん:2013/03/14(木) 13:33:26.95 ID:LwtIwOq0
>>193
だめでした、じゃなくて。
せめて表示されたエラーメッセージくらい教えて欲しいな。
197774ワット発電中さん:2013/03/14(木) 15:52:15.42 ID:maRXCp0l
これあかんやつや
198774ワット発電中さん:2013/03/14(木) 20:13:27.91 ID:d/slR5Ly
やっぱりだめでしたって、初めからあきらめてる
199774ワット発電中さん:2013/03/14(木) 23:31:51.50 ID:VbIJ5oMJ
>>193

最初に
#define <xc.h>
入れてますか?
200774ワット発電中さん:2013/03/15(金) 00:02:11.62 ID:/D7zeUud
>>199
回答ありがとうございます。
入れてます。
201774ワット発電中さん:2013/03/15(金) 00:09:36.39 ID:X+bOKc74
>>200

すまん
#include <xc.h>
だった。
202774ワット発電中さん:2013/03/16(土) 06:35:15.85 ID:SoXuulaC
>>191だけど

OPTION = 0b10000000;
のエラー問題は以外に難しいんだね。アセンブラならなんのお問題もなく書けるんだけど。
203774ワット発電中さん:2013/03/16(土) 08:31:43.91 ID:ihGlbqSl
204774ワット発電中さん:2013/03/16(土) 09:57:33.63 ID:tcoh0vZ5
>>202
ヘッダファイル読んでレジスタがどういった名前で定義されてるか確認しましょう
アセンブラと同じとは限りません
205774ワット発電中さん:2013/03/16(土) 13:12:04.72 ID:nIMg15OW
>199,200,201の流れは質問者が何も確認していないことを
はっきりさせる、高等テクニックだな
206774ワット発電中さん:2013/03/16(土) 14:36:55.39 ID:uIFPSmoo
>>205
> はっきりさせる、高等テクニックだな


どうゆう意味?
207774ワット発電中さん:2013/03/16(土) 14:45:24.78 ID:IiDk1BHi
そういう意味
208774ワット発電中さん:2013/03/16(土) 15:02:17.24 ID:uIFPSmoo
自分でもわかってないんだな。いちゃもんつけたかっただけか。
209774ワット発電中さん:2013/03/16(土) 15:04:23.24 ID:uIFPSmoo
しかし、picやる人は心がやんでるね。何があったんだ?
210774ワット発電中さん:2013/03/16(土) 15:14:40.44 ID:uIFPSmoo
天気もいいし出かけるとするか。さくらも咲き始めたみたいだし。
211774ワット発電中さん:2013/03/16(土) 15:14:55.19 ID:w03fobjt
情緒不安定の人は連投しやすくなるそうです
212774ワット発電中さん:2013/03/16(土) 16:37:06.91 ID:VxKxqmBv
回答に値する質問者かどうか確認は必要だな。

暖簾を一生懸命押したくはないもんねw。
213774ワット発電中さん:2013/03/17(日) 00:24:58.36 ID:ls6V46SH
>>212
> 回答に値する質問者かどうか確認は必要だな。


賛成!
同時に回答する能力があるかの確認もね。回答が文句だけってのもめげるわ。
214774ワット発電中さん:2013/03/17(日) 00:55:53.22 ID:2nSAiyJq
文句だけしか書いてないなら読み飛ばせばいいだろw
215774ワット発電中さん:2013/03/17(日) 00:59:34.61 ID:Rvi5DH6z
そそ。かかわらないのが正解。
216774ワット発電中さん:2013/03/19(火) 13:49:01.82 ID:hS79JcIl
桜はまだですか? つぼみでしょうか
217774ワット発電中さん:2013/03/19(火) 15:03:40.24 ID:FaXM114T
桜が咲くのは、7週間後くらいかなぁ
218774ワット発電中さん:2013/03/19(火) 18:46:05.29 ID:hS79JcIl
僕は、それまで持たないかもしれません。
219774ワット発電中さん:2013/03/20(水) 05:12:06.32 ID:MMHEDVh7
GR-SAKURAもう咲いていますが。

40PINのPICでもつなぎますか
220774ワット発電中さん:2013/03/20(水) 09:53:38.36 ID:G1sahD7h
あのレジストの色は・・・・
221774ワット発電中さん:2013/03/20(水) 13:41:33.78 ID:MMHEDVh7
そう、一面満開の桜色………
222774ワット発電中さん:2013/03/22(金) 12:21:58.03 ID:lFe6SVx5
PICスレで質問しましたが、初心者すれが有るだろってことで、誘導されたのでこちらでも質問させてください。

使う奴は16F883です。

外部発振でかかれたアセンブラの文ですが、折角なので内蔵オシレーターを使いたいと思い、プログラムを変えたいと悪戦苦闘してます。

下記構文のコンフィグを変えて、発振の設定を入れなければならないまでは理解しましたが・・・

LIST P=PIC16F883
INCLUDE P16F883.INC
__CONFIG _CONFIG1,_HS_OSC & _WD T_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF & _LVP_ OFF & _DEBUG_OFF
__CONFIG _CONFIG2,_BOR21V & _WR T_OFF ERRORLEVEL -302

これをどのように変え、オシレーターの設定の文を教えて頂けませんか?
223774ワット発電中さん:2013/03/22(金) 12:45:37.73 ID:X+LB2VOD
>>222
_HS_OSCを_INTOSCにすれば内蔵オシレーターに切り替わります。

データシートとP16F883.INCを見て確認してください。
224774ワット発電中さん:2013/03/24(日) 00:52:03.81 ID:LCwBZeMQ
\r\nじゃなくて\nだけでも改行が上手くいくと思ってたorz
久しぶりにPICを扱ったから、ターミナルで行がずれていく意味が分からなかったww

そりゃ改行されたその下から文字書いてたらずれて行くように見る罠…。
225774ワット発電中さん:2013/03/24(日) 01:40:05.32 ID:FljsHOPF
今の人はCR、LFも知らないのか。
226774ワット発電中さん:2013/03/24(日) 02:07:22.37 ID:BTl2BxJK
TeraTermなら 設定(S) → 端末(T) → 改行コード で設定できる。
その他の端末ソフトでも似たような機能あったりするだろう。
227774ワット発電中さん:2013/03/24(日) 03:05:22.09 ID:LCwBZeMQ
>>225
昔(っても1年ぐらい前に)組んだプログラムで思い出して、今回は>>224みたいに上手く行ったんだけど、
たとえばWindowsやMac、Unixその他OSで完全に改行頭出しをさせたい場合はCR、LF(\r\n)で大丈夫なの?

たとえば無理ならそういう仕様ですから、で済ますのも当然ありなんだろうけど、なんかこう釈然としない。
デフォで各OSのターミナルソフトで上手く動いてくれる仕様にならないものか…
228774ワット発電中さん:2013/03/24(日) 11:01:57.69 ID:zZe6a5dB
各ターミナルソフトの設定があんなに細かいのは仕様がバラバラだからって事でもあるんだろう
229774ワット発電中さん:2013/03/24(日) 19:09:11.46 ID:LCwBZeMQ
>>228
やっぱりそういうものなんですかねぇ…。
とりあえず色んなOSで試す機材も無いことですし、Windowsで動くように組んでから考えます。

ありがとうございます。
230774ワット発電中さん:2013/03/25(月) 09:43:05.49 ID:3dtt2i6e
>>229
vbox入れてlinux動かせば良い
231774ワット発電中さん:2013/03/25(月) 11:57:40.99 ID:xxuhHMrh
VMware Playerの方が良いよ
232774ワット発電中さん:2013/03/25(月) 12:28:50.60 ID:P8bIW63x
>>231
良い所を教えて下さい
233774ワット発電中さん:2013/03/25(月) 12:34:13.70 ID:xxuhHMrh
・安定性
・パフォーマンス
・リリースポリシー

Virtualboxはこの辺ダメダメ
234774ワット発電中さん:2013/03/25(月) 13:07:57.69 ID:3dtt2i6e
>>231
最近のVMwareは、バナーが気持ち悪いので、不要な時は出来るだけ使わない様にしてる。
windowsを動かすにはVMwareの方が良いが、linuxなら問題ない。
235774ワット発電中さん:2013/03/25(月) 13:44:42.21 ID:P8bIW63x
>>233
両方使ってみてwindowsの起動がvertual boxのほうが体感的に倍ほど速かったので長らくvmware playerを使ってなかった。
そんなに良くなっているのか。
236774ワット発電中さん:2013/03/27(水) 10:45:30.11 ID:M/rraI5T
あっちのPICスレは、性格の悪いジジイばっかりだな。
教えたら成長がないからデーターシート読めだとか、
そんな素人設計は信頼性無しだな!とか、
のノイズしか発していないよ。
彼らは、何一つ教えたことないし具体的な話題になると、怒り出す。
何も知らないかボケてるんだと思う。
237774ワット発電中さん:2013/03/27(水) 12:41:19.83 ID:S85pJI/B
>>236
でも、あなたの文体は、あっちのスレでよく見かけるね。
238774ワット発電中さん:2013/03/27(水) 14:29:40.83 ID:wohZaPay
あっちでは論破されまくりだから逃げてきた
239774ワット発電中さん:2013/03/27(水) 15:53:07.54 ID:16J2F9b6
あっちもこっちも、いる人間は同じだろ
240774ワット発電中さん:2013/03/27(水) 17:40:33.81 ID:dUwbA6Ee
質問者はろくな回答がないと言い
回答者は質問の仕方が悪いと言い

結局お互いののしりあうだけの、やがて悲しいPICのスレ。
241774ワット発電中さん:2013/03/27(水) 17:52:15.22 ID:SeFwTJDN
だからといってPICが無くなる訳じゃ無し。
全然問題ない。
242774ワット発電中さん:2013/03/27(水) 18:20:49.40 ID:dUwbA6Ee
AVRのスレみるとそれほど荒れてない。
これはAVRの関係者が答えてるんではないのかな。だとしたら普及のためにはいい作戦。

PICスレが荒れてるのはMICROCHIP社が援助しないからだよ。
だれか暇な人をまわせば簡単に回答ができるはず。そうすればPICも売れるし、会社も儲かる。
243774ワット発電中さん:2013/03/27(水) 18:21:50.14 ID:6i9kTzLA
はいはいすごいすごい
244774ワット発電中さん:2013/03/27(水) 18:30:44.80 ID:fJhpJPoB
>>240
>質問者はろくな回答がないと言い
>回答者は質問の仕方が悪いと言い

質問者は直接の正解が欲しくて、回答者は正解へたどり着く方法を答えてるから相容れないんだろうね。
245774ワット発電中さん:2013/03/27(水) 21:13:23.64 ID:dUwbA6Ee
>>243
言いたいことがあったらはっきり言ったほうがいいよ。その言い方じゃ意図が伝わらないから。
246774ワット発電中さん:2013/03/27(水) 21:17:40.05 ID:CmBQGc3B
伝わってまーす
247774ワット発電中さん:2013/03/27(水) 21:21:27.26 ID:dUwbA6Ee
>>246
えー、解釈して。
248774ワット発電中さん:2013/03/28(木) 07:05:28.38 ID:4/3VGxLt
>>240
日本全体がそんな感じでね? 海外フォーラムで質問した方がええ。 日本人は異常だ。
249774ワット発電中さん:2013/03/28(木) 15:04:07.69 ID:y/Sa4QAl
>>242
AVRを使う人が居ないんだろ。
250774ワット発電中さん:2013/03/28(木) 17:20:59.40 ID:4O3v0zQm
>>249
わずかだが、AVRを使う人もいるよ。ちょっと変わり者だが。
251774ワット発電中さん:2013/03/28(木) 18:12:06.30 ID:zJK8CR0h
大学のマイコン実習はAVRだった
252774ワット発電中さん:2013/03/28(木) 18:23:29.25 ID:FkPIY+2g
>>250
いや、俺も使うんだけど、周辺機能とかサイズのバリエーションが圧倒的にPIC優位
なので、どうしてもPICを使うことが多くなる。
コアの優劣なんて団栗の背比べだしな。DSP乗ってて楽しいし。
253774ワット発電中さん:2013/03/28(木) 19:12:02.94 ID:GBeGEhf8
>DSP乗ってて楽しいし。
それは言えてるね。PICのほうが、アプリケーションを考える幅が広い。
254774ワット発電中さん:2013/03/29(金) 01:09:27.15 ID:GbQKhGqN
C言語で、TRISBの特定ビットをOFFにしたい場合、
どうやってやればいいですか?
今は、たとえば
w = TRISB;
w &amp;= 0xfe;
TRISB = w;
とやろうと思っているのですが、
RB0 = 1;
くらい、簡単な書き方はないですか?
255774ワット発電中さん:2013/03/29(金) 07:15:05.76 ID:JhUsbGpi
>>254

XC8 だと、ヘッダーで unionや構造体が定義されてるので、
TRISBbits.RB0 = 1;
とか書ける。
256774ワット発電中さん:2013/03/29(金) 23:16:05.92 ID:TirBE2rX
>>254
特定のbitを setしたいなら、
TRISB |=0b00000001

clearしたいなら
TRISB &=0b11111110

とかが普通かな?
257774ワット発電中さん:2013/03/30(土) 02:03:18.77 ID:EgrPhJnC
>>255
>>256
ありがとうございます。
ソースの見通しが良くなるので助かります。
258774ワット発電中さん:2013/03/30(土) 09:47:21.35 ID:3af7Hlk7
勉強になるわ。ウンウン
259774ワット発電中さん:2013/03/30(土) 10:28:37.77 ID:Opn9LUNs
>>257
ヘッダーファイル見ていると、
TRISB0 = 1;
でも良いみたい。
260774ワット発電中さん:2013/04/03(水) 15:55:22.64 ID:VHXQ6/S9
あ、そうなんですか。
他人のコードはたくさん見ているのですが、初めて見る記述です。
簡単そうで助かります。ありがとうございました。
261774ワット発電中さん:2013/04/03(水) 22:40:51.38 ID:wlqgSp+O
>>260
普通 入出力設定は、ブログラムの最初で一回するだけだから、
  TRISB = 0bxxxxxxxx;
な感じが一般的と思う。
262774ワット発電中さん:2013/04/04(木) 04:38:51.95 ID:LdsVcvd+
0b という時点で既に一般的じゃない
C言語標準ではなく、コンパイラの拡張表現だから
263774ワット発電中さん:2013/04/05(金) 01:14:25.06 ID:b0tVmfqF
>>261
話の流れを無視してる上に、読み間違えてる?
264774ワット発電中さん:2013/04/05(金) 04:02:45.67 ID:Wr7Ki1x+
0bは、確かに便利。標準になればいいのに。
265774ワット発電中さん:2013/04/05(金) 06:53:29.07 ID:jJVoEiOg
某カーネルソースでは

#define BIT(n) (1 << (n))

set
a |= BIT(n)

clear
a &= ~BIT(n)
266774ワット発電中さん:2013/04/05(金) 15:49:57.87 ID:RLSqpCO1
>>264
8ビット限定なら、とりあえず
#define B00000000 0x0
#define B00000001 0x1
...
#define B11111111 0xff
とかヘッダファイルを作る。雰囲気出したければ
#define Ob01011010 0x5a
とかやる。(ゼロビーでなくオービーなw)こんなプログラムで。
#include <stdio.h>
int main(void) {
int i, j, k;
char s[9];
s[8] = '\0';
for (i = 0; i < 256; i++) {
for (k = i, j = 7; j >= 0; k >>= 1, j--) s[j] = (k % 2 == 1)? '1': '0';
printf("#define B%s 0x%x\n", s, i);
}
}
出力をb8.hとかに保存して
#include <stdio.h>
#include "b8.h"
int main(void) {
printf("%x = %x = %x\n", 0xf3, B11110011);
}
でテスト。
267774ワット発電中さん:2013/04/05(金) 15:51:44.22 ID:RLSqpCO1
>>266 あ、ラスト間違ってた。
printf("%x = %x\n", 0xf3, B11110011);
スマソ。
268774ワット発電中さん:2013/04/05(金) 15:57:58.92 ID:Xr7//wOU
2進←→16進 くらい頭の中でイメージできるようにすれ
269774ワット発電中さん:2013/04/05(金) 16:08:15.25 ID:Yf/E/P/x
>>264
少なくとも、組み込み用のC言語では標準にするべきだな。

-----
パソコン用だと、デバイスドライバー屋さんしか使わなそうだけど。
270774ワット発電中さん:2013/04/05(金) 17:15:05.10 ID:E9uBPhJ+
などと自作自演を続けるのであった。ごくろうさん。
271774ワット発電中さん:2013/04/05(金) 18:08:19.99 ID:emT1nPe6
>>269
gccが出来るので、ほぼ標準
272774ワット発電中さん:2013/04/06(土) 03:16:39.83 ID:2+ADAcds
1/0が8個並ぶと見難い
16進の方が書く時も見直す時も間違いにくい
273774ワット発電中さん:2013/04/06(土) 14:15:02.18 ID:24ICttD9
間に_をかませる仕様なら完璧
274774ワット発電中さん:2013/04/06(土) 20:37:53.94 ID:Nps6PXMN
>>272
0b.. の方が、bit単位に意味が有るのが分かるから良い気がする。
275774ワット発電中さん:2013/04/06(土) 21:13:44.80 ID:N5BeLkN1
>>273
さすがですね。Verilogは、それが出来ますよね。

1111_0000_1010_1100 とか、4bit毎でなくてもOKで、
1_11001_0_11_01_00001101 とかもできちゃう。とても素晴らしい言語仕様です。
(begin end 以外はね)
276774ワット発電中さん:2013/04/08(月) 21:40:59.64 ID:kqz0/iXz
PIC16F883をI2Cのスレーブにて使用しているのですが何らかのタイミングでSSPが
エラー状態になったまま復帰しなくなる事が有ります。
PIC12F1822やPIC16F1938ではSSPCONを一度初期状態に(clrf SSPCON)して
再度設定しなおせば復帰するのですがPIC16F883ではエラー状態を維持したままに
なってしまいます。
I2C関連のソースはmicrochip社のサンプルコードAN734とほぼ同じでState 3,State 4に
バッファ(自アドレス)読み込みを追加しただけです。(これを追加しないとマスタに対して送信できない)
何か上手く初期化する方法はありますでしょうか?

AN734ではエラー発生時はgoto $でWDTを当てにしているようですが初期化に10秒以上かかり
マスタとの通信はスレーブ(PIC)に対し一定周期での書き込みが主で読み落としが有っても
問題ないので出来ればWDTによる再起動を避けたいと考えています。
色々I2C関連の情報を探したのですが、うまく解決方法が見つけられませんでした。
よろしくお願いいたします。
277774ワット発電中さん:2013/04/08(月) 23:44:27.90 ID:zZkEyaTB
>>276
goto $する前にWDT周期を短くすればリセットはすぐかかるけど、リセット
がかかってから初期化に10秒もかかるならだめだね。

State4で自アドレス読み出せるの?
278774ワット発電中さん:2013/04/09(火) 00:03:00.34 ID:OvK6N+3/
>>277
やはりWDTですかね…
10秒かかるのはDCブラシレスファンをPWM制御していて
最高回転数を読み取るために10秒程度100%で回す為に必要なのです
マスタからは回転数に対する割合(255で100%)が約100mSec間隔で届くので
少々読み落としても問題ないんです

趣味で使う物なのでちょっと高い16F1938に変えてしまうでも良いのですが
最近PICを触りはじめたので基本的な方法で解決できるのかなと
思い質問しました

Stage4では自アドレス読み込めませんがマスタへのトランスミットのコードを
共通化したのでバッファ読み込みを追加したと書きました(変な書き方ですみません)
279774ワット発電中さん:2013/04/09(火) 11:19:32.36 ID:laAbM+2v
WDTでリセットした場合は初期化の処理を変更する手はあるが
280774ワット発電中さん:2013/04/09(火) 12:40:43.60 ID:av1IFdt/
>>278
I2Cを使いこなせないだけだろ。
シリアルにすれば?
1ピンで済むし
281774ワット発電中さん:2013/04/11(木) 09:10:43.67 ID:/Gmglt4H
>>276 278
「、」打とうよ。読みにくい。
282774ワット発電中さん:2013/04/11(木) 13:04:17.03 ID:obinSyTU
>>281
点がなくても普通に読めるよ。

意味がわかんないだけで。
283774ワット発電中さん:2013/04/11(木) 16:36:22.09 ID:LNo+l9AE
それ、は、よかっ、た。
284774ワット発電中さん:2013/04/15(月) 23:03:12.40 ID:2e+Xo9r1
マイコンのマの字も知らないような私がライントレースカーを作ることになったのですが、
マイコンを注文する際の必要なピン数が分からないのですが
どうすれば分かるのか教えていただけないでしょうか
285774ワット発電中さん:2013/04/15(月) 23:05:14.32 ID:WHEX5p3W
286774ワット発電中さん:2013/04/15(月) 23:34:21.56 ID:6rIESlCB
>>284
とりあえず dsPIC33EP256GP502 あたりを買っとけば間違いない。
287774ワット発電中さん:2013/04/16(火) 13:58:34.42 ID:GQY25of+
>>284
AVRのスレで親切に答えてくれた人がいるのに、本気でやる気があるのかな?

部品を注文する前に、仕様を決めて大まかでも回路図を書いてみれば、必要なマイコンのピン数がわかるだろ。

ライントレーサーだから、DCモーターを 2個回すとしよう。正逆転させるならモーター 1個に 2ビット必要だ。モーター 2個なら 4ビットだ。
モーターの回転数か移動距離を知る必要があるなら、モーター 1個につきフォトインタラプタかフォトリフレクタ 1個必要だ。モーター 2個なら 2ビットだ。
ラインを検知するためにフォトリフレクタを使うとしよう。 2個以上必要だ。 4個使うとして 4ビットだ。

ここまででマイコンの IOポートを 10ビット使う。
他に追加したい機能があればその分の IOポートを追加するといい。


>マイコンのマの字も知らない
のなら、マイコンのライタも持っていないのだろうから、AVR や PIC より、秋月で100円のR8C/M12 のほうがライタ不要だし、いいんじゃないの?
値段が少し高くていいなら ARMとかルネサスの 32bitマイコンなら、さらに書き込み簡単だ。

買う前にマイコンのマニュアル・データシートをよく読んで自分で使えるか判断してね。
288774ワット発電中さん:2013/04/16(火) 14:03:35.14 ID:I/01YFBI
picit4が出るんだって?
289774ワット発電中さん:2013/04/16(火) 14:11:20.69 ID:7OhMrqlk
picitなの?
290774ワット発電中さん:2013/04/16(火) 14:30:50.11 ID:okIWmrwg
あげ足取りは嫌い
291774ワット発電中さん:2013/04/16(火) 15:05:00.38 ID:cNImqqGn
>>284
PICで探すならpickit2か3でデバッグガーが動くICDが内蔵されたPICを選んだらよいかと思う。
ソーストレース出来ないと外部部品のテストだけで手間がかかるよ。
初心者にお薦めは初期化ライブラリーが
自動で入ってくれるIDE開発環境があってPWM等のライブラリーが無償で、
プログラム容量や処理能力を気にせずに組めること。
ARMのSTM32F103とかが乗っている基板がお手軽で良いかなと思う。
CPUボードはデバッガー機能付きで1500円ぐらい。
デバッガーの無い基板ならST-link等のデバッガーが必要で3000円ぐらい。
ラインから外れた距離を求めるのに三角関数が欲しい時もあるかもしれないが32ビットCPUなので数倍速い。プログラムメモリーも100kbyteある。
但しSTM32は、3.3ボルト動作なので5vの周辺との信号には信号レベルコンバーターが必要になります。
8ポートのコンバーターでDIPに変換付きのが秋月で250円
292774ワット発電中さん:2013/04/16(火) 16:50:54.05 ID:eqaebsGE
MPASMの擬似命令って積極的に利用すべき?それとも逆のほうがいい?
BANKSELとかCBLOCKとかRETLWの代わりにDTとか
293774ワット発電中さん:2013/04/16(火) 18:00:38.46 ID:iYAiHJFU
使って問題になる場合が思いつかない。
294774ワット発電中さん:2013/04/16(火) 21:35:39.27 ID:J/9aHgNl
手間やミスを減らすために積極的に使うべきといってみる
295774ワット発電中さん:2013/04/16(火) 21:42:38.58 ID:5f3fAKtO
MPASM以外にプロジェクトを移行させたとしても、擬似命令をマクロで代替できれば大した問題ではない。
296774ワット発電中さん:2013/04/23(火) 22:38:01.01 ID:QMMaFl2B
知人に16F877AのCCS-Cで書かれた
プログラムの改造をお願いされたのですが
有料Cコンパイラが高い為、
MPLABX IDEとXC8をDLして移植しようとしています。
試しにLEDチカチカを試そうとしたのですが
_delay関数がうまく動かず、
LEDがつきっぱなしになるか消えっぱなしになるかで
途方にくれています。
テスト回路としては、外部発振子で10MHzをつないでいます。
何か、助言をいただけないでしょうか。

つきっぱなしの時のソースを貼り付けておきます。
どうかよろしくお願いいたします。
297774ワット発電中さん:2013/04/23(火) 22:40:03.11 ID:QMMaFl2B
#include <htc.h>
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)
#define Amode 0xFF //port A initial mode, all input
#define Bmode 0 //port B initial mode, all output
#define Cmode 0x0F //port C initial mode, high 4bits output
#define Dmode 0 //port D initial mode all output
#define _XTAL_FREQ 10000000
void initializing() {
CMCON = 0x07;
OPTION_REG = 0x81;
TMR0 = 0x01;
T0IE = 1;
T0IF = 0;
GIE = 1;
PORTB = 0x00;
PORTC = 0x00;
PORTD = 0x00;
PORTE = 0x00;
TRISA = Amode; //all input
TRISB = Bmode; //all output
TRISC = Cmode; //in and out
TRISD = Dmode; //all output
}

void main() {
initializing();
while(1){
_delay(1000);
RD0 = RD0^1;
}
}
298774ワット発電中さん:2013/04/23(火) 23:37:43.94 ID:jgXdPSm7
>>296
_delay(1000); は NOP 1000個分のwaitにしかならない。
__delay_ms(1000); とかにする必要ある。
299774ワット発電中さん:2013/04/24(水) 07:22:14.46 ID:kgAuXg1y
296です。
レスありがとうございます。
__delay_ms(1000)などやってみたのですが、コンパイルエラーになってしまいます。。。(syntaxerr)
ちなみに、_delay(1200)などとすると消えたままです。
300774ワット発電中さん:2013/04/24(水) 07:53:56.47 ID:JpdbKWFr
関数呼び出しでsyntax errorは変じゃない?
そんな関数知らないよって言われるならまだわかるけど
301774ワット発電中さん:2013/04/24(水) 09:46:14.09 ID:cpfElQfb
>>299
delay関数を使用したサンプルソースくらい一緒にインストールされてないか?

ちなみに昔のpiccの時のサンプルは

include <htc.h> // Required to interface with delay routines

#ifndef _XTAL_FREQ
// Unless already defined assume 4MHz system frequency
// This definition is required to calibrate __delay_us() and __delay_ms()
#define _XTAL_FREQ 4000000
#endif

/** demonstration of various built-in delay mechanisms */
void main(void){
while(1){
NOP();
_delay(1000); // delay for 1000 instruction cycles
CLRWDT();
__delay_us(400); // delay for 400 microseconds
CLRWDT();
__delay_ms(2); // delay for 2 milliseconds
CLRWDT();
}
}
302774ワット発電中さん:2013/04/24(水) 10:29:26.06 ID:iP221tNs
PIC24Fでマイコンデビューします!
よろしくね!
303774ワット発電中さん:2013/04/24(水) 12:50:40.37 ID:lljwtip/
DSPICにしておけ
304774ワット発電中さん:2013/04/24(水) 14:21:33.50 ID:iP221tNs
dsPICってちょっと速いPIC24Fですよね?
3.3Vで動かしたいのでPIC24Fにしました
305774ワット発電中さん:2013/04/24(水) 20:57:40.50 ID:+F0dG/ZJ
12F1822はスリープさせても電気食うし12LF1822は4.5ボルトで使えないしどうすりゃいいんだ
306296:2013/04/24(水) 21:14:13.12 ID:kgAuXg1y
>>300
すいません、私の確認ミスでした。
エラーメッセージは
Unable to resolve identifier __delay_ms
でした。
改めてログを消してコンパイルしたら
コンパイル自体はエラーなしでPICに書き込めたように
見えたのですがLEDはつきませんでした・・・

>>301
サンプルありがとうございます。
ただ、XC8のフォルダを見てみましたが、
delayに関するサンプルは見つかりませんでした。
307774ワット発電中さん:2013/04/25(木) 02:09:37.55 ID:bnqM4AUF
※302
俺は18F4550でマイコンデビューしたけど、
バンク切り替えに眩暈がして早々に16bit PICに切り替えた。
今は33EP128MC504を常用。
RAMが16KBあるモデルでこれが一番安かったから。
16bitはあまり話題に上らないから嬉しかった。お互い頑張ろう。
308774ワット発電中さん:2013/04/25(木) 18:32:39.84 ID:NvKVIptF
>>306
XC8 1.12の場合 pic.h 内の__delay()、__delay_ms()、__delay_us()の定義が
#ifdef __PICCPRO__ 〜 #endifでくくられている。
ミッドレンジ以下のPICだとこの条件が偽になって未定義になるみたい。

#ifdefでくくられている中身を自分の書いたソース内にコピペしたら
ビルドは通ったけど、ちゃんと動くか保証は出来ない。
309296:2013/04/25(木) 21:49:11.33 ID:pi25+ZEi
>>308
確認ありがとうございます。
やはり、未定義扱いなんですね
いろいろなページで調べたのですが
みな普通に使っているようだったので
自分の環境がおかしいのかと思っていましたが
PICの種類にもよるんですね。

あきらめてdelayの部分をアセンブラ命令で書いてみようかと思います。
310774ワット発電中さん:2013/04/26(金) 09:42:51.75 ID:dpFOV/I3
>>309

>>301で提示したサンプルソースはXC8で問題なくコンパイルできるけど?
やってみた?
311774ワット発電中さん:2013/04/26(金) 16:44:10.01 ID:B5HOoh5l
mplab x ideの1.70をインストールしてmplab ipeを起動しようとしましたが見つかりません
別にインストールしないといけないのでしょうか?
312774ワット発電中さん:2013/04/26(金) 16:53:13.86 ID:B5HOoh5l
>>311
すみませんデスクトップにありました
windows8のアプリ一覧に無かったので色々調べたんですがわからなくて・・・
すみませんでした
313296:2013/04/26(金) 19:54:55.47 ID:zut6gCJC
>>310
申し訳ありません。
コンパイルが通ることは確認したのですが
やはりLED点滅用に最後にRD0 = RD0^1を入れてみましたが
LEDはつきませんでした。
314774ワット発電中さん:2013/04/27(土) 00:49:09.44 ID:g2LjyPht
>>313
ポートの初期化も入れたよね?

コンパイルが成功して、動かしたソースをうpしてみて。
315296:2013/04/27(土) 07:08:11.85 ID:GPkGxZkv
>> 314
これでいいでしょうか?

#include <htc.h>

// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

#define Amode 0xFF //port A initial mode, all input
#define Bmode 0 //port B initial mode, all output
#define Cmode 0x0F //port C initial mode, high 4bits output
#define Dmode 0 //port D initial mode all output

#define _XTAL_FREQ 10000000

void initializing() {
// ADC set them up analog inputs are RA0 RA1 RA2
CMCON = 0x07;
OPTION_REG = 0x81;

TMR0 = 0x01;

//enable_interrupts(INT_TIMER0);
T0IE = 1;
T0IF = 0;

//enable_interrupts(GLOBAL);
GIE = 1;

PORTB = 0x00;
PORTC = 0x00;
PORTD = 0x00;
PORTE = 0x00;
TRISA = Amode; //all input
TRISB = Bmode; //all output
TRISC = Cmode; //in and out
TRISD = Dmode; //all output

}

/** demonstration of various built-in delay mechanisms */
void main(void){
while(1){
NOP();
_delay(1000); // delay for 1000 instruction cycles
CLRWDT();
__delay_us(400); // delay for 400 microseconds
CLRWDT();
__delay_ms(2); // delay for 2 milliseconds
CLRWDT();
RD0 = RD0^1;
}
}
316774ワット発電中さん:2013/04/27(土) 08:02:43.78 ID:vyUxaad8
TMR0の割り込みを許可してるようだけど、割り込み処理は?
LEDの点灯に割り込みは関係ないようだしとりあえずGIE = 0;で確認したら?
あとRD0の状態はオシロで確かめた?
2.4msちょっとの間隔で点滅することになるので
目で見てわかんないと思うけど。
317490:2013/04/27(土) 11:06:13.12 ID:ce41WSCh
main で init を呼んでないように見える
318774ワット発電中さん:2013/04/27(土) 13:54:42.24 ID:g2LjyPht
>>317
確かによく見たら、mainで
initializing();
を呼んでないね。


まあ、あと_deay_ms()の値を大きくして、点滅がわかりやすいようにするくらいかな。
_deay_ms()は設定できる値の上限が決まってるから、エラーになったら値を小さくしていって。
319296:2013/04/27(土) 21:30:54.11 ID:GPkGxZkv
>>317
>>318
ありがとうございます。
どうも煮詰まりすぎて、初歩的なところを見落としていたようです。
initializing();
呼び出して試してみました。
delay_msを長くということでしたので
最初 500ms → コンパイルは通るが動かず。
2回目 100ms×5 → コンパイルは通るが動かず。
GIE = 0 にして
3回目 500ms → LED点滅!
ということで無事、テスト用PGが動きました!

GIEをONにすると動作が変わるんですね
TMR0の割り込みも使いたいので悩みどころですが
delay_msが使用できることがわかりましたので
本当に助かりました。
ありがとうございました!

しかし、初期化ロジックを呼び忘れるとは
本当に恥ずかしいミスを・・・
320317:2013/04/27(土) 22:36:59.36 ID:mueWM41W
やっぱそっか、 もう10年ぐらいAVR派でPICは触ってなかったから、最近のPIC環境はarduinoのsetup()みたく勝手に呼ばれるのかも?とか思っちゃたよ^^;
321774ワット発電中さん:2013/04/28(日) 00:03:14.59 ID:jUTbNE+5
>>319
× どうも煮詰まりすぎて、
○ どうも行き詰まりすぎて、

煮詰まるというのは、熟した、深く考えた、みたいな意味で使う。
322774ワット発電中さん:2013/04/28(日) 02:31:09.03 ID:EtTfMH4Z
×どうも行き詰まり過ぎて
○どうも行き詰まって
323774ワット発電中さん:2013/04/28(日) 02:56:19.89 ID:0Otbaxxe
いくら抵抗しても変化は止められない
324774ワット発電中さん:2013/04/29(月) 12:56:37.43 ID:LVvPDU6E
>>319
>>323も指摘してる。今後はき気をつけてね。
他所で言うと恥ずかしいよ。
325774ワット発電中さん:2013/05/05(日) 23:36:20.49 ID:FrMNFPkz
>>324
説教お爺チョン?
326774ワット発電中さん:2013/05/06(月) 00:52:50.69 ID:MPXrurYU
爺は自分のテリトリー内の事になると説教したがるんだよ
特に相手が自分より弱い立場の初心者になると尚更その醜態を目にする
327774ワット発電中さん:2013/05/06(月) 00:58:06.22 ID:8t0EWJqy
そうとしか捉えられないクズが敗者になるんだよね、残念だけどそれが世の中。
でもそうとしか捉えられなくてもクズじゃなくてダイヤの原石って奴もある確率で在るのも世の中。
出でよニューリーダー。
328774ワット発電中さん:2013/05/06(月) 12:10:18.53 ID:xYeSAWd8
>>326
寂しい人だね、あなた。
329774ワット発電中さん:2013/05/06(月) 16:27:28.46 ID:5ahlgOnA
って一言だけわざわざ書く人のほうが
330774ワット発電中さん:2013/05/06(月) 16:51:01.74 ID:xYeSAWd8
それに茶々入れるお前もな
331774ワット発電中さん:2013/05/06(月) 17:09:47.71 ID:TcUrZg8Z
みんな寂しい
332296:2013/05/06(月) 17:42:44.94 ID:LRV5nptc
書き込み規制に引っかかってしまい
レスが遅れてしまい申し訳ありません

言葉の用法のご指摘ありがとうございました
以後気をつけます。

delayが正常に動いていなかった
そもそもの原因は、
私がTMR0割り込みのことを理解せずに
コーディングしていたことのようです。

GIE=0で動いたので
割り込みがおかしいと、あたりをつけて
調べてみたところ
interrupt処理が書かれていなかったため
TMR0割り込みで飛ぶ先がなくなり、動かなくなったようです。

LED点滅したソースにinterruptで割り込みをクリアする処理を
つけてGIE=1にしたところ、すんなり動きました。
これで、コーディングを進められそうです。

本当にありがとうございました。
333774ワット発電中さん:2013/05/07(火) 02:07:23.17 ID:Gj7D9fdB
指摘してる人はいたけどね
334774ワット発電中さん:2013/05/12(日) 16:26:32.22 ID:uq4K+SqJ
「8ピンマイコンPICのわかる本」のなかで、LEDを制御する例があるのですが
PowerMOSFET(だっけ)は普通のトランジスタじゃだめなんでしょうか。
(規格のあうもの)
ttp://www.picfun.com/8pinPIC/8pinbookframe.html
335774ワット発電中さん:2013/05/12(日) 19:15:22.46 ID:n081dUj3
>334
MOS FET (電圧駆動) とバイポーラトランジスタ (電流駆動) の違いを理解して
回路を修正できるなら置き換えても大丈夫かと。
336774ワット発電中さん:2013/05/13(月) 00:29:47.36 ID:eKIR+DFg
>>335
理解してないので手に入らない MOS FET のかわりのものを探します。
ありがとう。
337774ワット発電中さん:2013/05/13(月) 01:13:34.93 ID:FZLArp/U
>336
回路図を見た限りでは呆れるほど余裕をもたせた作りになってますね。
例えば秋月電子通商で、 N チャンネルパワー MOS FET と書いてある
もののうち安い方から選ぶくらいで十分でしょう。…この使い方なら TO-92
タイプの 2N7000 でも問題無いと思いますけど。
338774ワット発電中さん:2013/05/13(月) 22:58:38.42 ID:eKIR+DFg
目的のLEDがせいぜい4V、200mA
一方 MOS FET のほうは連続の直流でドレイン電流が20A、許容ソースドレイン電圧が
60Vとか
ドライブする方のデバイスの能力が途方もなく大きいですな。

でも秋月のサイトを見る限り、ちょうどいいのが見当たらないですし
いすれ機会があれば2N7000を入手して作ってみることにします
339774ワット発電中さん:2013/05/14(火) 00:09:33.18 ID:91QCo50V
200mAって結構いくねぇ
340774ワット発電中さん:2013/05/14(火) 01:26:22.63 ID:5mF/DpMs
約 50 オームの抵抗を介して FET につながっているから 100mA 以下ではないかと。
LED の電圧降下まで考慮すると実際に流れるのは 60mA 以下ってとこでしょう。
341774ワット発電中さん:2013/05/14(火) 12:20:04.43 ID:jEHIWRJt
2sc1815の出番ですね
342774ワット発電中さん:2013/05/14(火) 16:33:36.95 ID:dEeNX7XN
25mA直駆動でよくね?
343774ワット発電中さん:2013/05/14(火) 18:23:50.55 ID:5mF/DpMs
>342
PIC12F683 のマニュアルをみました。

http://ww1.microchip.com/downloads/en/DeviceDoc/41211D_.pdf

絶対定格(全体で何 mA まで、というやつ) は見つけ
きれませんでしたが、
P.121
VOL が 0.6V at 8.5mA, VDD = 4.5V
P.148, P.149
いろいろな温度での VOL と IOL の関係のグラフでは
IOL = 10mA までプロットされている

ので、頑張って 10mA 位とした方がいいようです。IOH は
もっと小さいですね。あと、直接駆動だと信号を逆転させな
ければならないのが面倒です。
344mattake:2013/05/18(土) 12:03:09.57 ID:f0I394UC
PIC12F683でLEDフラッシャーを作ろうと考えています。
ネットで12F509aの制作事例が載っていたので参考にしようと思いますがプログラムの
互換性があるのか教えてください。なければPIC12F675はどうでしょう。
345774ワット発電中さん:2013/05/18(土) 12:15:53.55 ID:gSa6a/+5
互換性がコピペで動くって意味ならたぶん無理。

逆にプログラムをよく理解し参考にするならどちらも有用。
346774ワット発電中さん:2013/05/18(土) 12:26:14.63 ID:gwcQzAhn
今時683なんて使わずに1822でも使えば良いのに
347774ワット発電中さん:2013/05/18(土) 12:27:13.93 ID:ykVMmb2A
よし、24Fだ
348774ワット発電中さん:2013/05/18(土) 12:29:11.65 ID:gwcQzAhn
DSPICにしとけよ
349774ワット発電中さん:2013/05/18(土) 21:10:55.12 ID:NPmrsNvl
>>344
アセンブラは、ニーモニック近いし、Cも大部分はそのまま
使えるが、手直し必要。
350774ワット発電中さん:2013/05/19(日) 19:00:43.02 ID:/6UlUb4q
初期化で躓く
351774ワット発電中さん:2013/05/25(土) 15:01:01.11 ID:XybwlZOa
PICKIT2で18F14K50に書き込もうとしたら、ブランクチェックで "configuration
not blank" となってエラーになります。
買って来たばかりのPICで、まだ一度も書き込んだことはありません。

全く同じ基板を使って同じ物を2つ作ったのですが、片方は正常に書き込みが出来
ました。ハードの不良を疑う場合、何が原因として考えられますでしょうか。

ちなみに関係するか分かりませんが、PICKIT2の画面で「READ」ボタンを押す
と、右上のConfigurationの下に赤文字で"All Protect" と表示されます
352774ワット発電中さん:2013/05/26(日) 03:04:36.44 ID:syxuUHln
351です
専スレで聞きなおしましたのでこっちは無視願います
353774ワット発電中さん:2013/05/30(木) 15:37:20.29 ID:iTaiAi+Q
MPLABの画面が壊れる人いませんか?windows7で使ってるのですが、ツールバーのアイコンが消えてしまったり困ってます。
バージョンアップしてもダメです、どうすればいいのでしょうか。
354774ワット発電中さん:2013/05/30(木) 16:06:36.66 ID:a99Rq8Bc
次にやることはOSの再インストールだよ
355774ワット発電中さん:2013/05/30(木) 16:41:32.35 ID:a9QHxdkU
Windows7で使ってるけどうちのは大丈夫だお
356774ワット発電中さん:2013/05/30(木) 19:44:45.92 ID:xtQ7IgE4
357774ワット発電中さん:2013/05/30(木) 19:46:03.33 ID:xtQ7IgE4

2008-08-06ね
358774ワット発電中さん:2013/05/30(木) 22:15:04.43 ID:9Whe4vdw
>>353
うちもWin7(32bit)で同じ症状。
MPLAB X 使うことにた (w
359355:2013/05/30(木) 22:28:02.80 ID:xtQ7IgE4
ごめん、うちの問題ないってのもXの話ね。バージョンアップしてもっていってたから既にXなのだと思ってた。
360774ワット発電中さん:2013/06/01(土) 19:27:06.17 ID:SNsQOxIx
pic12f1840を使い始めた物ですが、
コンパイラはHI-TECH、内部クロックで動作させようとしていますが、
コンフィグレーションの設定あたりが悪いみたいで、
全く動作してくれません。

今回設定したコンフィグレーションは、
__CONFIG(FOSC_INTOSC &amp; WDTE_OFF &amp; PWRTE_ON &amp; MCLRE_OFF &amp; CP_OFF &amp; CPD_OFF &amp; BOREN_OFF &amp; CLKOUTEN_OFF &amp; IESO_OFF &amp; FCMEN_OFF );
__CONFIG(WRT_OFF &amp; PLLEN_OFF &amp; STVREN_OFF &amp; BORV_HI &amp; LVP_ON );

OSCCOnレジスタは、
OSCCON = 0b01100010;
と設定しております。分かる方がいたら教えてください。
361774ワット発電中さん:2013/06/01(土) 19:40:55.64 ID:sOvJSrmd
ハイテクC使ってないからよう知らんけど、CONFIG関数は二回呼んで大丈夫なの?一回目のが上書きされちゃってんじゃね?
362774ワット発電中さん:2013/06/01(土) 19:57:22.54 ID:RGzz2FG9
>>360
コンフィグレーションの設定が悪いと思った理由は?
363774ワット発電中さん:2013/06/01(土) 20:04:09.34 ID:SNsQOxIx
>>362
コンフィグレーションの設定に問題があると思ったのは、
最低限動かすだけなら、他に設定する物がないからです。

>361
今回初めてHI-TECHを使いますが、インターネットの情報ではこれが正しいみたいです。
364774ワット発電中さん:2013/06/01(土) 20:22:15.37 ID:uL3UU1RF
>>360
「全く動作してくれません」
との事だけど、何をしようとして動かなかったのか、例えばポートに出力出来ないとか、そこをもう少し具体的にしてくれれば原因を推察出来るのでよろしくどぞ。
可能ならばソースコード見せてくれるとなお。
365774ワット発電中さん:2013/06/01(土) 20:35:23.03 ID:1Ji0PUcC
とっくに石そのものがぶっ壊れてるのかもしれん。
通電中のPICに指を押し付けてヤケドするか試してみたら?
366774ワット発電中さん:2013/06/01(土) 21:15:11.82 ID:OWodWC0x
>>351
似たようなことを経験したことがある。
俺の場合は、picとライタの接触不良だった。
367774ワット発電中さん:2013/06/01(土) 21:27:08.58 ID:rEtjm5kC
接触不良のときは接触不良だって表示してほしいよな
違うメッセージが出たら原因は他にあるんだと思ってしまう
368774ワット発電中さん:2013/06/01(土) 22:09:19.36 ID:aTU0QLDC
接触不良の時に接触不良だって表示するにはどうすればいいんだろう
たぶん無理だと思う
369774ワット発電中さん:2013/06/01(土) 22:10:26.12 ID:SNsQOxIx
下記のプログラムのように、RA0ピンを2秒ごとに点滅させるプログラムです。

#include <pic.h>
#include <htc.h>
#include <pic12f1840.h>

__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CP_OFF & CPD_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF );
__CONFIG(WRT_OFF & PLLEN_OFF & STVREN_OFF & BORV_HI & LVP_ON );

#define _XTAL_FREQ 8000000

int main(void)
{
OSCCON = 0b01100010;
TRISA = 0x00;
ANSELA = 0b00000000;
WPUA = 0x00;
LATA = 0x00;

while(1)
{
LATAbits.LATA0=1;
__delay_ms(2);
LATAbits.LATA0=0;
__delay_ms(2);
}
return 0;
}
370774ワット発電中さん:2013/06/01(土) 22:21:30.36 ID:8H0rX/CT
>>369
__delay_ms(2);なら2msだから見えてないだけでは?
371774ワット発電中さん:2013/06/01(土) 22:30:52.74 ID:SNsQOxIx
>>370
おっしゃるとおり実際は正常に動作しておりました。
2msを2秒と勘違いして考えておりました、すみません。
372774ワット発電中さん:2013/06/01(土) 22:40:26.08 ID:aTU0QLDC
>>371
トラブルシュートで大事なのは
「コンフィグレーションの設定あたりが悪いみたいで、」とか、安易に決め付けないことだ。
そう思い込んだ時点で、答えに辿りつけなくなり、あさっての方向ばかり調べることになる。
373774ワット発電中さん:2013/06/02(日) 02:51:42.80 ID:pKJGFeDz
二つ教えていただきたいのですが、
1.LEDなど接続する場合PICから電流を出す方向と引き込む方向とどちらが良いのでしょうか?
2.12F683ですが、データシートでは2Vから動作可能と記載があったので3Vのコイン電池で動作させようと
思ったところ動作不安定になりました。内蔵8MHzの上限よりクロックを下げた方が良いのでしょうか?
よろしくお願いします。
374774ワット発電中さん:2013/06/02(日) 04:06:41.64 ID:QHS6pIyE
>>373
1はどちらでも良い。
2は動作時の電圧、電流を計測。
375774ワット発電中さん:2013/06/02(日) 06:51:54.24 ID:oD5Fr8Rs
3Vのコイン電池ってのがどの電池かわかんないが、
CR2032とかだと0.1mAとか0.2mAとかとにかくその程度の電流しか流せないよ。
リチウムだから1Aぐらい流せるもんだと思ってた。
376774ワット発電中さん:2013/06/02(日) 08:04:48.95 ID:vMADuBDw
377 ◆HIKaRi/Dzs :2013/06/02(日) 09:45:06.49 ID:9lnn0DcW
大きめのケミコンを電源ラインに入れればある程度対応できると思う
コイン電池は内部抵抗大きいから、オシロで電圧波形みるとわかるけど、
動作時かなり変動する
378774ワット発電中さん:2013/06/02(日) 18:05:26.10 ID:pKJGFeDz
皆さんアドバイスありがとうございます。

>>374
LEDはどちらでもいいのですね。
12F683を使用でICSP使ったときにPICKitでHEXファイル読み込み時に点滅と書き込み時にも点滅するので間違ってるのかと思いました。
LEDは現在は電池側の+から抵抗を介してPICへの向きです。
電流計測は出来ていませんが、If20mAのLEDと圧電サウンダですので>>375さんのアドバイスからして電流的に無理でした。

>>375
すみません書き忘れていました。CR2032です。
電流少ないのですね。
フリスクケースの電子サイコロ等のPIC工作をWEBで見て上記のLED1個と圧電サウンダくらい動かせると思っていました。

>>376
とても参考になる記事を教えていただきありがとうございます。

>>377
基板に余裕があるので試して見ます。


それと、圧電サウンダ(PICの足と電池のマイナスに接続)ですが、
まだPICの各タイマーの記述を勉強中ですので
単純に接続端子(出力)のオンオフとディレイ命令で、H出力とL出力の方形波?を作っているのですが
これでも鳴らすことは可能でしょうか?

質問を重ねましてすみませんがもう少しだけアドバイスをお願いします。
379774ワット発電中さん:2013/06/02(日) 18:23:19.60 ID:aGaoheJI
>>378
サウンダはそれで鳴る
というか
鳴るかどうか確認してないの?
電池もそうだけど。
検証しながらやらなきゃ、突破口は無いと思うよ。
380774ワット発電中さん:2013/06/02(日) 18:40:34.64 ID:pKJGFeDz
>>379
今、実験してみました。
PIKkit2のVDDをONで電圧を変えてみました。
ICSP経由で電源供給出来ることと電圧を変えれる事もさっきググって知りました。

結果、5V供給では鳴りました。3.8Vで怪しくなり3.5Vでは供給しながら下げれば鳴りますが
最初から3.5Vでは無理でしたので、この圧電サウンダはCR2032では無理だと解りました。

Cで書いてるプログラムの問題かと思ったのですが、手法は問題無しなのですね。

去年のトラ技のPIC特集を先月見て始めたPICですが、知らないこと多すぎで
555IC等でちょっとした工作してるのと違い、ソフトの問題とハードの問題などあり奥が深いですね
381774ワット発電中さん:2013/06/02(日) 19:16:08.86 ID:aGaoheJI
>>380
調べたのは一応進歩だと思うけど、音の出るクリスマスカードとか、小さな電池で鳴ってるじゃない。
試してダメだと結論付けて諦めるのは勝手だが、出来てるモノはなぜ出来てるのか調べる努力も必要と思うけどね。
382 ◆HIKaRi/Dzs :2013/06/02(日) 19:24:28.46 ID:9lnn0DcW
>>380
ケミコンは試してみましたか?
383774ワット発電中さん:2013/06/02(日) 23:14:33.43 ID:pKJGFeDz
>>381
自分で考えた結果ですが、電流量の不足又は電圧不足(電力の不足)の結論に達しました。
秋月の30円の物ですが、電圧を変えて実験すると上記の様に、5Vから下げていくと3.5Vで鳴るのに
3.5VでONすると鳴りません。3.8V程度では”プッと”振動子が一方向だけ動いて止まる感じです。
商品説明とデータシートでは電圧のみの記載で電流や電力は書いていませんが
今回は圧電サウンダは部品選定を間違ったと結論に達しました。クリスマスカードのような薄型の低電力駆動
可能な圧電素子に変えるのが良いのかと思いました。
週末しか工作が出来ないので来週までに部品を入手しようと思います。

>>382
コンデンサの手持ちが無いためまだ試していません。
こちらも、部品を入手して試して見ます。
384774ワット発電中さん:2013/06/02(日) 23:42:03.25 ID:UFHQXHSo
結論に達したんならべつにいいけど、
オレは10F322+CR2032+30円圧電サウンダでアラーム作ってフリスクケースに入れてるから。
コンデンサは不使用な。サウンダの片方がグランドじゃないのはキミと違うけど。
385774ワット発電中さん:2013/06/03(月) 00:14:54.56 ID:IU2mf38L
BTL駆動でつね。
386774ワット発電中さん:2013/06/03(月) 00:33:28.69 ID:AFxyCwJL
>>384
グランドに接続していないというのはPICの出力を2つ使って
圧電サウンダを接続して、2つの出力を交互にH,Lを繰り返せば
VDD5Vとすれば、圧電サウンダから見て10Vで駆動しているように見えるということでしょうか?
387774ワット発電中さん:2013/06/03(月) 00:43:39.01 ID:Vq2PgPOs
>>386

だが音量は少し大きくなるだけ。GNDにしておいても鳴らないわけじゃない
388774ワット発電中さん:2013/06/03(月) 08:48:16.98 ID:ry40r6hZ
PIC32MXで超音波センサを使おうとピン変化割り込みに挑戦しているのですが、上手くいかないのでお力を貸してください。
PORTB の 7番ピンでパルスの送信及び受信を行っています。
#include <plib.h>
#include <stdio.h>
#include <math.h>
#define SYSCLK 40000000L
#define SYSCLKdiv10MHz (SYSCLK/10000000)
#pragma config PMDL1WAY = OFF // Peripheral Module Disable Configuration (Allow multiple reconfigurations)
#pragma config IOL1WAY = OFF // Peripheral Pin Select Configuration (Allow multiple reconfigurations)
#pragma config FUSBIDIO = OFF // USB USID Selection (Controlled by Port Function)
#pragma config FVBUSONIO = OFF // USB VBUS ON Selection (Controlled by Port Function)
#pragma config FPLLIDIV = DIV_2 // PLL Input Divider (2x Divider)
#pragma config FPLLMUL = MUL_20 // PLL Multiplier (20x Multiplier)
#pragma config UPLLIDIV = DIV_2 // USB PLL Input Divider (2x Divider)
#pragma config UPLLEN = OFF // USB PLL Enable (Disabled and Bypassed)
#pragma config FPLLODIV = DIV_2 // System PLL Output Clock Divider (PLL Divide by 2)
#pragma config FNOSC = FRCPLL // Oscillator Selection Bits (Fast RC Osc with PLL)
#pragma config FSOSCEN = OFF // Secondary Oscillator Enable (Disabled)
#pragma config IESO = OFF // Internal/External Switch Over (Disabled)
#pragma config POSCMOD = OFF // Primary Oscillator Configuration (Primary osc disabled)
#pragma config OSCIOFNC = OFF // CLKO Output Signal Active on the OSCO Pin (Disabled)
#pragma config FPBDIV = DIV_1 // Peripheral Clock Divisor (Pb_Clk is Sys_Clk/1)
#pragma config FCKSM = CSDCMD // Clock Switching and Monitor Selection (Clock Switch Disable, FSCM Disabled)
#pragma config WDTPS = PS1 // Watchdog Timer Postscaler (1:1)
#pragma config WINDIS = OFF // Watchdog Timer Window Enable (Watchdog Timer is in Non-Window Mode)
#pragma config FWDTEN = OFF // Watchdog Timer Enable (WDT Disabled (SWDTEN Bit Controls))
#pragma config FWDTWINSZ = WISZ_25 // Watchdog Timer Window Size (Window Size is 25%)
#pragma config JTAGEN = OFF // JTAG Enable (JTAG Disabled)
#pragma config ICESEL = ICS_PGx3 // ICE/ICD Comm Channel Select (Communicate on PGEC3/PGED3)
#pragma config PWP = OFF // Program Flash Write Protect (Disable)
#pragma config BWP = ON // Boot Flash Write Protect bit (Protection Enabled)
#pragma config CP = OFF // Code Protect (Protection Disabled)
void delay_us(unsigned int usec);
void delay_ms(unsigned int msec);
void pin_init(void);
void module_init(void);
void TIMER_Configulation(void);
void ChangeNotice_Configlation(void);
int read_ultrasonic(void);
void recieve_config_ultrasonic(void);
void send_ultrasonic(void);
int ULTRASONIC_ENABLE;
int SEND_ULTRASONIC_READY;
389774ワット発電中さん:2013/06/03(月) 08:49:04.98 ID:ry40r6hZ
int main(void)
{
SYSTEMConfigPerformance(SYSCLK); //システム最適設定
mJTAGPortEnable(DEBUG_JTAGPORT_OFF); //PORTA is used I/O, JTAG port must be disabled.

pin_init();
pps_init();
module_init();
ULTRASONIC_ENABLE = 0;
SEND_ULTRASONIC_READY = 1;
INTEnableSystemMultiVectoredInt();
while (1);
return 0;
}
void delay_us(unsigned int usec)
{
unsigned int i, delay;

delay = usec * SYSCLKdiv10MHz;
for(i=0; i<delay; i++);
}
void delay_ms(unsigned int msec)
{
unsigned int i;

for (i = 0; i <msec; i++)
delay_us(1000);
}
void pin_init(void)
{
mPORTBSetPinsDigitalOut(BIT_7);
LATB = 0;
}

void module_init(void)
{
/* Timer */
TIMER_Configulation();
/* Change Notice */
ChangeNotice_Configlation();
}

void TIMER_Configulation(void)
{
OpenTimer45(T4_ON | T4_SOURCE_INT | T4_PS_1_1 | T4_32BIT_MODE_ON, 800000); /* Ultra Sonic MAX20msec*/
}

void ChangeNotice_Configlation(void)
{
mCNBClearIntFlag();
CNCONBbits.ON = 1;
CNENBbits.CNIEB7 = 1;
PORTB;
IPC8bits.CNIS = 4;
IPC8bits.CNIP = 0;
IEC1bits.CNBIE = 1;
ULTRASONIC_ENABLE = 1;
}
390774ワット発電中さん:2013/06/03(月) 08:50:07.80 ID:ry40r6hZ
void send_ultrasonic(void)
{
SEND_ULTRASONIC_READY = 0;
CNCONBbits.ON = 0;
CNENBbits.CNIEB7 = 0;
mPORTBSetPinsDigitalOut(BIT_7);
mPORTBClearBits(BIT_7);
mPORTBSetBits(BIT_7);
delay_us(5);
mPORTBClearBits(BIT_7);
}

int read_ultrasonic(void)
{
int length;
if (mPORTBReadBits(BIT_7)) {
TMR4 = 0;
return -1;
} else {
length = TMR4;
SEND_ULTRASONIC_READY = 1;
return length / 40 * 0.0034326; /* cm order */
}
}

void recieve_config_ultrasonic(void)
{
IFS1bits.CNBIF = 0;
TRISBbits.TRISB7 = 1;
CNCONBbits.ON = 1;
CNENBbits.CNIEB7 = 1;
CNPUBbits.CNPUB7 = 1;
PORTB;
IFS1bits.CNBIF = 0;
IEC1bits.CNBIE = 1;
}

void __ISR(34, ipl4) CNBinterrupt(void)
{
int tmp;
if (ULTRASONIC_ENABLE)
tmp = read_ultrasonic();
IFS1bits.CNBIF = 0;
}
非常に長くなってしまいましたが、怪しい部分などあったら教えて下さるとうれしいです。
391774ワット発電中さん:2013/06/03(月) 09:40:58.69 ID:Z+1ECA6+
プルアップ有効?にしてすぐPORTBを読んでる?のかな?
"H"→"L"を検出したいんだよね?
直前まで"L"を出力してたら、レベル上がりきってないんじゃない?
392774ワット発電中さん:2013/06/03(月) 09:59:51.30 ID:ry40r6hZ
PORTBを読んでいるのは前回のPORTBの状態保存?の為ですね。
ピン変化割り込みの関数自体にprintfを仕掛けてみたのですが、そもそもピン変化割り込みに入っていないということになっています。
検出したいのはL→H,一定時間経った後のH→Lです。
なのでレベルが上がり切っていない状態で状態保存がされてしまっても最低でもLに変化の時に入ると思ったのですが、それもうまく行きませんでした。
340fではピン変化割り込みに成功したのですが…PICはなかなか難しいですね
393774ワット発電中さん:2013/06/03(月) 12:45:41.34 ID:OdbemD7d
すみません。PICではなくI2Cについての質問なのですが、
スレーブの送信において、全データ送信完了をスレーブ側が送ることは仕様上できますか?
それともスレーブはマスタ側がストップコンディションを送るまで空データを送り続けないといけませんか?
394774ワット発電中さん:2013/06/04(火) 01:24:28.81 ID:JN1scxG4
>>393
その質問はナンセンス

その「空データ」をマスター側が意味の無いデータであると認識しているのであれば、そこで受信を停止すれば良い
意味の無いデータであると認識できないのであれば、空データという名のゴミを送る仕様が間違い
395774ワット発電中さん:2013/06/04(火) 07:34:03.24 ID:k63zLDLD
>>394
ということは、スレーブ側にとってのストップコンディションみたいなものは仕様上無く、
例えば送信1バイト目にこれから送るバイト数を送るとか、
例えば末端文字を決めておくとか、することになるのですね。
396774ワット発電中さん:2013/06/05(水) 19:10:44.30 ID:NlBrOGul
>>382
コンデンサ試してみましたが容量増やしていっても圧電サウンダは無理でした。
実験用に7805で作った006Pから5V生成電源では、PICで圧電サウンダを鳴らせました。
圧電サウンダその物は、パルスジェネレータで使うと2Vrmsでも鳴りましたので電圧の問題か
電流の問題か問題の切り分けに悩むところです。

PICを動かすために結構電力を消費して、CR2032が電圧低下&電流も取り出せない?などとも考えています。
こういう事も有るのでしょうか?
397774ワット発電中さん:2013/06/05(水) 19:33:41.23 ID:1FvaXYVX
BORかなとも思ったけど、確かめたら12F683のVBORは2Vだから違うか・・・
398774ワット発電中さん:2013/06/05(水) 19:41:16.26 ID:2hTgAMSS
2Vくらいまで下がった電池でも音は出る
電源以外のピンに電源つないでも動くから配線をよーく確認汁
399774ワット発電中さん:2013/06/05(水) 21:35:48.73 ID:c1LLaFkA
>>396
ところで、圧電サウンダは何kHzで鳴ることになるの?
当然、周波数特性を見て音圧の高い周波数を選んでいるよね?
400388:2013/06/05(水) 21:41:00.51 ID:jxmS0xTO
自己解決致しました。
割り込みレベルの設定を間違えていたことが原因でした。
スレ汚し大変失礼致しました。
401774ワット発電中さん:2013/06/05(水) 21:43:46.83 ID:xM0vzgb9
オープンドレインの出力ピンに圧電サウンダをつないで
シンク電流で鳴らそうとしてるとか・・
402774ワット発電中さん:2013/06/05(水) 21:50:09.41 ID:w5EScl6C
>>396
圧電サウンダは電流は余り流れないはずだから電池の容量の問題ではない気がするよ。
出力ピンのHレベル時の電圧もしくは出力波形確認して見ては。

>>401
5V電源なら鳴ったと書いてるから違うんじゃないかな?
403774ワット発電中さん:2013/06/05(水) 22:06:57.10 ID:bCEYvQMC
もうめんどいから電池2個直列にしてダイオードで適当に下げちゃおうよw
404774ワット発電中さん:2013/06/06(木) 02:04:26.27 ID:NaPAHvVN
皆さんレスありがとうございます。

>>397
>>398
電池は、新品に変えてみましたが変化なしです。

>>399
データシートでは3V方形波で4kHz付近が特性が良いので
125uS毎にH出力、L出力を切り替えています。

>>401
データシート見ましたら12F683はオープンドレイン端子は無かったです。

>>402
波形ですか。オシロは持ってないので明日にでも知り合いに借りてみます。

>>403
正直、自分も考えました。
ただ、CR20322個で6Vだと使用範囲2-5.5Vを超えてしまうのですが
0.5V程度なら大丈夫なものでしょうか?
405質問:2013/06/08(土) 20:22:19.02 ID:ZK5SLCWx
PIC18F14K50でI2C通信をしております。
日本語のデータシートを参考にしております。
http://ww1.microchip.com/downloads/jp/DeviceDoc/41350D_JP.pdf

質問はスレーブ受信側の話ですが。。
このマイコンでは通信の終了をどう検出すればよいのでしょうか?
SSPSTATbit.Pを絶えず監視しているしかないのでしょうか?

アドレスやデータはバイト受信ごとにSSPIF割込み入りますが、
ストップコンディションや、リピートスタートは入らないようです。

やり方をどなたか教えて下さい。
406774ワット発電中さん:2013/06/09(日) 08:43:01.46 ID:pS+LWswh
バッファフルビットが立つでしょ
407質問:2013/06/09(日) 20:02:49.78 ID:ivNNp5yG
いや、1ビットの受信ではなくて、ストップコンディションが送られたかどうかです。

I2Cってパイプみたいなもので、
データの始めと終わりという概念がないのかな?
それが欲しければ自分でコードで定義しろみたいな??
408774ワット発電中さん:2013/06/09(日) 21:34:04.13 ID:kuH1aB73
必要がないからないんじゃないの?ストップコンディションだってなくても
あまり不都合なさそうだし。
409774ワット発電中さん:2013/06/09(日) 23:31:16.06 ID:vWTroPyT
プルアップ用の抵抗ってどの程度の値が無難なの?
410774ワット発電中さん:2013/06/09(日) 23:51:59.48 ID:D7zJfl8H
デバイスの入力インピーダンスの1/10以下。
電力消費の制限よりは上で。

漏れ的には電池駆動だったら100kΩ、AC駆動だったら10kΩって決めている。
411774ワット発電中さん:2013/06/10(月) 00:17:59.61 ID:VYR/y1MS
>409
I2C の?なら例えば
http://www.picfun.com/midi2c02.html

http://netlog.jpn.org/r271-635/2012/10/i2c_pullup_resistor.html

AVR の場合はマニュアルに規定値が書いてあるのも有るようです。

www.atmel.com/Images/doc8161.pdf

の 321 ページ目の Value of Pull-up resistor の項
412774ワット発電中さん:2013/06/10(月) 00:43:07.16 ID:w466mKmd
>>411
ごめん。書き忘れた。
単純にスイッチ接続する時のプルアップ用。
413774ワット発電中さん:2013/06/10(月) 07:06:17.57 ID:LfCnu6gc
I2Cの質問相次いでますが、引き続き質問させてください。

スレーブ受信側でユーザバッファ配列がいっぱいだった時、
ACKを返さないことによってそれをマスター送信側に伝えたいのですが、
PICでそれができますか?

どうも受信した時点ではすでにACKを返してしまうため、
それができない気がします。

やるとすれば、ユーザバッファがいっぱいになってもやむを得ずACKを返し、
そのバイトはSSPBUFから降ろさないことで、
次のバイトが来たときにSSPOVを起こしてNACKを返すしかないのでしょうか?
414質問:2013/06/10(月) 07:40:44.52 ID:LfCnu6gc
送信時は常に送りたいバイト列に加え1バイト多く送ればいいだけかな、何だかなぁ。
415774ワット発電中さん:2013/06/10(月) 08:13:27.91 ID:LfCnu6gc
でも、ストップコンディションが取れないことと矛盾するなあ、
どこまでが本来送りたかったデータかわからないもんなあ。
416774ワット発電中さん:2013/06/10(月) 10:51:06.31 ID:TN73tgRd
>>415
このモードでストップシーケンスで割り込むんじゃないかな。使ったことは
ないけど。
SSPM<3:0>
1110 = I2C スレーブモード、7 ビットアドレス、スタートビットとストップ
ビットの割り込みを有効にする

>スレーブ受信側でユーザバッファ配列がいっぱいだった時、
>ACKを返さないことによってそれをマスター送信側に伝えたいのですが、
>PICでそれができますか?

アドレス受信に対してSSPBUFを読まなければACKが帰らないような気が
するけど。
417774ワット発電中さん:2013/06/10(月) 19:23:30.18 ID:LfCnu6gc
>アドレス受信に対してSSPBUFを読まなければACKが帰らないような気が
するけど。

それはアドレスを受信した時点でバッファに余裕があるか判断する
ということですよね。と言うことは、送受信するバイト数は
お互いに予め決めておくということですよね?

そうじゃなく1バイト送信ごとに判断したかったんです。

でも、なんかそっちのほうがいいような気がしてきました・・・
418774ワット発電中さん:2013/06/10(月) 19:25:31.42 ID:LfCnu6gc
>>416
>SSPM<3:0>
>1110 = I2C スレーブモード、7 ビットアドレス、スタートビットとストップ
ビットの割り込みを有効にする

これについてはPIC24では存在しないようです。
http://ww1.microchip.com/downloads/jp/DeviceDoc/39702A_JP.pdf

新しい商品で非対応なのだから、PICポリシーとして
ストップコンディションを知ることは不要だと言っている気がします。
419774ワット発電中さん:2013/06/12(水) 21:50:01.95 ID:WlhRBa6z
>>418
マスターからの送信要求終了は NACK が帰ってくる事で判断できる。
ストップコンディションはハードとしては必要だが、ソフトとしては特に要らない。
420774ワット発電中さん:2013/06/13(木) 07:41:20.11 ID:lWQIeALA
マスター送信にしてもマスター受信にしても、送受信データが可変長の場合、
アドレスに続く1バイト目は、続いて送るバイト数をとするという
取り決めにしておくのが正しい。
421774ワット発電中さん:2013/06/13(木) 07:56:45.41 ID:MVPSW++a
複雑な制御をするなら、コマンドみたいな物を送るだろうから、そのコマンド毎にバイト数を決めておけば
なんの問題も無いし、余計なデータを送ることも無い。
422774ワット発電中さん:2013/06/13(木) 17:18:48.90 ID:IPbpq4WW
パケット構造とし、CRCをチェックし、エラーの場合はNAKを返送し、タイムアウトの場合、受信ステートをリセットして、、、その他もろもろ云々 w
423774ワット発電中さん:2013/06/13(木) 20:06:41.10 ID:1c3J4gah
>>420
>アドレスに続く1バイト目は、続いて送るバイト数をとするという
それI2Cだとうまくいかないんだよ
送るものはすべて固定長のブロック単位にして、
可変長列が必要ならそのブロック内部でやりくりした方が良い
424774ワット発電中さん:2013/06/13(木) 20:20:45.03 ID:1c3J4gah
I2Cというよりペリフェラルの実装の都合でうまくいかないという意味ね
上の疑問のようにあれれー?となる
425774ワット発電中さん:2013/06/13(木) 23:39:23.11 ID:lWQIeALA
マスター送信でも受信でも、アドレスに続く1バイト目は実データのバイト数、
2バイト目は意味のないダミーバイト、3バイト目以降が実データ。
色々考えたけど、個人的にはこれがよいという結論。

マスター送信の場合、
スレーブは1バイト目でバッファが足りないとわかったら、
2バイト目でSSPBUFをREADしない、すると3バイト目でNACKが返せる。
(1バイト目受信後に自らSSPOVを立ててみたがダメ、2バイト目ではNACKは返せない)

マスター受信の場合、
1バイト目でスレーブが送信したいバイト数が0だとわかったら
2バイト目でNACKを返し、通信を終える。
送信したいバイト数が1以上なら、3バイト目からを実データを送る。
426774ワット発電中さん:2013/06/14(金) 09:07:05.06 ID:dQiIL1HJ
I2Cは速度が上げられないので、バイト数なんて、プロトコルをちゃんと設計してれば
分かりきってるような余計なデータを送る時間が無駄
427774ワット発電中さん:2013/06/15(土) 09:53:28.10 ID:zqb6RLEj
すみません。
MPLAB Xでタブキー入力がスペースに変化してしまいます。
これを止める設定はどこですか?
428774ワット発電中さん:2013/06/16(日) 19:47:08.33 ID:1Odv/LDs
>>427
Tools->Options->Editor->Formatting->Language:C
Expand Tabs to Spaces
429774ワット発電中さん:2013/06/16(日) 21:57:41.80 ID:GUvIJLHV
どうやらそれに合わせて、
Number of Spaces per Indentと Tab Sizeを4にしないとダメのようですね。
TabSizeが8担っていたのでできなかったようです。
ありがとうございました。
430774ワット発電中さん:2013/06/16(日) 23:13:14.20 ID:EMiMcetJ
12F683ですが、GP2にスイッチをつけてグランドに落としています。
GP2は内部プルアップしています。
INT割り込みを設定してLEDを点灯消灯するだけのプログラムを作ったのですが
スイッチを押した時でなく離した時に反応しているようです。
スイッチは一般的なタクトスイッチで押せば導通があるタイプです。

INT割り込みとはこの様なものなのでしょうか?
431774ワット発電中さん:2013/06/16(日) 23:24:09.50 ID:i1WiYh/g
立上りと立下りのどちらで割り込ませるかは自分で指定する
OPTIONレジスタのINTEDGが1なら立上り、0なら立下りで割り込みになる
432774ワット発電中さん:2013/06/17(月) 00:49:25.36 ID:Jqpd2/4U
>>431
OPTIONレジスタはプルアップの項目に気をとられて、INTEDGは設定していませんでした。
仕様によると初期値は1で立ち上がりエッジで検出と言う事ですので、自分の場合は
スイッチONでグランドに落ちるので、スイッチを離した時に立ち上がって割り込み開始と言うことだったのですね。

ありがとうございました。
433774ワット発電中さん:2013/06/19(水) 23:48:20.74 ID:u3XWTDRz
質問なのですが、forループを書く時に
下の様に、実行回数の所に変数を使うことは出来るでしょうか?
環境はmikroCを使っています。


a = rand() & 30;
for(i = 1;i < a;i++){
chien(); //遅延用関数
}
434774ワット発電中さん:2013/06/19(水) 23:53:38.46 ID:+r01SWXU
フツーのCならできるでそ
435774ワット発電中さん:2013/06/20(木) 01:13:27.25 ID:eMPNtcj5
a = rand() & 30;

↑何をしたいのか良くわからないが、多分望んだ結果は得られないんだろうなという予感がする
436774ワット発電中さん:2013/06/20(木) 08:06:04.32 ID:xtBZbRZx
0から29の乱数が欲しいんなら
ふつー、rand()%30 だろ
437774ワット発電中さん:2013/06/20(木) 08:16:06.27 ID:9xbSWGrO
>ふつー、rand()%30 だろ
乱数生成で、だめな典型だな
438774ワット発電中さん:2013/06/20(木) 22:12:37.52 ID:NegLsljD
>>434
ありがとうございます。
ビルドでエラー出ていたので疑問でしたが
別の所で間違った様なので見直してみます。

>>435
>>436
スレの上の方で>>93に%でなく&で指定していたのを
見かけましたので、同じように書いてみました。
LEDの点滅回数をランダムにするプログラムを
rand() & 5と書いて作ると5回以内の点滅が動作できたので
同じように書いたのですが、一般的には%なのでしょうか?
&と%で意味は違ってくるのでしょうか?

>>437
今後の為に、良い書き方を教えて頂けないでしょうか?
求める数字が0から10までの場合どのように書くのが一般的でしょうか?

よろしくお願いします。
439774ワット発電中さん:2013/06/20(木) 23:15:02.23 ID:jkfp/Kbs
ビットアンドとモジュロ演算じゃなかったっけ?
n=bitpattern、&5、%5 をそれぞれ表記すると
0=0000、0,0
1=0001、1,1
2=0010、0,2
3=0011、1、3
4=0100、4、4
5=0101、5、0
6=0110、4、1
7=0111、5、2
8=1000、0、3
9=1001、1、4
頻度の偏りが・・・
440774ワット発電中さん:2013/06/20(木) 23:34:29.60 ID:3EqJdvFv
>>438
>>93の場合は&で演算する数が2^n-1になってるから結果として%の演算と
同じになってるんじゃないの?
&5じゃまったくだめ。
441774ワット発電中さん:2013/06/20(木) 23:46:07.01 ID:NegLsljD
>>439
そんなに偏りがあるのですね。
&で書いて数度見てOKと思ったのは
軽率だったのですね。

>>440
10までの乱数を変数aに入れるなら、
a = rand() % 10;
と言う事ですね。
442774ワット発電中さん:2013/06/20(木) 23:58:28.81 ID:9xbSWGrO
>>438
元凶は93か。
rand()が線形合同法やM-系列で実装されてると、
下位ビットのランダム性が低いから剰余計算しちゃいかんのだ。
0〜10 の一様乱数生成は、rand() の最大値を RAND_MAX としたとき、
rand() % 10 じゃなくて rand() / (RAND_MAX / 10)とか。
443774ワット発電中さん:2013/06/21(金) 23:53:03.96 ID:8LdjpjTd
>>442
FPU積んでいて実数演算が早いプロセッサなら、私もそれをやっている。
そうでない場合は以下のようにしているんだけど、こんなのでいいのかな?
while ((r = rand() & 0x0F) >= 10) {
 ;
}

while文の繰り替え回数の期待値は 16/10 = 1.6 回で、0から9までの値が一様ランダム。
下位ビットのランダム性が怪しい場合は
while ((r = rand() >> 4) >= 10) {
 ;
}
444774ワット発電中さん:2013/06/22(土) 02:15:47.81 ID:7NztM8qa
>>443
rand()の中身は、
static long x=1;
int rand() { x=x*214013+ 2531011 ; return(int)(x>>16)&32767; }

なので、longの掛け算を余計にするよりも16bitの余りを計算したほうが速度は速いよ
445774ワット発電中さん:2013/06/26(水) 22:32:37.11 ID:WdOkdplD
MPLAB IDEについてもこちらで良かったでしょうか?
全くの初心者状態から初めてMPLABのインストールとPICkit3接続まで来たんですが

PK3Err0038: Failed to initialize PICkit 3.


Failed to properly connect to PICkit 3

と出て認識してくれません。
Programmer > Settings > Statusタブをクリックすると以下のエラーメッセージも

PK3Err0056: Unable to get voltages from PICkit 3.

自分なりに調べてUSBケーブル何種類か試してみたんですが変化なし。
これはファームウェア上書きとかで壊れちゃったんでしょうか?でもファームウェアの
アップデート画面などは出てきませんでしたし。もう完全にお手上げです。
環境はWin7 64bit、MPLABのVer.は8.91です(古いのでだめだったので最新にしてみた)
446774ワット発電中さん:2013/06/26(水) 22:57:00.98 ID:sd15q69G
ターゲット基板に電源が供給されてないってメッセージですか・・・

そういや、Windows7のときはMPLABIDEじゃなくてMPLABXじゃないとダメみたいですお。
447774ワット発電中さん:2013/06/26(水) 23:05:59.75 ID:O6sngWRf
Windows7でIDEは問題なく使えてる。
448774ワット発電中さん:2013/06/26(水) 23:08:25.08 ID:O6sngWRf
バージョンは8.88
449774ワット発電中さん:2013/06/26(水) 23:16:56.07 ID:WdOkdplD
>>446
そういえばStatusタブのPICkit3 VDDが0.00です。Refreshしても変わらず
本体のLEDは緑と青だけ点いてる状態ですね
450774ワット発電中さん:2013/06/26(水) 23:23:11.47 ID:sd15q69G
PICkit使ってないからよく知らんけど、
ICD3のときはターゲットへのパワー供給は
プロパティーのダイアログで指定しないと給電されないお。
451774ワット発電中さん:2013/06/26(水) 23:53:46.69 ID:WdOkdplD
PowerタブのPower target circuit from PICkit3の項目にチェック入れて、5Vに設定しても
Statusは0.00Vのままですねえ…
頭冷やしてまた明日色々試してみます。皆さん有難うございました
452774ワット発電中さん:2013/06/28(金) 12:52:50.66 ID:bdE3UdXz
テスターで見ると給電はされてんの?
453774ワット発電中さん:2013/07/07(日) 21:45:02.31 ID:YJJyoOaK
PICkit3+MPLABXで開発していたら、あるときから突然
コンパイル開始までやデバッグの開始までに
やたら時間がかかるようになりました。10秒ぐらいでしょうか。

心当たりのがある方、原因を教えていただけないでしょうか。
454774ワット発電中さん:2013/07/08(月) 09:58:36.80 ID:2Et7egOh
MPLAB使っとけ
455774ワット発電中さん:2013/07/08(月) 20:58:38.67 ID:zS6JFoYd
>>453についてですが

ある日突然だと思います。
C30の試用版を使ってますが、MCC18の他のプロジェクトでも同じでした。
javaをアップデートしてもダメでした。


なぜでしょう?
456774ワット発電中さん:2013/07/08(月) 21:42:15.06 ID:KCsqKnr+
MPLAB使っとけ
457774ワット発電中さん:2013/07/09(火) 12:22:51.08 ID:ctCYIE8t
不具合で乗り換えて、快適に使えてたので、それはないです。
試用期間を過ぎるとそうなってしまうのでしょうか??
458774ワット発電中さん:2013/07/09(火) 12:26:28.93 ID:uAWUYClo
今回のも不具合だろ。乗り換えるチャンスだ。
459774ワット発電中さん:2013/07/10(水) 07:22:17.29 ID:XOH6abfB
pcを再起動したら直りました。
断固として乗り換えません。
460774ワット発電中さん:2013/07/10(水) 15:33:00.04 ID:mZ6YZ9ij
>>453
Ubuntu PCしかないのでMPLABX一択だが、どのPCでも遅くなったことなんかないが?
時々、psコマンドやらでデーモンモニターするが、あやしいプロセスにお目にかかったことは無い。
Node.jsなんかでWebアプリ作っているときは、良くあるが・・・ 変なモジュールは使わんほうがええ。 npm install xxxx
461774ワット発電中さん:2013/07/11(木) 09:02:18.66 ID:ERvqULro
久しぶりにMPLAB使うと純正ライブラリの#ifdefの塊が一色で表示されて萎える
462774ワット発電中さん:2013/07/14(日) 15:26:53.20 ID:gjtL+CFM
http://airvariable.asablo.jp/blog/2013/07/12/6900487

こういうことを記事にするのどう思う?


泥棒や詐欺と何が違うのだろう?
こういう物は大量購入者向けだと思いませんか?
輸送費、人件費、パッケージ、いくら金がかかっていると思っているんだ?
こういう考えがなまぽ、健康保険詐欺、を産むんじゃないのか?
463774ワット発電中さん:2013/07/14(日) 15:46:44.27 ID:PcQ1Y9cV
>>462
何か問題なん?
試作用のチップ貰ってるだけじゃね?
30日毎に二個貰っても商売なんて出来ないし試作にしか使いみち無いじゃん
464774ワット発電中さん:2013/07/14(日) 15:53:46.08 ID:HjFnP9r3
問題だと思うなら
そのブログのコメント欄で堂々と指摘すればいいじゃない
465774ワット発電中さん:2013/07/14(日) 16:01:50.99 ID:gjtL+CFM
>>463
>>464
乞食か?
買えよ。
466774ワット発電中さん:2013/07/14(日) 16:04:50.20 ID:o7Cy73u1
>>462
産むって、まるで、現状が違うみたいじゃ無いかw
467774ワット発電中さん:2013/07/14(日) 16:20:12.14 ID:PcQ1Y9cV
>>465
なんでキレてんの?
microchipの発送担当さんなの?
468774ワット発電中さん:2013/07/14(日) 19:14:50.41 ID:LWN3SNJV
試供品なんてデパ地下でも昔からあるけどな
世間知らずか
469774ワット発電中さん:2013/07/14(日) 20:37:18.33 ID:m6AsFbYL
日本の企業は大口以外はゴミ扱いだけど、あちらの企業は起業を応援する
ような姿勢があるんじゃないのかな。
470774ワット発電中さん:2013/07/14(日) 21:17:12.36 ID:2RaFnTds
自分に都合の良いように解釈するチョンw
471774ワット発電中さん:2013/07/14(日) 23:07:41.13 ID:d+ApGOnS
営利企業がその経費の範囲で自社製品を広める為に試供品を提供するのを
否定するとは、広報活動全否定か
しかも全く無関係の公的扶助を引き合いに出すとか、ここまでの阿呆だと憐れにすら思えてくる
472774ワット発電中さん:2013/07/15(月) 15:06:51.16 ID:+BJS8rah
購入してる物まで試供品を要求するのは広報活動に寄与しない上、試供品を要求して良いほど買ってない。
他人の弱み、スキをついて物乞いし、社会のお荷物になる点でナマポと同類
473774ワット発電中さん:2013/07/15(月) 15:26:48.23 ID:dUmKLK2n
試供品ってさ、昔の造り酒屋の利き酒みてぇなもんだろ。
買うとなれば大口にならざるをえないが、ちょいと利き酒させてくれというと気前良う呑ましてくれる、
いまでもビール工場の見学でもしたらちょいと呑ませてくれるだろ?おなじこった。
474774ワット発電中さん:2013/07/15(月) 16:44:11.96 ID:AdokwpvS
逆に考えるんだ… 常識の問題なら常識を問えばいいな。
常識的には、年間何個ぐらい使う人ならサンプル要求してもおkなん?
475774ワット発電中さん:2013/07/15(月) 18:18:09.70 ID:908tCvtw
>>462
通販webで大量購入する会社あるの?
大口客は直接問い合わせでサンブルを出してもらえるよ。
学生か新米技術者の趣味用じゃないのかな。その人たちが設計の決定権を持つようになった時にご贔屓してもらえる種まきマーケティングかもね。
爺さんの趣味にサンブル発送は死に金なのは確か。
476774ワット発電中さん:2013/07/15(月) 19:22:32.48 ID:aeWypV4W
実は、直接日本のマイクロチップに登録してもらう(条件あり)と、一回で5種5個、30日以内に10回頼める。

個人ユーザに数個配って、裾野が広がるならメーカとしてもいい撒き餌になるだろう。

現に、会社登録前に個人ユーザで覚えた技術で、ユーザに採用してもらって事業化した例もある。

しかし、毎回UPSで、休日とか夜間配達してくれないのはめんどくさいんだよな〜
477774ワット発電中さん:2013/07/15(月) 19:26:13.65 ID:H+OpXg4p
>> ID:aeWypV4W
こっちにも来てんのか、このキチガイは。
478774ワット発電中さん:2013/07/16(火) 09:26:16.71 ID:WKeo1xPk
>>463
試作しかしない奴が貰ってるのが問題。

>>475
あるよ。購買部がやってくれてる。
479774ワット発電中さん:2013/07/16(火) 13:15:24.88 ID:O4ONQevq
>>478
試作されたデバイスが他の会社のチップで量産されるなら君の言う通りかもしれないが、どのみちmicrochipのチップで作られるんだから問題なくね?
それともどこのチップで量産されてるかまで知ってて告発してんの?
480774ワット発電中さん:2013/07/16(火) 14:01:24.28 ID:WKeo1xPk
>>479
当該ページのブツが量産されるとでもw
あまちゃんのは試作=完成だろ。
481774ワット発電中さん:2013/07/16(火) 14:17:29.47 ID:u4TPKhxO
>>478
購買部は商社通すだろ
482774ワット発電中さん:2013/07/16(火) 14:21:20.33 ID:DEcplezJ
そうとも限らない。
483774ワット発電中さん:2013/07/16(火) 22:02:18.99 ID:gEXEq47r
一体この人は何に憤っているのだろう。サンプルで取り寄せた部品は
全く社会に還元されなければならないという信念の持ち主なのだろうか
アマチュアが当面使う予定無いけど興味あるから取り寄せてみよう
そのうちなんかで使ってみようって思っただけで糾弾されそう
484774ワット発電中さん:2013/07/16(火) 22:12:18.29 ID:6dtFGB6w
小売店の中の人なんじゃね? 要は、営業妨害だ!と。
485774ワット発電中さん:2013/07/16(火) 22:16:59.29 ID:XfjscLFu
サンプルさえもクソ高い値段で代理店から買えと言うル…おっと、某社の中の人なのかも。
486774ワット発電中さん:2013/07/16(火) 22:52:59.48 ID:gUjX1Aip
>>485
ルネサスは、ESを試作基板の数だけ無料で持って来るぞ。
出荷中のチップは試作でも部品は買うのが当然しゃないの?
487774ワット発電中さん:2013/07/16(火) 23:08:31.50 ID:Z7LTaCnQ
マスク品のESなら当たり前だろ。無料じゃ無くて、費用に含まれてる。
488774ワット発電中さん:2013/07/18(木) 09:32:14.58 ID:Wh/UsY7j
マイクロチップが企業ポリシーと営業戦略に基づいて提供してる無料サンプル
を請求しちゃいけないとか完全に営業妨害だろ。
せこい日本の半導体メーカーの社員ですか?
489774ワット発電中さん:2013/07/18(木) 10:05:12.35 ID:VUFBoxox
>>488
無料でサンプルが貰えると知ったら
普通の人は、"いいね"と反応するが、
屈折した人は、嫉妬由来の難癖をつける
490774ワット発電中さん:2013/07/18(木) 18:38:02.64 ID:XTr8jeea
462はブログ主の自演。
491774ワット発電中さん:2013/07/18(木) 19:15:52.24 ID:ayRQkbpK
歪んでるなぁ・・・可哀想に
492774ワット発電中さん:2013/07/19(金) 12:44:59.67 ID:pbd+hJum
そりゃ、ブログやろうなんて人が歪んでないはずが無い。
493774ワット発電中さん:2013/07/19(金) 14:45:02.16 ID:D2IG8n2D
まだ粘着してんのか
文句は直接言ってこいよ
494774ワット発電中さん:2013/07/20(土) 01:24:44.13 ID:rl4de8+W
>>488
一般的には、
少数なら、利益より伝票処理の工数が上回るから、無償にする場合も多いな。
495774ワット発電中さん:2013/07/20(土) 13:21:51.87 ID:npkZglD5
評価用サンプルと販売用の商品とでは税法上の費目が異なる(税率が変わる)ということも考えられるな
496774ワット発電中さん:2013/07/24(水) 03:35:40.67 ID:XE+5xXmU
ブログや動画のおかげで販売数が増加する可能性も
497774ワット発電中さん:2013/07/25(木) 20:12:52.90 ID:N3MHL0/F
結局この一件で得をしたのはアクセス数が伸びたブログ主のみ。
やはりは>>462は自作自演かもしれん。
498774ワット発電中さん:2013/07/25(木) 21:22:32.77 ID:iQImR2ln
いやむしろmicrochipの自演だろう
499774ワット発電中さん:2013/07/26(金) 10:20:32.77 ID:5joaqg4l
PICで食っていくことってできる?
500774ワット発電中さん:2013/07/26(金) 11:02:35.78 ID:0PkY5r2q
無理。周辺のアナログ、デジタル回路の設計が完璧ならOK
それが出来るならCPUがなんであれ問題ない筈だし。
501774ワット発電中さん:2013/07/26(金) 11:42:19.36 ID:sc2Ilq/I
>>499
アイデアが良ければ
502774ワット発電中さん:2013/07/26(金) 20:15:05.70 ID:2556nwXy
ソフト組めて、システム設計できれば、
PICだろうがAVRだろうが関係無い。
503774ワット発電中さん:2013/07/28(日) 09:44:17.60 ID:ZxITYpUu
http://ww1.microchip.com/downloads/en/DeviceDoc/70157F.pdf
dsPICのProgrammers Reference Manual P302のMSC命令の例についての質問です。

MSC W6*W7, A, [W8]-=4, W6, [W10]-=4, W7

w6 0x9051
w7 0x7230
ACCA 0x0005678000

なので、0x0005678000 - (0x9051 * 0x7230) と解釈しました。
これをWindows7の関数電卓で計算するとFFC5085ED0になります。
しかし、Manualは0x0037385ED0です。
この違いを教えてください。
504774ワット発電中さん:2013/07/28(日) 13:58:47.53 ID:MVjBhEo/
>>503
dsPICは全く知らないけど、0x9051を符号付きと考えれば-0x6fafとなって
つじつまが合うな。
505774ワット発電中さん:2013/07/28(日) 14:08:59.73 ID:ZxITYpUu
>>504
レスthx
ようやく突破口が見えてきた。
この例題を見ると、積差ではなく、負の数に変換してからw6に入れて、積和を取ってるということだね。
ところで、0x9051が負の数ってどうして気付いたの?
0b表示で考えて、先頭が1だから?
マイコン使いだして日が浅いので、瞬時に正負を見分けられない。
そのコツみたいなのがあれば教えてください。
506774ワット発電中さん:2013/07/28(日) 15:12:14.41 ID:MVjBhEo/
>>505
符号無しでつじつまが合わなければ符号付きを試してみるのは自然の流れ
だね。サインビットが1だし。

>負の数に変換してからw6に入れて、積和を取ってるということだね。

そういうことではなくて、この命令が符号付き演算の命令なんだと思うけど。
507774ワット発電中さん:2013/07/28(日) 15:43:16.63 ID:ZxITYpUu
>>506
こういうことか。

w6 0x9051 -> -28591
w7 0x7230 -> 29232
ACCA 0x0005678000 -> 90669056

90669056 - (-28591 * 29232 ) = 926441168 -> 0x0037385ED0
508774ワット発電中さん:2013/07/28(日) 16:06:51.17 ID:MVjBhEo/
>>507
そういうこと。
509774ワット発電中さん:2013/07/31(水) 21:37:03.47 ID:HluHCfwE
C言語でバンク形式に配列に保存する場合は
どういう風にプログラムを書けばいいのでしょうか?
510774ワット発電中さん:2013/07/31(水) 22:03:07.55 ID:GzbpnRO/
・連続したアドレスに配置された配列をバンクのように(?)扱いたい
・バンクにまたがって配置されているRAM領域を連続してアクセスしたい
どちらでしょうか?
後者の気がしますがよくよく聞いたら前者だったことがあるので
511774ワット発電中さん:2013/07/31(水) 22:26:12.43 ID:HluHCfwE
私が考えているのは前者の方なのですが、
前者と後者ではどういった違いがあるのでしょうか?
512774ワット発電中さん:2013/08/02(金) 00:03:10.94 ID:nyzO0y/I
>>510
Mid range 以下のPICだと、バンクをまたがったメモリを
連続アクセスするには、自分で関数作らないと無理と思う。
513774ワット発電中さん:2013/08/03(土) 22:48:59.58 ID:TkyVNgjk
MPLABを使ってUARTの送受信のテストを行いたいのですがどういった方法がありますか?
514774ワット発電中さん:2013/08/04(日) 01:06:58.05 ID:n5JagYP2
パソコンとつうしんしてみれば?
515774ワット発電中さん:2013/08/04(日) 10:16:39.97 ID:1KVJeq2H
パソコンと通信する場合は usb(pic)-usb(pc)で通信テストすることは可能ですか?
516774ワット発電中さん:2013/08/04(日) 10:50:25.19 ID:Q5ZLcEwG
可能です
517774ワット発電中さん:2013/08/04(日) 11:47:08.88 ID:n5JagYP2
USBで通信したらUARTの試験にはならないんでね?
518774ワット発電中さん:2013/08/04(日) 13:05:55.72 ID:1KVJeq2H
そうなのですか? パソコンと接続できる端子がUSBしかないのでこの方法でテストしようと思っているのですが。
519774ワット発電中さん:2013/08/04(日) 14:39:47.34 ID:n5JagYP2
正統なIBM PC/AT互換機にはDSUB9ピンでシリアル通信端子が
ついてたんだお。最近のノートパソコンにはUSB端子しかないのも
あるけど、そういう場合はUSB−Serial変換アダプタを使うヨロシ。

そんでUARTの試験できるお、ハードウェア的には。
ソフトウェア的には、シリアルポートがついていないような世代のPCだと
ハイパーターミナルが入っていないから、テラタームみたいのを
自分で探してこなきゃ通信できないけど・・・
520774ワット発電中さん:2013/08/04(日) 21:29:37.22 ID:1KVJeq2H
無事通信のテストをすることができました。
ありがとうございます。
521774ワット発電中さん:2013/08/05(月) 01:11:44.31 ID:uw+33mBf
>>519
いいこと言ってるんだけど、最後を「お」って言うの、やめたら?
522774ワット発電中さん:2013/08/07(水) 16:05:36.35 ID:amRUGHht
ねえ、今自分が作ってるものホームページで作ってそのホームページを
お互いにリンクでつなげてPICやりはじめるひとたちがもっと気軽に
やり始められるような空気感をつくったらいいんじゃね?
すそ野が広がればデータ共有とかできて利便性が一気に広がるんじゃね?
523774ワット発電中さん:2013/08/07(水) 16:07:09.85 ID:amRUGHht
とりあえずhtml勉強しながらホームページ作ってみた(´・ω・`)
524774ワット発電中さん:2013/08/07(水) 16:09:21.49 ID:amRUGHht
http://www.maroon.dti.ne.jp/mosmoskameyokamesanyo/
おまいらさんもホームページ作ってうっぷ!
525774ワット発電中さん:2013/08/07(水) 20:25:24.26 ID:a2clWSLO
MPLABでターゲットデバイスが選択肢にない場合開発に支障はありますか?
MPLAB Xにはあるのですが使いにくいので。
526774ワット発電中さん:2013/08/07(水) 21:18:07.75 ID:VvUSCByE
>>525
定義ファイルを自作するとか
527774ワット発電中さん:2013/08/08(木) 10:29:10.22 ID:Qu3vF7j1
>>525
Xに慣れるのが幸せへの近道
528774ワット発電中さん:2013/08/08(木) 10:35:02.45 ID:GNo6kMjK
今のXは完成度が低すぎる。まともに使えるようになってから乗り換えれば十分。
ツールのデバッグより、実機のデバッグに時間を注ぐべき。
529774ワット発電中さん:2013/08/08(木) 12:12:16.06 ID:ye4qd54X
IDEはなんとなくわかるんですが
IPEってなんすか、これ。
アイコンから察するに、ROM焼き専用ツールか何かですか?
530774ワット発電中さん:2013/08/08(木) 21:24:03.97 ID:r+Ph3+aq
サイズの大きな三次元配列の領域を確保するいい方法はありませんか?
531774ワット発電中さん:2013/08/08(木) 21:29:09.62 ID:AwP1rBhb
Xの完成度が低いって度々言われるけどどこが低いんだろうな
532774ワット発電中さん:2013/08/08(木) 21:48:04.26 ID:ndt0mGYP
>>530
デカイメモリを接続する
533774ワット発電中さん:2013/08/09(金) 00:18:30.31 ID:cEVmDQfh
>>532
SPI接続でSDカード繋ぐのが一番安上がりかな?
534774ワット発電中さん:2013/08/09(金) 01:12:26.89 ID:nc+mgmeZ
>>530
PICをやめて、PCを利用する
535774ワット発電中さん:2013/08/09(金) 09:47:06.50 ID:FKfpWBzG
>530 何を重視すんの? 速度? コスト?

>531 完成度は知らんけど
 MPLABの頃は耳かきを使うような不自由さを感じていたが
 MPLABXになってからはマジックハンドで鉛筆を持っているような気分
 (Windows7なので泣く泣くXつかってるけど)
536774ワット発電中さん:2013/08/09(金) 15:53:51.76 ID:mrgL0qUA
>>535
耳掻きには先の尖ったステンレスピンセットがお勧め。
耳穴の中を想像しながら大物をゲット出来た時の音は感動する。

実使用にはM3の長ネジがいい。

余談だが、MPLABはwin7で問題なく使えてる。
537774ワット発電中さん:2013/08/09(金) 17:25:46.91 ID:9yB/L+PZ
>529
IPEは、PICkit3プログラマーを置き換えるものだと思う。PICkit3プログラマーが対応している筈のデバイス
なのに、どうしても書き込めないときにIPEを使ったらすんなり書き込めた。

MPLABXのシミュレータは、確かに完成度が低いとおもう。
538774ワット発電中さん:2013/08/09(金) 18:24:50.35 ID:tsuxspEN
>>535
三次元配列を使いたいのですがサイズが大きくメモリの殆どを使用するので
うまく領域を確保して管理を行いたいのです。
539774ワット発電中さん:2013/08/09(金) 18:28:26.46 ID:2hVn52Ob
>>538
うまく領域を確保して管理を行えば良い
540774ワット発電中さん:2013/08/09(金) 19:09:18.36 ID:cR4Tkmte
これだからCしか出来ないやつはって言われちゃうんだよ
541774ワット発電中さん:2013/08/09(金) 19:36:50.32 ID:nYyiaCNO
GUI操作で簡単に感覚的にお絵かき感覚でプログラムできないからレベルが低いって言ってるの?
じゃあ、お絵かき感覚でプログラムを書くような専用のソフトをつくればいいんじゃね?
最初はつかえねーーとかいってアセンブラで書く人もいずれお絵かきの方へシフトしていくんじゃね?
542774ワット発電中さん:2013/08/09(金) 20:28:48.34 ID:nYyiaCNO
            ∩_∩
           / \ /\
          |  (゚)=(゚) |
          |  ●_●  |
         /        ヽ
       r⌒| 〃 ------ ヾ |
      /  i/ |_二__ノ
     ./  /  /       )      精神を加速させろ
     ./ /  /      //
    /   ./     / ̄  
    .ヽ、__./     / ⌒ヽ 
        r    /     | 
      /          ノ 
     /      /    /  
    ./    //   /   
    /.   ./ ./  /  
   i   / ./ /   
   i  ./ .ノ.^/   
   i  ./  |_/ 
   i /         
  / / 
  (_/ 
543774ワット発電中さん:2013/08/09(金) 20:28:56.95 ID:2oshzdsO
>>538
PICの種類とコンパイラは何を使っているの?
それによって回答が違ってくるよ
544774ワット発電中さん:2013/08/09(金) 23:18:55.70 ID:tsuxspEN
>>543 PIC24EP512GU810とC30を使用しています。
545774ワット発電中さん:2013/08/09(金) 23:34:27.37 ID:qYQQjX4i
なら、アセンブラを使うべきだな
546774ワット発電中さん:2013/08/13(火) 07:37:28.86 ID:UkO1BDii
初歩的な質問ですみません。
自分は今まで5Vしか使ってこなかったのでわからないのですが、単4電池で動くデバイスはどのような仕組みなのでしょうか?単4電池は1.5Vだと思うので、2つ直列にしても3V、3Vで動くPICなんてあるのでしょうか?
547774ワット発電中さん:2013/08/13(火) 08:11:48.57 ID:nAwNmtDj
PIC18F14K50とか、1.8Vでも動くよ。
548774ワット発電中さん:2013/08/13(火) 08:36:33.27 ID:UkO1BDii
>>547
正に使おうとしてたPICがそれです
ビックリしました。
早急なレスありがとうございます。


余談ですが調べてみるとDC-DCコンバータなるものがあるみたいですね。これって欠点はあるんですかね?
549774ワット発電中さん:2013/08/13(火) 08:41:37.00 ID:UUpmgNAU
>548
利点:
・動作下限までは入力電圧が変動しても出力が一定である

欠点:
・効率は 100% でない。電池駆動の場合は無駄飯食いはできるだけ避けたい
・スイッチング電源なので大なり小なりノイズが発生する
550774ワット発電中さん:2013/08/13(火) 10:45:39.82 ID:XkxRc48T
欠点:
・新品電池から連続使用するときは、最後まで電池を絞りきれるけど、
 断続使用のときは、電池にある程度のパワーがないとDCDCコンバータが起動しない。
551774ワット発電中さん:2013/08/13(火) 10:51:43.08 ID:pl2qZsdt
それは設計が悪い
552774ワット発電中さん:2013/08/13(火) 14:52:07.91 ID:nAwNmtDj
なんで国内のPIC販売店はみなUSBOTG付きの品番扱わないのかな?
秋月に直接リクエストしたけど、それでも扱ってくれない。
よほど採算が合わないのだろうか。
553774ワット発電中さん:2013/08/13(火) 19:50:23.69 ID:Hbo6z2PT
C30で32768 バイト以上の変数を作成するにはどうすればいいのでしょうか?
554774ワット発電中さん:2013/08/13(火) 22:38:01.47 ID:2kv3wz+8
OTG自体が流行ってないから物が流れてないんじゃねぇの?
555774ワット発電中さん:2013/08/14(水) 00:05:38.05 ID:BoGGzpUW
このスマホ時代、OTGの需要がないわけなかろう。
556774ワット発電中さん:2013/08/14(水) 00:12:53.13 ID:BKMAK2Hy
スマホのOTGでPICなんて使わないもの
557774ワット発電中さん:2013/08/14(水) 09:54:55.92 ID:KVqi+JHe
>>553 勘弁して下さい。ARMとか使ってください…
558774ワット発電中さん:2013/08/15(木) 21:35:23.95 ID:JFMKDMy5
C言語で一次元配列に二次元配列のポインタを入れて三次元配列として扱うことってできますか?
出来る場合はどういう風に書くのかも教えて下さい。
559774ワット発電中さん:2013/08/15(木) 23:55:37.20 ID:QtbcTVTH
>>558
次元数はともかく、普通の変数にポインタは入れられない。
キャストしたら、ただのアドレス値になってしまうので、
元の変数の型がなんだか分からなくなる。
560774ワット発電中さん:2013/08/16(金) 00:17:41.72 ID:oX4DLj7L
>>559
そうなのですか。
配列をそのまま確保すると容量が大きくなりすぎるので、
配列を分割して宣言したいのですがなにか良い方法はないでしょうか?
561774ワット発電中さん:2013/08/16(金) 00:56:46.04 ID:eYytMnm/
>>560
不定形?な配列作りたいなら、ポインタの配列作ればよい。
char *a[3];
char b[1];
char c[5];
char d[3];

a[0]=b;
a[1]=c;
a[2]=d;

みたいな感じで。
562774ワット発電中さん:2013/08/16(金) 08:11:52.80 ID:xGpM6ONL
>>558 データ数の上限がわかってるならその大きさの
1次元配列を確保して、3次元->1次元の変換関数を
作ってやればいいんだよん
2次元の例だけど
char a[55];
#define address(x, y) ((((x)+1)*(x))/2+(y))
とやっておくと
a[address(0,0)]
a[address(1,0)],a[address(1,1)]
a[address(2,0)],a[address(2,1)],a[address(2,2)]
...
a[address(9,0)],...,a[address(9,9)]
という三角行列を記憶領域の無駄なく確保できる
アドレス計算のオーバヘッドはあるからトレードオフね
563774ワット発電中さん:2013/08/16(金) 11:53:49.39 ID:gRVB2vNb
>>562
分割したいつってんのにまとめてどうする
564774ワット発電中さん:2013/08/16(金) 17:09:54.95 ID:uoRC6/Cz
#define XX 10
#define YY 10
#define ZZ 3

//個別の2次元配列
int d1[XX][YY];
int d2[XX][YY];
int d3[XX][YY];

struct DIM {
int d[XX][YY];
} *dim[ZZ];

dim[0]=(struct DIM*)d1;
dim[1]=(struct DIM*)d2;
dim[2]=(struct DIM*)d3;

int x,y,z;
for(z=0;z<ZZ;z++)
 for(x=0;x<XX;x++)
   for(y=0;y<YY;y++)
     dim[z]->d[x][y]=1234;
565774ワット発電中さん:2013/08/16(金) 20:08:11.87 ID:egsYFT0P
>>561-564
みなさんのコードを例に作成していきたいと思います。
ありがとうございます。
566774ワット発電中さん:2013/08/16(金) 21:42:10.99 ID:SgK5ujay
>>558
もう解決したんか? そのままCで書けるぞ。

typedef int matrix3[3][3];

matrix3 *mm[3]; /* int (*mm[3])[3][3]; でも可 */
int a[3][3], b[3][3], c[3][3]; /* matrix3 a, b, c でも可 */

mm[0] = &a;
mm[1] = &b;
mm[2] = &c;

(*mm[0])[0][0] = 0; /* (0,0,0)要素に0を代入 */
567774ワット発電中さん:2013/08/16(金) 22:37:06.84 ID:Z8hFSxPk
>>566
それコンパイラ通るの?
568774ワット発電中さん:2013/08/16(金) 23:02:33.14 ID:SgK5ujay
勿論。gcc -ansi -Wall で確認済。
569774ワット発電中さん:2013/08/16(金) 23:10:34.46 ID:6R2Ao+Cq
>>564の方がひねくれた書き方だよな、>>566はシンプル
570774ワット発電中さん:2013/08/18(日) 10:36:02.31 ID:eEMlxzUo
6桁くらいの7セグLEDをダイナミック点灯で表示中にスイッチを10個くらいスキャンして
入力待ちをしたいのですがそういう場合ダイナミック点灯のルーチンはどういうタイミングで実行すれば良いでしょうか?
571774ワット発電中さん:2013/08/18(日) 11:59:06.07 ID:pgF3LSME
>>570
キーマトリクスとLEDのコモンを共通にしていてダイナミック点灯が、割り込みなのでキースキャンしにくいって事への質問でしょうか?
572774ワット発電中さん:2013/08/18(日) 12:52:26.09 ID:L7eXuV/0
>>570 こんなかんじでどう?

SCAN LED キー(1) キー(2)
1 壱桁  SW1  SW7
2 十桁  SW2  SW8
3 百桁  SW3  SW9
4 千桁  SW4  SW10
5 万桁  SW5  n.c.
6 左端  SW6  n.c.
573774ワット発電中さん:2013/08/19(月) 16:48:03.53 ID:ptfpbel9
ご存知の方がいたら教えていただきたいのですが、当方中身に関しては全く判りません。
が、月に300〜1000個程度の書き込みをする必要に迫られています。
調べたところ秋月電子等で購入できるキットだと1個づつの書き込みのようでこれでは作業が大変そう。
EEPROMみたいに1度に10個とか書き込める装置って存在しないのでしょうか?
574774ワット発電中さん:2013/08/19(月) 17:01:16.02 ID:YOFt+rjC
>>573
tecktoolsあたりが出してるのがあるけど

digikeyで「QW-4ZIF18」を検索
575774ワット発電中さん:2013/08/19(月) 17:05:08.28 ID:YOFt+rjC
スペルが変だった。

TechToolsのQuickWriterシリーズね。
576774ワット発電中さん:2013/08/19(月) 17:24:46.20 ID:XWMfJOWc
>>573
PICの納入業者に書き込んでもらえよ
577774ワット発電中さん:2013/08/19(月) 18:36:41.42 ID:pi5H9YzX
Microchip Direct で書き込み済みのを買えばいい
578774ワット発電中さん:2013/08/20(火) 01:07:35.23 ID:dFgfallw
579573:2013/08/20(火) 09:16:26.09 ID:yHlUp6MR
みなさんありがとうございます。
advin.comにあるようなものをイメージしていました。
これはプログラマーにモジュールを繋いで書く感じなのでしょうか。
実際に装置を見られるところはなさそうですね。
580774ワット発電中さん:2013/08/21(水) 12:51:18.82 ID:xHY3vdAK
ボタンを押すたびカウントup、長押しするとカウント早送り、という動作をさせたいのですが、
Cでどう記述するのでしょう?
581774ワット発電中さん:2013/08/21(水) 14:11:03.04 ID:x+jFCO4m
Cの問題よりも、他との兼ね合いもあるし、まずアルゴリズムを考えるべき。
これだからCしか出来ない奴は…
582774ワット発電中さん:2013/08/21(水) 15:24:28.69 ID:jK7DQK10
>>580
押された時の検出は、
(前回の値 XOR 今回読んだ値) AND 今回や読んだ値

長押し判定
押されていない時にはアップタイマーをクリア。
タイマーが規定の時間になったら早送り
583774ワット発電中さん:2013/08/21(水) 20:35:03.07 ID:D8qG1b1Y
>>580
Cが分からないならアセンブラで組めば良い
584774ワット発電中さん:2013/08/21(水) 21:19:04.45 ID:xsSK201e
if (button()) uptimer=0; else uptimer++;
if (uptimer==1) count++;
else if (uptimer==100){ uptimer=90; count++; }

適当
585774ワット発電中さん:2013/08/21(水) 22:05:53.56 ID:fmRAuCtX
>>580
おいらが組むなら、
チャタよけの回路がハードウェア的にあるなら
ボタンの割り込み処理を作っておいて、それとあわせて
タイマーをまわしっぱなしにしておいてタイマー割り込みと、
併用して対処かな。

チャタリングにソフト的に対処するなら
タイマー割り込み毎にスイッチ状態読み取って
そんで長押しか判定するような流れかなぁ。

割り込みハンドラの定義方法は開発環境ごとに違うから
Cだからこうだ!とはいえないと思うお。
586774ワット発電中さん:2013/08/21(水) 22:32:25.69 ID:NixuZHAt
delay()関数を捨てれば無限の世界が広がる
587774ワット発電中さん:2013/08/22(木) 19:18:12.01 ID:VQ0RlWcf
>>584を20回/秒くらい実行すればチャタ対策もレスポンスもOKなんじゃないかな
588774ワット発電中さん:2013/08/22(木) 21:02:19.92 ID:pReh5mHa
割り込みを使用せずにGPIOのピンを監視する場合
メインのループで毎回ピンの値を変数に入れるという処理で問題ないでしょうか?
また変数の値に対応してピンの値を変化させたい場合、毎回変数の内容をピンに出力してもいいのでしょうか?
589774ワット発電中さん:2013/08/22(木) 21:22:38.79 ID:5Qn5ytlj
>>588
ピンの変化がどの位かによる。
メインの周期で監視すればいい位の幅なのか、一瞬の変化なのか。
590774ワット発電中さん:2013/08/22(木) 21:47:32.14 ID:pReh5mHa
ピンはデジタルI/Oとして使用します。
一番変化するもので約40ms周期です。
591774ワット発電中さん:2013/08/23(金) 00:20:29.54 ID:KlxZqnli
コンパイラによって違うかもしんないけど
I/Oピン書き換えの罠ってのをみるといいかもしんない・・・・

IIC通信をプログラムで組んだ時においらも自力でこの罠に気付いたw
592774ワット発電中さん:2013/08/23(金) 05:50:47.34 ID:+fL3HE6S
>>590
変化を検出出来れば良いのなら、メインループを10ms位でまわす。
変化の周期を正確に計測必要なら、割り込み。

>>591
16F1xxx 以降のなら LATx レジスタ追加されてるから、問題なし。
593774ワット発電中さん:2013/08/26(月) 22:12:02.63 ID:Fm0pk4WD
ヘッダーファイルに
#define AN0 ANSELBbits.ANSB0 の用に使用したいピンを定義して使用することは可能でしょうか?
またこの様に定義した物に値を代入することは可能なのでしょうか?
594774ワット発電中さん:2013/08/26(月) 22:15:18.37 ID:Ug1D/CRa
>>593
ヒント:
 define で宣言したものは、コンパイルする前に、文字列の置き換えがされる。
595774ワット発電中さん:2013/08/26(月) 22:39:18.89 ID:7V2Y/s65
単発か長押しか・・かぁ。周期はチャタリング除去できる程度に長くとるとして
dat = (dat << 1) | ((switch == SWON)?1:0);
if (dat == 0xffff) {
 長押し
} else {
switch(dat & 0x3) {
case 0x1: 短押し;break;
case 0x2: スイッチOFF; break;
 default: break;
}
かなりいい加減
596774ワット発電中さん:2013/09/03(火) 03:14:50.00 ID:8vPh9/El
>dat = (dat << 1) | ((switch == SWON)?1:0);
これは2行の方が分かり易く無いでしょうか?

dat <<= 1;
if( switch == SWON ) { dat |= 0x0001; }
597774ワット発電中さん:2013/09/04(水) 00:57:03.08 ID:PLKVPMP5
>>596
>これは2行の方が分かり易く無いでしょうか?

いや、別に・・・
598774ワット発電中さん:2013/09/04(水) 02:14:18.24 ID:c+t5JmmV
俺流
datはunsigned char
5msec程度でポーリング
チャタ取り 50msec間ONで短押し
1secONで長押し

if(switch & SWON) dat++;
else dat=0;

switch(dat) {
 case 0: スイッチOFF; break;
 case 10: 短押し;break;
 case 200: 長押し;break;
 default: break;
}
599774ワット発電中さん:2013/09/04(水) 04:08:11.52 ID:G3EiF7bg
普通長押しではリピート動作するんじゃじゃない。どうしてステートマシン
にしないのかな。
600774ワット発電中さん:2013/09/04(水) 09:46:31.96 ID:hV0uh2zK
switch(dat) {
 case 0: スイッチOFF; break;
 case 10: 短押し;break;
 case 200: 長押し;dat--;break;
 default: break;
}
こう?
601774ワット発電中さん:2013/09/04(水) 10:02:07.00 ID:c+t5JmmV
>>600
だよね
602774ワット発電中さん:2013/09/04(水) 10:28:29.80 ID:F8u16Apn
天才
603774ワット発電中さん:2013/09/04(水) 13:15:32.89 ID:tHUsn/Gs
照れるわ
604774ワット発電中さん:2013/09/05(木) 00:58:25.46 ID:G2QGR0KO
>>600
長押しでキーリピートしたいなら
case 200: 長押し;dat-=20;break;

1秒長押しから100msec毎にキーリピート
605774ワット発電中さん:2013/09/06(金) 22:23:39.76 ID:M/ENVHjO
>>600
すてきな回答にはありがとうを言えばGJだという意見も、ないこともないね。
606774ワット発電中さん:2013/09/09(月) 20:50:10.46 ID:MKY6nou+
変数は宣言した順番にメモリに配置されるのでしょうか?
また拡張データ空間 (EDS)とはどういったものなのでしょうか?
607774ワット発電中さん:2013/09/09(月) 21:46:55.95 ID:MSZBcQJL
>>606
コンパイラの最適化で順番を入れ替えられるかもしれない。
structで囲めば順番は守られる
608774ワット発電中さん:2013/09/11(水) 09:10:36.51 ID:XRuTsBFB
広告のようにぜんぜんナノワットにならんな
何を無効にすればナノワットになるんか
609774ワット発電中さん:2013/09/11(水) 09:42:49.20 ID:etMEFgPC
ほんとうに低消費電力が必要なのには、MSP430を使ってる
610774ワット発電中さん:2013/09/11(水) 13:30:28.51 ID:4dpaw+WP
クロックを止める
IOで電流が流れないようにする

あとは?
611774ワット発電中さん:2013/09/11(水) 21:34:22.32 ID:9MBGyzkT
>>608
殆ど全てを止める。
612774ワット発電中さん:2013/09/11(水) 22:06:39.50 ID:fhiueKJj
ソケットから抜く
613774ワット発電中さん:2013/09/11(水) 22:14:27.35 ID:YN2keLs0
>>612
つまらん
614774ワット発電中さん:2013/09/12(木) 00:16:38.45 ID:kx0vYhfy
すみません教えてちょうだいください
PIC24FJ64GA002の弱プルアップ設定なんですが、
CNPU1、CNPU2のレジスタが、RP0&#12316;15みたいにPB0&#12316;15のように綺麗に並んでればいいのですが
RB9を設定する場合はCNPU2の6みたいに変態的な並びなので面倒くさいので
全て下みたいに設定しちゃっても問題ないですか?
CNPU1 = 0b1111111111111111;
CNPU2 = 0b1111111111111111;
615774ワット発電中さん:2013/09/13(金) 23:37:28.56 ID:hJApx/83
いいと思う。自分でやってみて
616774ワット発電中さん:2013/09/14(土) 10:34:18.39 ID:0kcuqE9a
いろいろオフにしたがぜんぜんナノワットでスリープできんよこれ
かなりの誇大広告か
617774ワット発電中さん:2013/09/14(土) 12:13:03.91 ID:dMvZgEkv
ナノワット対応のチップ買ってる?
618774ワット発電中さん:2013/09/14(土) 12:24:19.78 ID:nNmdyuQE
だから、ソケットから抜けと…
619774ワット発電中さん:2013/09/14(土) 12:57:46.25 ID:OXRtUcmy
>>616
ナノワットどうやって計ったの?
620774ワット発電中さん:2013/09/14(土) 15:15:14.23 ID:Te1IQclV
PICにUSBとLANの両方を持ってるのってある?
本家のMAPSでどれがLANの事だか分からない…。
621774ワット発電中さん:2013/09/14(土) 17:30:44.48 ID:0kcuqE9a
テスターで電流を測定したけど
3vで20μA程度が限界いまのことろ限界
622774ワット発電中さん:2013/09/14(土) 18:03:13.36 ID:29HUOHEk
パスコンとか他のところで漏れてないの?
623774ワット発電中さん:2013/09/14(土) 18:14:34.14 ID:9I/RkHVD
>>620
MAPSならconnectivityの欄展開するとEthrntって出てくるのでそこで指定
624774ワット発電中さん:2013/09/14(土) 20:54:04.75 ID:Te1IQclV
>>623
ありがとうございます、…ってMX除いたら10Baseが1シリーズ2品種しかねぇ…。
両方付きなんてMXにしかない…。
色々組めるようになってから再度考えよう…。
625774ワット発電中さん:2013/09/15(日) 01:28:50.78 ID:ajU8vIzD
>>621
電源電圧 5V対応のは、中にレギュレータ入ってるからナノワットは難しい。
(最近のはレギュレータ切り離せる?)

あとは、スリープ状態の時にpinから流れ出す電流がなるべく0に
なるように、出力状態を設定する必要ある。
626774ワット発電中さん:2013/09/17(火) 09:53:43.43 ID:7SiVhpl8
pic18のフラッシュ64kメモリ4kの奴いいね
これだけあればいろいろできる
プログラム圧縮とかやめて最初からこっちにすればよかった
627774ワット発電中さん:2013/09/17(火) 22:07:29.26 ID:IQ0aL/vj
MPLABXでtcp/ipスタックを使用したいのですがパスの設定ができません。
どのように設定すればいいのでしょうか?
またtcp/ipスタックの使用について参考になりそうなサイトや本があれば教えて下さい。
628774ワット発電中さん:2013/09/18(水) 01:59:06.32 ID:pNXy7N5T
市販のbluetooth LEドングルを使って通信するデバイスを作りたいんですが、PICはどの型番がおすすめですか?
電池が長持ちするワイヤレスキーボードみたいなものを作りたいです
629774ワット発電中さん:2013/09/18(水) 03:01:36.66 ID:rlXtcraB
>>628
bluetooth LEドングルが使えるbluetooth-シリアル変換基板はPIC24FJ64GB004を使っているよ
消費電力30mA(sleep無し時)
表写真(コネクタ側)
http://cache.cart-imgs.fc2.com/user_img/runningele/d642e1a1ed870e0c4c148fb546d66127.jpg
裏写真(PIC側)
http://cache.cart-imgs.fc2.com/user_img/runningele/1e46c6db70dad9b818588103f998b03e.jpg
630774ワット発電中さん:2013/09/18(水) 08:51:44.68 ID:pNXy7N5T
>>629
ありがとうございます
ttp://www.runele.com/ca1/2/
こんなに便利そうなキットがあるとは知りませんでした
試してみようと思います
ありがとうございました
631774ワット発電中さん:2013/09/19(木) 13:28:50.77 ID:0hlhJEcX
iOSでシリアル通信するにはBLEじゃないと駄目だもんな
アップルは本当にふざけた仕様だよまったく
632774ワット発電中さん:2013/09/19(木) 15:59:12.92 ID:yaRQcR3U
シリアルはケロッグが一番うまい
633774ワット発電中さん:2013/09/19(木) 21:54:45.66 ID:cGKqcbgl
日本製は汚染されてるから、海外製をお勧めする。
俺はドーセットのミューズリーばっかだな。
移動時には、ネイチャーバレーのオーツ&ハニーを数個、持ち歩いてる。48個入りで千円超えるくらい。
634774ワット発電中さん:2013/09/20(金) 19:40:19.78 ID:M9faQcqz
そういえば、シナや半島(西日本も)今騒いでるレベルなんかとは比べ物に
ならないくらい汚染されてきたことを知らない幸せな人って
本当にいるんだよね。

もちろん、米国本土も・・・・
635774ワット発電中さん:2013/09/20(金) 21:00:17.93 ID:m9s5vt9X
地下核実験ばんばんやって平気です〜って言ってても名
636774ワット発電中さん:2013/09/20(金) 23:04:30.44 ID:e2upsvMr
常にラドン温泉に浸かってるようなもんだろ?
なら体にいいはず(確信)
637774ワット発電中さん:2013/09/21(土) 00:32:22.36 ID:OoMNASEv
PICは上限は5.5ボルトになってますけど、電池がもったいないので6ボルトでやってます。
今のところ6ボルトでも不具合はなさそうです。

6ボルトの電池では不具合が生じたとかの経験あるかたおしえてください。
638774ワット発電中さん:2013/09/21(土) 02:52:23.69 ID:teQe9N4j
いくら情報を集めてもダメなものはダメ
639774ワット発電中さん:2013/09/21(土) 07:07:28.45 ID:TjR9qhje
>>835
空中でバンバンやっていたのを知らない世代っているんだよな。
640774ワット発電中さん:2013/09/21(土) 08:46:06.76 ID:bj25gnyf
ドーセットはイギリス産なのに旨いな
641774ワット発電中さん:2013/09/21(土) 12:21:52.43 ID:5YRo372v
>>637
動作保証範囲は 5.5Vだが、絶対最大定格はもっと高いから
壊れる事はないと思う。
が、電圧上げるほど消費電力増えるから、電池がもったいない。
642774ワット発電中さん:2013/09/21(土) 13:22:15.58 ID:bj25gnyf
>>637
電池が新しいと、1セルあたり1.8V以上あるから壊れる。
ド素人はいろんな条件を考慮出来ないのに、知ったかする。
643774ワット発電中さん:2013/09/21(土) 13:55:32.01 ID:7f62pY8c
「これまで6Vで不具合が出た人はいない ⇒ これから先、不具合は出ない」
は偽だと思うけど・・・
644774ワット発電中さん:2013/09/21(土) 14:14:46.73 ID:uD1LOe8m
pic16f84とかも5.5Vなんでしたっけ
645774ワット発電中さん:2013/09/21(土) 14:27:56.00 ID:bj25gnyf
何故データシートを読まないんだ?
646774ワット発電中さん:2013/09/21(土) 18:04:26.32 ID:oySIvM49
もまいらなら覚えていそうだからじゃね?
647774ワット発電中さん:2013/09/21(土) 19:08:28.61 ID:kSI6weK7
回答には1週間を要します
648774ワット発電中さん:2013/09/21(土) 21:18:45.63 ID:6wZ/Fg38
嘘教えてやろう
649774ワット発電中さん:2013/09/21(土) 21:24:30.63 ID:Gn/r7VH1
電源を逆につけてチップがアッチッチになったが、何も問題ない。
650774ワット発電中さん:2013/09/21(土) 21:31:06.93 ID:qJ8ufuSB
電源がチャチ過ぎる
651774ワット発電中さん:2013/09/21(土) 23:12:08.76 ID:lgPO77j3
自分で使うぶんには、規格外の電圧をかけてもいいじゃない。
壊れたら交換すればいいんだし。
652774ワット発電中さん:2013/09/22(日) 09:35:24.28 ID:B/eqNrKZ
自己責任でお願いします
653774ワット発電中さん:2013/09/22(日) 19:38:19.23 ID:pTUz2MRI
火までは出なかったけど、部屋が煙とひどい臭いになったことはある
つける部品間違えたからだけど…
654774ワット発電中さん:2013/09/22(日) 21:31:12.40 ID:JN5smDWY
>>644
絶対最大定格は7Vだから、6Vかけても壊れる事はないと思う。
*動作は保証外だが
655774ワット発電中さん:2013/09/23(月) 01:33:54.67 ID:akL8KsLO
PIC18f24K20でクロックのコンフィグレーション設定がMPLABXで

__CONFIG _CONFIG1H , _INTIO2_OSC_1H


ってかいてもNGになるんだけど・・
コンフィグレーションワードをなんて書けばいいかだれかおせーて!
656774ワット発電中さん:2013/09/23(月) 02:13:29.25 ID:T8Cu+1Y0
>655
使ってるコンパイラ書かないと分からないよ

xc8ならをインストールしたディレクトリに以下のファイルがあるから見れ
xc8/v1.20/docs/pic18_chipinfo.html
657774ワット発電中さん:2013/09/23(月) 02:18:54.42 ID:akL8KsLO
>>656
MPASMです(@_@)
658774ワット発電中さん:2013/09/23(月) 02:36:57.89 ID:T8Cu+1Y0
MPLABX\mpasmx\p18f24k20.incのCONFIG1H Optionsをよく見て
少なくとも_INTIO2_OSC_1Hではない
659774ワット発電中さん:2013/09/23(月) 10:00:57.78 ID:x4Hv/wvf
>655

Window → PIC Memory views → Configuration Bits
各種設定変更
→ Generate Source Code to Output ボタンを押す
設定部分のソースコードが生成されるので、コピペ
660774ワット発電中さん:2013/09/23(月) 14:30:16.54 ID:WxAWYV56
質問です。
timerを使ってsleepからの復帰できないんでしょうか?
およそ一分間隔でtimerから復帰する、という省電力回路つくりたいんですが。
661774ワット発電中さん:2013/09/23(月) 14:31:57.87 ID:WxAWYV56
間違えました

質問です。
timerを使ってsleepからの復帰できないんでしょうか?
およそ一分間隔でsleepから復帰する、という省電力回路つくりたいんですが。
662774ワット発電中さん:2013/09/23(月) 14:45:00.15 ID:TPr1eFjF
条件による
663774ワット発電中さん:2013/09/23(月) 14:56:20.79 ID:FUE6cmsu
>>661
ウォッチドッグタイマ使え
つーかマニュアル読め
664774ワット発電中さん:2013/09/23(月) 18:32:24.88 ID:np2iwfw8
XならCONFIG生成させれば
665774ワット発電中さん:2013/09/23(月) 21:12:41.55 ID:WxAWYV56
>>663
ありがとうございます。
マニュアルどの辺に書いてあります?
666774ワット発電中さん:2013/09/23(月) 21:43:48.44 ID:akL8KsLO
>>659
できました!
サンキューべりマッチョ!
ペコリ(m´・ω・`)m
667774ワット発電中さん:2013/09/23(月) 23:21:41.02 ID:EzpJJfVn
>>663
> つーかマニュアル読め

しってるならおしえてあげればいいのに。
668774ワット発電中さん:2013/09/23(月) 23:27:00.73 ID:OGJk9+Yp
ほんとは知らなかったりして。
669774ワット発電中さん:2013/09/23(月) 23:33:13.10 ID:O/HCbpIB
ググレかす、データ読め、こうゆうの多いよねここ。
それで解決するなら質問しないってのよ。

気つけないとね。
670774ワット発電中さん:2013/09/23(月) 23:51:20.76 ID:FUE6cmsu
PICの型番もなしじゃエスパーさんもお手上げ
671774ワット発電中さん:2013/09/24(火) 00:05:29.88 ID:rqj9T8g1
そうそう、質問のしかたが悪いっていうイチャモンのつけかたもあるよね。
672774ワット発電中さん:2013/09/24(火) 00:19:00.16 ID:O2dEBn5e
必要なキーワード書いてやっても教え方が悪いって文句言うしな
673774ワット発電中さん:2013/09/24(火) 00:32:56.58 ID:acO2gS1e
>>672
そんなにむかつくなら、回答しなきゃいいのに。
世の中自分がいなくても結構うまくまわるもんだよ。
だれかが回答するよ。
674774ワット発電中さん:2013/09/24(火) 01:05:23.38 ID:acO2gS1e
大変に失礼ながら

「ウォッチドッグタイマ使え
つーかマニュアル読め」

という書き方は社会人としてちょっとどうなのかなと思うよ。
せっかくいいアドバイスをしてるのに乱暴すぎて残念だな。
675774ワット発電中さん:2013/09/24(火) 01:17:34.24 ID:k8u/HqN1
>>660
BaseLine (12bit命令長)のでは、割り込みをサポートしてないので、
sleepからの復帰はWDTでリセットをかけるしかない。
(フラグをみて、Sleepからの復帰かどうかを判断

ただ、Enchanted Baseline というのもあって、これは
pin変化割り込みとタイマー割り込みをサポートしているので、
タイマー割り込みで復帰させる事が可能 (16F570とか)
ただ 1sという長い周期は無理かも。
*リセットスタートするか、その場から再開かを選択可能

Midrange以上の奴は割り込みサポートしてるので、Timerでの復帰が可能。
16bitタイマーとかもあるので、1sとか長い周期も可能。
676774ワット発電中さん:2013/09/24(火) 01:22:25.81 ID:CZqX1YOA
>>674
ここ2chだお
まともな世界じゃないんだお
それ期待するなら他の掲示板でやれヴォケだお
677774ワット発電中さん:2013/09/24(火) 02:36:57.51 ID:977kOrEJ
〜だお と言うのやめたら?
バカに見えるよ。
678774ワット発電中さん:2013/09/24(火) 09:10:49.88 ID:y0a0/rIc
バカだからそう書いてるんだよ
679774ワット発電中さん:2013/09/24(火) 09:51:17.25 ID:MPZbDyiY
「バカに見える」とか言っちゃうと、ほんとは馬鹿じゃないみたいだ。
680774ワット発電中さん:2013/09/24(火) 10:04:07.59 ID:977kOrEJ
〜だお っていうのは、いったい誰が流行らせたんだろうか。
いい加減にして欲しい。
681774ワット発電中さん:2013/09/24(火) 12:40:00.39 ID:ti6Iesl2
>>680
君はバカなんだからちゃんと語尾におをつけなきゃ詐欺で訴えられますお?

× いい加減にして欲しい。
○ いい加減にして欲しいお。
682774ワット発電中さん:2013/09/24(火) 13:06:59.36 ID:LhdPG5o4
いい加減にして欲しいなっしー!
683774ワット発電中さん:2013/09/24(火) 15:29:07.66 ID:UXrYq4KT
いい加減にして欲しいにょ! ミ ' ω`ミ
684774ワット発電中さん:2013/09/24(火) 16:27:58.69 ID:/iOmCKpz
べるのだお
685774ワット発電中さん:2013/09/24(火) 16:28:07.38 ID:y3ASwnEd
ジャイロセンサとpicを使って
モーターの正転、逆転をしたいのですが
どうしたらいいでしょうか?
686774ワット発電中さん:2013/09/24(火) 16:41:31.48 ID:/iOmCKpz
正しくつないで
正しくプログラミング
687774ワット発電中さん:2013/09/24(火) 16:53:40.76 ID:ti6Iesl2
>>685
モーターをドライブする回路とマイコンと 重量計 を用意しておく。
正転と逆転の出力を切り替える関数、停止する関数を用意しておく。

つぎに、ジャイロセンサの重さと
PICの重さを計測しておく。

メイン関数ではループしながら重量計の値を読み、
おかれたのがジャイロセンサ(の重さ)なら正転関数を呼び、
おかれたのがPICなら逆転関数を呼ぶ。

規定外の重さ、ないしは無重量ならばモーターを停止する。
688774ワット発電中さん:2013/09/24(火) 18:20:25.50 ID:Gbx3rqqh
ジャイロセンサってなんじゃろ
689774ワット発電中さん:2013/09/24(火) 18:44:56.62 ID:FqHH6OMf
重量計使う必要が
いまいちわからんのだが。
ジャイロセンサの傾き検出して
基準電圧から
どっちに変動したかによって
フラグ立てて
正転逆転させるばいいんじゃね?
690774ワット発電中さん:2013/09/24(火) 18:57:09.99 ID:Cc2/N7fH
>>689
魂が抜けると6g軽くなる、らしい。
691774ワット発電中さん:2013/09/24(火) 19:07:05.30 ID:VpgeI2Ln
倒立振子?PID制御から勉強しよう
692774ワット発電中さん:2013/09/24(火) 19:44:51.13 ID:SLWMpO47
>>688
近くにジャイロがあるとビービー鳴るんじゃね?

(サンダーバード一号にはカメラセンサーというのがついてて
写真を撮られそうになると警報が鳴ってた)
693774ワット発電中さん:2013/09/24(火) 20:16:26.13 ID:mpSacU/o
>>692
難解なレスでワケわからない
694774ワット発電中さん:2013/09/24(火) 23:11:55.01 ID:zVt3AidD
685です。
ufoキャッチャーつくろうと思ってて
普通のやつじゃ面白みないので
そのコントローラをジャイロセンサにしようと
思ったんです。
xy方向を2軸ジャイロセンサでやって
zとアームはボタンでやろうとおもってまる
695774ワット発電中さん:2013/09/24(火) 23:21:05.12 ID:SLWMpO47
どこのセンサ使うつもりか知らんけど
角度をシリアル通信で垂れ流すとか
要求受け付けたときだけ角度返すとか
いろいろモードがあっから使いたいのに合うのを探すヨロシ
696774ワット発電中さん:2013/09/25(水) 00:36:21.15 ID:aQnqit1o
PICはピーアイシーですか?ピックですか?
697774ワット発電中さん:2013/09/25(水) 00:40:55.74 ID:64jL4SDi
ピク
698774ワット発電中さん:2013/09/25(水) 02:27:55.93 ID:e/sQfcaw
使わないピンは入力に設定するっていうプログラムよく見るけどなんか意味あるの
出力に設定しといたほうがいいような気がするけど
699774ワット発電中さん:2013/09/25(水) 02:41:13.18 ID:NIIRSUQ0
そのわけは?
700774ワット発電中さん:2013/09/25(水) 09:33:59.73 ID:MXGTWq/q
内臓プルアップとかない石での、
中途半端な電位を警戒してるんじゃね?
701774ワット発電中さん:2013/09/25(水) 13:10:05.71 ID:mbJ41Ms1
内臓はプルアップできないのだ
702774ワット発電中さん:2013/09/25(水) 13:21:24.16 ID:WwZSfoFs
内臓プルアップダイエットとか流行りそうだな
703774ワット発電中さん:2013/09/25(水) 13:39:00.82 ID:zSe7RRVh
昔、左わき腹というか腰の辺りが痛くて医者に行ったら腎下垂って言われた
これって腎臓がプルダウンされた状態ですかね
704774ワット発電中さん:2013/09/25(水) 13:57:18.56 ID:oi4snyrY
プルアップが無くなって下に落ちた状態
705774ワット発電中さん:2013/09/25(水) 14:38:19.29 ID:Xke0LTA2
ハイインピーダンス
706774ワット発電中さん:2013/09/26(木) 12:30:00.04 ID:MNLYm6Ti
質問させて下さい。

PICマイコンがあるのですが、型番の数値が読めなくて困ってます。

こういう場合どうすればこのPICの正体がわかるのでしょうか?
707774ワット発電中さん:2013/09/26(木) 12:32:59.06 ID:TZcnmphC
どうしてPICと分かるのですか!?
708774ワット発電中さん:2013/09/26(木) 12:33:28.58 ID:6bbPTMVj
>>706
pickitに繋げれば型番が表示される
709774ワット発電中さん:2013/09/27(金) 05:31:22.97 ID:DWIb6+iM
最近PIC12F683で遊び始めたらチップも開発環境もえらく変わっててワロタ。アセンブラとかCCSコンパイラとかもう誰も使ってないのな
ところでPICで初めの頃ちょっと遊んだAのつかない無印PIC16F84とワンタイム品のPIC16C56とEEPROM(24LC64,93C56N)が
新古品になって余ってるがなんとか余生を送らせてあげたい。剣山には重さが足りない。アイデア求む
710774ワット発電中さん:2013/09/27(金) 10:46:19.71 ID:/j69kDAV
誰も使ってなくないです、
たまに使うけど今もアセンブラです・・・
711774ワット発電中さん:2013/09/27(金) 14:44:35.19 ID:IC/5YGQ6
初めてのテストのときは、ハンドアセンブルして、
ユニバーサルプログラマでメモリエディットして
書き込みしたっけな。
712774ワット発電中さん:2013/09/27(金) 16:20:02.37 ID:dNe7Ls13
>>709
神棚にはピッタリじゃないか
金属部分を酸化させないようにプラケース入れておけば良い
うちにもあるぞ
713774ワット発電中さん:2013/09/27(金) 21:50:07.73 ID:tayEXja8
アセンブラと言えば
12-Bit/14-Bit Instructionで
BCとかBNCなんかの拡張命令は使ってる?
714774ワット発電中さん:2013/09/27(金) 22:32:28.47 ID:IxCgeCcW
使ってる。BTFSC、BTFSSは感覚的に好きじゃないので。
715774ワット発電中さん:2013/09/28(土) 00:14:06.81 ID:N/JsgBaN
pic18になると命令数が一気に増えるねw
そのかわりバンク処理が楽になったからおあいこ(@_@)
716774ワット発電中さん:2013/09/28(土) 02:34:37.75 ID:JmNPR4bo
そういえば>>1の敷居の使い方は間違いだ!
717774ワット発電中さん:2013/09/28(土) 04:23:21.79 ID:i/6hgo1s
xc8やってみたけど、やっぱ素人にはアセンブラが一番だな。確実だから。
バンクの切り替えはたしかにウザイ。
718774ワット発電中さん:2013/09/28(土) 08:14:22.68 ID:N/JsgBaN
サイクル計算で時間をきちんとわかるから、俺はアセンブラ!
719774ワット発電中さん:2013/09/28(土) 15:30:10.45 ID:OkiYgUDM
>>718
μs単位の時間管理が必要ならアセンブラしかないな。

あと、Baselineシリーズは、Cで書くと効率悪すぎだし。
720774ワット発電中さん:2013/09/28(土) 19:43:06.82 ID:72cDPYFW
>>717
えー、アセンブラめんどくさいし移植性皆無だからつかわないよー(´・ω・`)
721774ワット発電中さん:2013/09/28(土) 22:33:41.58 ID:JVsdeGV8
Cで書くと、容量不足で小さい石に移植できないから、移植性は悪い。
アセンブラで書けば、少々の手直しで移植出来る事が多い
722774ワット発電中さん:2013/09/29(日) 22:59:28.65 ID:oPjQasv3
Cなんて高水準アセンブラだろ
723774ワット発電中さん:2013/09/29(日) 23:12:49.74 ID:yctdZQsk
16F1825用のプログラムで、XC8 1.20 を使って配列を32バイトの整数倍のアドレスから
配置したいんだけど、どうすればいいでしょうか. __align(), __attribute__((aligned()) ともにエラーになります
マニュアルには __align 使えってあると同時に、never been imlemented とも書いてあって訳わかりません
724774ワット発電中さん:2013/09/29(日) 23:23:52.62 ID:8tLW7hTz
>>722
だから、何?
725774ワット発電中さん:2013/09/30(月) 19:14:14.43 ID:hBi6EitG
>>723
ttp://ww1.microchip.com/downloads/en/DeviceDoc/52053B.pdf
の、
2.5.8.2 DIFFERENCES
An alignment feature has never been implemented on 8-bit compilers.
The 16- and 32-bit compilers used the aligned attribute with variables

ってことだろ。
726774ワット発電中さん:2013/09/30(月) 20:19:00.16 ID:4EupQQfE
今日からSDCCではじめました
割込のサンプルコードください
727774ワット発電中さん:2013/09/30(月) 20:24:31.15 ID:4EupQQfE
ちなみに16F877っすw
728723:2013/09/30(月) 21:56:16.71 ID:7SaGrAXx
>>725
ありがとう やっぱり駄目なんですね・・・
リンカースクリプトいじるか、陽に配置アドレス指定するしかないのか
729723:2013/10/01(火) 00:09:27.41 ID:iimpkaRB
プログラムフラッシュのデータ1バイトを書き換えるには、
いったんROWをバッファにリード、ROW消去、バッファ中の対象バイト書き換え、フラッシュROWにバッファ内容書き込みなんだけど、
作ろうとしているシステムはいつ電源が落ちるか分からない。
なので一連の手順をアトミックに実行しないといけないことに気付いた
→ログ先行書き込みでやるか・・・
チラ裏でごめんな
730774ワット発電中さん:2013/10/01(火) 00:51:35.25 ID:LOkhSgg5
>>726
自分で探すか調べるかしなされ。
731774ワット発電中さん:2013/10/01(火) 02:14:17.66 ID:2QO9eBZ+
732774ワット発電中さん:2013/10/01(火) 06:37:42.52 ID:m3hUe/MC
ところで「ROW」って何?

PICにDRAM入ってんのか
733774ワット発電中さん:2013/10/01(火) 11:51:26.35 ID:FG4PWstA
>>726
マニュアルにサンプルコード入ってるよ。
734774ワット発電中さん:2013/10/01(火) 12:16:47.15 ID:FG4PWstA
雑すぎたので補足。
割り込みは、基本的に
・ペリフェラルの機能設定
・ペリフェラルの*IFフラグのクリア
・ペリフェラルの*IEフラグをイネーブルにする
・タイマなどの場合は起動
の順番で動かす。
割り込みハンドラは、
・(必要ならば)*IEフラグをディゼーブルにしてその後の割り込みを禁止する
・*IFフラグをクリア(これをやらないと、割り込みから復帰した時に繰り返し割り込みが発生する場合がある)
って感じかな?
割り込みが必要なくなったらペリフェラルを停止して*IEフラグもクリア。ね。
735774ワット発電中さん:2013/10/01(火) 14:28:16.67 ID:1wTgqO9q
そんな古いの使うなよっていわるかと思ったのにありがてぇありがてぇ
見てきます
736774ワット発電中さん:2013/10/01(火) 22:31:27.41 ID:GKVNjdNI
rfPIC12F675や12F529T39A等の電波の送信、受信機能のあるPICは
日本では取り扱っている店など無いのでしょうか?

また、使用例などググっても日本語のページなど出ていませんが
それほど手に入りづらいのでしょうか?
737774ワット発電中さん:2013/10/02(水) 01:21:26.37 ID:uaqIJHXb
>>736
普通にデヂキーで買えるが。
738774ワット発電中さん:2013/10/02(水) 19:37:48.31 ID:RwK6ZymB
>>737
そうなんですか。
知りませんでした。
しかし、7500円以下は送料2000円って個人ではちょっと手を出しにくいですね。
このあたりが、個人の電子工作でこの手のPICが流行らないところなのでしょうか?

先日の書き込みの後、更に調べてみましたが、個人ではやはり手を出しにくいのか
使用例など他のPICに比べるとほとんど無いようでした。

自分のスキルとの兼ね合いもありますが、やはり(入手性、情報的に)敷居が高い石なのでしょうか?
739774ワット発電中さん:2013/10/02(水) 20:02:20.51 ID:Neq5l10U
>>738
PIC12F529T39Aならホンの60個で7500円じゃん。
他の買物もあれば個数は下げられるし。
740774ワット発電中さん:2013/10/02(水) 20:12:35.64 ID:YBXCrdyh
>>736
電波は公共の財産
日本の技適承認も受けてないのを密輸するのは犯罪
741774ワット発電中さん:2013/10/02(水) 20:17:18.70 ID:FzBnGH3t
輸入しただけで犯罪と思ってるなら、もっと勉強したほうがいい。
742774ワット発電中さん:2013/10/02(水) 20:49:50.35 ID:jF4u2uKr
uartとEthernetで通信するにはどうすればいいのでしょうか?
743774ワット発電中さん:2013/10/02(水) 20:52:21.38 ID:uaqIJHXb
つ「パソコン」
744774ワット発電中さん:2013/10/02(水) 22:31:58.78 ID:RwK6ZymB
>>739
初心者専用スレに書いたつもりだったのですが、プロの方ですか?

精々2,3種類を4,5個程度しか買わない自分には7500円分もの買い物はハードル高すぎです。
745774ワット発電中さん:2013/10/02(水) 22:46:18.58 ID:uaqIJHXb
>>744
PIC12F529T39Aなら1個170円から買えるけど。
http://www.digikey.jp/product-detail/ja/PIC12F529T39A-I%2FST/PIC12F529T39A-I%2FST-ND/3543143

チップの内容は知らないから、これが買えてどうなるかも知らんが。
746774ワット発電中さん:2013/10/02(水) 22:49:44.41 ID:Neq5l10U
ふつうーに趣味の電子工作だが。

たいてい25個で単価下がるのでストックしとく分も考えてそれくらい買っとくし、
ついででよく使う汎用ロジックや1GLを10個とか25個とか数種入れて、
ちょいと足りないならプルアップ等でよく使う10kの抵抗か
パスコン用103〜104のセラコン入れて調整すれば大体それくらい行くぞ。
747774ワット発電中さん:2013/10/02(水) 22:50:26.91 ID:Neq5l10U
>>745 いや、それだと送料がばかにならんから。
748774ワット発電中さん:2013/10/02(水) 23:50:13.34 ID:uaqIJHXb
だから、他で入手出来ないなら送料込みがそのチップの価格なんだよ。
749774ワット発電中さん:2013/10/03(木) 02:21:28.81 ID:/CNvaHez
>>738
マイクロチップ社のサイトの通販ページじゃダメなのかな?
一個から買えて送料もそこそこ安いけど。
750774ワット発電中さん:2013/10/03(木) 08:49:31.33 ID:vwjDDIwo
「日本では取り扱っている店など無いのでしょうか?」
って部分が置き去りになってませんかね?
751774ワット発電中さん:2013/10/03(木) 13:38:46.21 ID:tju4Je27
じゃあ「無い」ってことで
752774ワット発電中さん:2013/10/03(木) 14:18:11.24 ID:kKMwZNNI
あろうがなかろうが俺らは知ったこっちゃないもんね
753774ワット発電中さん:2013/10/04(金) 08:49:06.30 ID:bQT0xfWK
windows7に変えたらものすごく調子悪い。
どうやらコンパイラのパスが通ってないらしい。
XPのときは何の問題もなかったのに。
MPLAB IDE 8.92とWIN7は相性わるいんだろうか。
754774ワット発電中さん:2013/10/04(金) 15:08:28.99 ID:p83TU7Sa
トランジスタの記号の足のアサインが覚えられませんw
NPNとPNPとFETとかもう無理です。
人間失格でしょうか。
755774ワット発電中さん:2013/10/04(金) 16:51:03.13 ID:P9ppvezj
病院逝け
756774ワット発電中さん:2013/10/04(金) 16:53:36.97 ID:qEtTPiZD
エクボって覚えんだよwww
757774ワット発電中さん:2013/10/04(金) 18:00:46.47 ID:/s8nBMXR
ECBの順じゃないのも多いので、俺いちいちデータシートで確認してるw
覚えるの無理w
758774ワット発電中さん:2013/10/04(金) 19:40:48.48 ID:NhGQ3jgW
>>754
足はきちんとデータシートで確認するクセをつけておいたほうがいい。
でないと、ハマるよ。
759774ワット発電中さん:2013/10/04(金) 19:42:55.73 ID:zDs+5CAK
ttp://nabe.blog.abk.nu/circuit-intro
ここに置いてあるPDFプリントアウトしてるwww
今でも
760774ワット発電中さん:2013/10/04(金) 20:47:26.07 ID:ba/BhLlV
>>754
そんなもん覚える方が無理だし型番違うときにミスる基になるだけだから覚えなくていいです。
今はWebでデータシート見れるからそれ見るなりプリントなりメモなりすればいいです。
761774ワット発電中さん:2013/10/04(金) 21:30:35.67 ID:c7WYMNht
先輩で分かる人いるぞwww
わかんない場合、テスターで調べてる
762774ワット発電中さん:2013/10/04(金) 21:44:37.08 ID:0qV+q5IX
そりゃトランジスタといえば2S(A/B/C/D)の日本製でピンアサインもエクボで通じた大昔の話だろ
いまや2Nxxなんて海外デバイスもふつーに使われるのに思い込みは危険だわ
763774ワット発電中さん:2013/10/04(金) 21:47:47.98 ID:cX85mvTa
自分が扱う定番部品とかあるだろうから
そういうよく使う部品のpin配置は覚えておいた方が良いですが、
使用履歴のある全てのデバイスを覚えておくのは難しいでしょう
764774ワット発電中さん:2013/10/04(金) 22:31:02.41 ID:tH1ibDUu
>>759
こう言った、PDFでおいて下さっている所って良いですよね。
探しても初心者から中級向けの電気関係ではあまり見かけないけど。。。

もし他にもご存知だったら、また教えてください。
765774ワット発電中さん:2013/10/04(金) 23:16:23.33 ID:eZnT7YLV
しかし、2SC1815のデータシートの図がbottom viewだと気付けずにハマる罠があったり。
766774ワット発電中さん:2013/10/04(金) 23:39:29.15 ID:6ZL05/tJ
bottom viewって何?
767774ワット発電中さん:2013/10/05(土) 00:21:51.20 ID:v6OuwPHs
人形のパンツを覗き込む視点が、bottom viewだ。
768774ワット発電中さん:2013/10/05(土) 08:59:01.84 ID:slFrxaLM
発光ダイオードも長い方がアノードとは限らないんだよな
769774ワット発電中さん:2013/10/05(土) 21:20:42.39 ID:BN0hpr+x
基板設計も部品面からの透視でするしボトムビューって要るんか?

オムロンのリレーとかケース上面に印刷された端子配置がボトムビューってバカすぎる
http://cache.cart-imgs.fc2.com/user_img/tansei/e6d820d8ffed43eafb66203fe6c0c8fd.jpg
770774ワット発電中さん:2013/10/05(土) 21:49:30.66 ID:MqEsUaIm
SMDではないスルーホール実装だからパターン側から見たpin配置を示しても問題はないと思うがね。
メンテナンス時にpin配置が判らずに四苦八苦するよりも、マーキングで判読できてありがたいモノだと思う。

それにしてもいろいろな意見があるものだ
771774ワット発電中さん:2013/10/05(土) 22:09:40.94 ID:F4WEdB+D
>>769
リレーとかの盤関係の機材は、基板取り付けタイプでないものもあるしで、
端子側から見た図で統一してるんだろうね。
772774ワット発電中さん:2013/10/05(土) 22:14:23.37 ID:ai827Oo2
>>767
かつてはトランジスタガールが居たそうな
773774ワット発電中さん:2013/10/06(日) 01:29:52.16 ID:baDUYF3Q
>>772
トランジスタ・グラマーだろ?
774774ワット発電中さん:2013/10/06(日) 01:36:31.99 ID:Lka0l7U8
三本足の?
775774ワット発電中さん:2013/10/06(日) 02:18:34.81 ID:JBPAgxWL
トランジスタグラマーだと思う芸能人は誰ですか?
AKB48 大島優子 152cm B82 W55 H60
AKB48 大場美奈 150cm B82 W62 H85
SKE48 佐藤聖羅 158cm B88 W60H89
グラドル
加藤 美穂 158cm B98 W59 H85
木口 亜矢 158cm B89 W57 H86
小林ユリ 150cm B94 W60 H86
堀井 美月 148cm B93 W55 H86
AV
成瀬 心美 147p B89 W60 H82
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1095804100
776774ワット発電中さん:2013/10/06(日) 03:22:50.56 ID:Op5irEBq
トランジスタガールは、トランジスタを手作業でボンディングしていた女工さん

トランジスタグラマーは、チビデブの隠語
777777:2013/10/06(日) 07:09:35.23 ID:0eRoAZ2F
777
778774ワット発電中さん:2013/10/06(日) 09:03:08.12 ID:Q5fbY1zc
173cm  B89 W64 H88
な漏れから見ると、芸能人/グラドルの3サイズは嘘だらけだな。
779774ワット発電中さん:2013/10/06(日) 09:12:10.40 ID:8CQRQiGe
キューポラのある街
780774ワット発電中さん:2013/10/06(日) 18:27:34.86 ID:qPO3r/VE
アイドルが生息するのは
ブラウン管の向こうの非ユークリッド空間だから
自分と同じ尺度で測っちゃだめなんだよ、きっと・・・
781774ワット発電中さん:2013/10/07(月) 02:11:17.93 ID:ZyeA3W4D
pickit3間違えて16v入れたら煙り噴いて死亡した、これはひどい
782774ワット発電中さん:2013/10/07(月) 02:13:09.66 ID:d/vcgM7M
うん、確かに酷い仕打ちだ。
783774ワット発電中さん:2013/10/07(月) 08:42:33.63 ID:BuRIpfQo
長年連れ添った相棒になんて仕打ちだ。
これはひどい!!
784774ワット発電中さん:2013/10/08(火) 13:06:51.51 ID:i/1UJPl1
スイッチを一回押したらAPGMへ二回押したらBPGMへ、三回押したらCPGM実行となる
プログラム書いてるんだけど、なんかグダグダになってうまくいかない。
考えてみると、こうゆうプログラムは腕時計とかいろんなとこで使われてるんで、定番の
プログラムってできてるんじゃないのかな。
知ってる人おしえて。
アセンブラでもC言語でもどちらでもOK.
785774ワット発電中さん:2013/10/08(火) 15:20:47.84 ID:xBbNdrPj
>>784
まずは、仕様を明確にすべし
何ミリ秒のOFF期間にするとか、チャタリング防止時間はどれ位かとか。
仕様が決まれば、プログラムは、そのままコーディングすればよろし。
786774ワット発電中さん:2013/10/08(火) 16:21:14.30 ID:8R2qRbbN
定番だからこそ自力でプログラムする価値がある。
それはお前の血となり骨となるだろう。
787774ワット発電中さん:2013/10/08(火) 16:49:41.88 ID:i/1UJPl1
>>785
> まずは、仕様を明確にすべし


やっぱりそうくるか。
788774ワット発電中さん:2013/10/08(火) 17:15:52.05 ID:s3lwXBWd
そらそうよ
789774ワット発電中さん:2013/10/08(火) 20:36:36.74 ID:rCXR9q8x
アルゴリズムでかんがえて分岐させればいいだけじゃね?
if文
とか条件付きでgoto命令実行で簡単にできるんじゃね?

とりあえずアセンブラ命令表を見てみればいいんじゃね?

時計ならタイマー機能レジスタつかったほうがいいよ!
アセンブラ命令で繰り返し命令で単位時間つくるとちょーめんどいから!
790774ワット発電中さん:2013/10/08(火) 20:51:03.15 ID:rCXR9q8x
>>765
おい最近の俺がいるじゃないかww
1815じゃなくて電圧変更で最近変えたレギュレーター用ICがボトムビューで
配線間違えて燃えたw
791774ワット発電中さん:2013/10/08(火) 21:52:59.51 ID:i/1UJPl1
>>788
「やっぱり」をつけてと書いたんだけど、その微妙な意味が通じなかったか。
792774ワット発電中さん:2013/10/09(水) 01:47:50.36 ID:nKP3j5br
まずは、その自分の考えは十分他人に伝わってる「はず」という思い込みを直すべき
793774ワット発電中さん:2013/10/09(水) 03:27:35.88 ID:8bBkgxHb
>>790
TopViewかBottomViewかなんて言う 次元の低い話は止めましょう。
そういう図を見たら「おっと、Viewの方向に気をつけなきゃ」と
思うようになればいいんです。特にTO92注意。

あ、あと、1815じゃなくて 1815 ね。
794774ワット発電中さん:2013/10/09(水) 14:13:05.03 ID:xz7dF2GF
1815←なぁに、むしろ耐性が付く
795774ワット発電中さん:2013/10/09(水) 20:41:53.28 ID:EcLVRptM
ラダー抵抗というのを初めて知った…( ´△`)

デジタル出力でアナログっぽく出来るなんて…
796774ワット発電中さん:2013/10/09(水) 22:11:03.41 ID:rMqkMccE
1815←秋月っぽくてええやん
797774ワット発電中さん:2013/10/09(水) 22:18:14.79 ID:689mjm6A
1月18日 - 米英戦争:ニューオーリンズの戦いで米軍が勝利。
2月26日 - ナポレオン・ボナパルトがエルバ島を脱出、パリに進軍。
3月20日-6月28日 - ナポレオンの百日天下。
4月10日-4月15日 - インドネシアのタンボラ山が大噴火。記録に残っている噴火としては史上最大。(死者9万2千人)
6月8日 - ドイツ連邦がウィーン議定書に基づくドイツ連邦規約に基づき、オーストリアを盟主として発足。
6月9日 - ウィーン議定書(ウィーン体制の成立)
6月18日 - ワーテルローの戦いでフランス・ナポレオン軍がイギリス・オランダ連合軍およびプロイセン軍に敗北。
杉田玄白が蘭学事始を完成。
オーギュスタン・ジャン・フレネルがフレネル回折を発見。
伊能忠敬の第9次測量実施。
798774ワット発電中さん:2013/10/09(水) 22:33:45.13 ID:gx8JKVoB
>>796
エッナニカモンダイデモアル?
799774ワット発電中さん:2013/10/09(水) 22:46:20.02 ID:gx8JKVoB
エッナニカモンダイデモアルノ?
800774ワット発電中さん:2013/10/09(水) 23:30:57.07 ID:gx8JKVoB
2120
801774ワット発電中さん:2013/10/10(木) 00:29:17.15 ID:vGmC+24r
windous7にしたらpickit3がめちゃめちゃ調子いい。
xpのときは電源ちょっとはずすとIDが認識できなくなったんだけど今はぜんぜん平気。

ちなみにIDEはv8.86。そのうちMPLAB Xにしようかな。
802774ワット発電中さん:2013/10/13(日) 18:03:10.68 ID:uQovslyV
12F683でGP1でAD変換した値の大きさに応じた時間、任意のピンをHighにする、と言う回路を製作中
です。
PICKIT3で書き込み、そのままPICKIT3を繋いだままだとAD変換がきちんと反映された想定通りの動作
をするのですが、PICKIT3を外して別の電源に繋ぐとボリュームを動かしても出力ピンからのパルスの幅
が変わらず原因が分からず困っています。
ぐぐってみたところ、マイクロチップのフォーラムm569545.aspxに同様の書き込みをみつけ、
PICの型こそ違えど、全く同じトラブルの報告&解決の書き込みを発見したのですが、12f683には
デバッグモードと言うものは見当たらず、途方に暮れています。
プログラム内のコンフィグ設定、または書き込みの際のIDEの設定などに問題が有るのでは?と疑っては
いるのですが基本的な理解が浅い事も有り手詰まりになってしまいました。
なにかアドバイスがある方がいらっしゃいましたら、アドバイスを頂けませんでしょうか?
環境は XC8(v1.20) MPLAB X IDE (v1.90) PICKIT3です。
803774ワット発電中さん:2013/10/13(日) 19:16:52.45 ID:/bNEjEaI
別の電源にして動いてることは確認できてる?
電源変えたら動作がおかしくなることはよくあること。
LEDでも一定間隔で点滅させて動いていることを確認するべき。
804774ワット発電中さん:2013/10/13(日) 20:02:17.63 ID:2YW/vhfk
>>602

MCLRが怪しい気がする。
805774ワット発電中さん:2013/10/13(日) 20:13:18.81 ID:0n5HMjOu
GP1の電圧をテスターで測ったらちゃんと変化してるか?

GP1はICSPCLKとの共用pin PICKIT3をつないだままだと
PICKIT側でプルダウンされているはず。
回路or配線がおかしくて、このプルダウン抵抗依存の
回路になってしまっているんじゃないか
806802:2013/10/14(月) 00:07:53.35 ID:tn7I7qMN
>>803, 804, 805
皆さん、アドバイスありがとうございます。
一つずつ確認してたところ、805さんのご指摘通り、誤配線によりプルダウン抵抗依存の回路になって
しまってたようです。
配線を修正したところ、いずれの5V電源に繋いでも想定通りのPWMが各GPから出力されるようになりました。

ありがとうございました!
807774ワット発電中さん:2013/10/18(金) 00:31:04.63 ID:D2V6h9ro
PICで湿度計を作ろうと思っているのですが、
調べたところ、湿度センサーでI2Cなどデジタル出力の物で
手ごろな価格(1000円以内程度)って見つからなかったのですが、
その様な湿度センサーをご存知の方居られましたら教えていただけないでしょうか?
よろしくお願いいたします。
808774ワット発電中さん:2013/10/18(金) 00:32:48.54 ID:g13e5HL6
>>807
温度センサーを2個使って、片方を湿ったガーゼに...
809774ワット発電中さん:2013/10/18(金) 02:26:02.09 ID:+qkRBBX/
>>807
湿度センサ HS−15P
で検索してみればいいんじゃね?
810774ワット発電中さん:2013/10/18(金) 02:29:49.94 ID:+qkRBBX/
そんでA/D変換機能のあるPICつかえばいいだけやん。
811774ワット発電中さん:2013/10/18(金) 05:23:10.93 ID:gsfn4Tz+
>>807
少し価格は高いがストロベリーリナックスに湿度センサがあるので
湿度で検索してみて ttp://http://strawberry-linux.com/

SHT-11 温湿度センサー 2,200円
HH10D  湿度センサー 987円 
RHT03  温度・湿度センサ 987円 

出力データはどれもデジタルなのでHS-15Pよりは難易度は低いし、
簡単な動作確認で一応使い物になるだろう。HH10Dは温度補正が
必要なので別途温度計が必要になる。

AVRにHS-15Pを接続した人の記事があった
ttp://homepage3.nifty.com/sudamiyako/zk/hs15/hs15.htm

これを読めばHS-15Pをマイコンに接続してAD変換でOK。なんて
簡単な話ではないことは理解できるだろう。
812774ワット発電中さん:2013/10/18(金) 05:31:51.12 ID:gsfn4Tz+
ストロベリーリナックスのURLが正しくなかった。分かると思うけど訂正

ttp://strawberry-linux.com/

随分昔だがここで買い物をしたことはある、センサーではないが。
813774ワット発電中さん:2013/10/18(金) 11:24:28.31 ID:BsFZmCNf
ダイオードで十分な気がする。
回路の勉強にもなるし、安い。
814774ワット発電中さん:2013/10/18(金) 14:18:00.41 ID:vJZoaqS0
815774ワット発電中さん:2013/10/18(金) 14:45:51.56 ID:95WCODYw
湿度計ほしがってんのに温度計紹介してどうすんだお?
二つ用意して片方湿らせといて換算テーブルから湿度計算すんのかよ面倒だろ!!!
816774ワット発電中さん:2013/10/18(金) 14:51:11.26 ID:X/7joHSf
給水も自動化する必要があるな
817774ワット発電中さん:2013/10/18(金) 15:10:18.29 ID:95WCODYw
しかも乾湿球計は給水に水道水を使うと
湿球のガーゼがカルシウムでカピカピになるんだよょょ・・・
818774ワット発電中さん:2013/10/18(金) 18:56:21.57 ID:27PYmxQ5
ペルチェで鏡を冷やして反射光で露点を測定
819774ワット発電中さん:2013/10/18(金) 19:05:41.27 ID:mG/wR+ov
秋月で湿度センサを見ていたら、デジタルで通信するタイプを見つけました。
http://akizukidenshi.com/catalog/g/gM-07003/
http://akizukidenshi.com/catalog/g/gM-07002/
出荷時較正されている上に安いです。
(後者は高いけど高精度ということみたいです)

中国製みたいだけど、こういうのでいいんじゃないですか?
820774ワット発電中さん:2013/10/18(金) 19:47:55.25 ID:ujJ9L6Pe
>>815
若干の手間だし、カルシウムの問題は、RO水使えばいいが、そもそも、カルシウムが析出した所で、精度には関係ない。
市販のセンサは、精度がいまいちな上に、長期間使うとどんどん精度が悪化する。
自宅の鯖で連続観測してるのは湿球方式で計測してるよ。どうせ気温も測るから、乾球側は元々必要な物だし。
8ピンPICに作りこんであるから、結構便利につかえる。
表示が欲しければピンの多いPICに焼けば良いだけなので、特殊なセンサの在庫不要で超便利。
連続で長期間計る必要が無いなら、>>818の方法もお勧め。
821774ワット発電中さん:2013/10/18(金) 20:41:19.09 ID:YkGgxYGC
そうでもないお。
ガーゼにカルシウムが析出しはじめると水分を揚げにくくなって
乾球化して精度悪くなるおっ おっ ⊂(^ω^)⊃

(建前としては、かるしうむは食酢とかでとかすんだけど、
 食酢じゃ薄くて、なかなかとけないおっ 個人的所見では
 ダイソーとかで粉のクエン酸売ってるので そっちのほうが濃くできて お勧めだお)
822774ワット発電中さん:2013/10/18(金) 21:21:50.01 ID:cq2kQkAR
>>821
実際にやった事無いだろ。ガーゼ位、交換しろよ。
食酢だのクエン酸なんて使ってそれが洗浄不良になったらそれこそ精度ガタ落ち。
カルシウムの方が圧倒的にマシだわw
823774ワット発電中さん:2013/10/18(金) 22:42:11.36 ID:ACvtht5L
uartの受信送信ができない場合まずどこから調べていけばいいのでしょうか?
824774ワット発電中さん:2013/10/18(金) 22:48:42.66 ID:gGVkH+Gh
>>823
まず、ハード(配線)が正しいかどうかを確認する。
とりあえず、ボーレートとかを設定したあと、割り込み使わずに
一定間隔で送信レジスタたたいて見るとか。
825774ワット発電中さん:2013/10/18(金) 23:12:17.12 ID:DOUin2g2
受信ができることを別途確認したPC(UARTインターフェース&端末ソフト)を用意
PICで送信、PCで受信
PCの端末ソフトでボーレート設定を変えながら表示の化け具合をみてみる
826774ワット発電中さん:2013/10/18(金) 23:13:34.58 ID:YkGgxYGC
・一見関係ないけど、とりあえずLEDでも点滅させて「プログラムが動いているかどうか」をまず確認。
・送信できてるか、オシロで通信線見る
・受信させようとする信号は正しいのか、やっぱりオシロで通信線をみる
827774ワット発電中さん:2013/10/18(金) 23:24:24.25 ID:ACvtht5L
>>824-826 ありがとうございます。
とりあえずPC側の出力がちゃんと出来ているのを
確認したのでPICの配線まわりから調べていこと思います。
828774ワット発電中さん:2013/10/18(金) 23:50:40.43 ID:3+Op/Yd7
さっき作った万能基板でなんで動かないかわからなかったけどルーペで拡大したら
金属ゴミみたいなのが原因だったらしい。ピンセットでキレイにしたら何事も無く動いた
PICから煙出るしもうダメになったと思ったのにそのまま動いてる。意外に丈夫なのねw
829774ワット発電中さん:2013/10/19(土) 00:57:48.52 ID:qXTERNlK
807です。
皆様、アドバイスありがとうございます。
一度、HS-15Pを買って試したのですが、OPアンプが必要な事など
使い勝手が良くなかったのでデジタルな物を探していました。

ストロベリーリナックスのRHT03と秋月のAM2302ってシリアル通信なのですね。
シリアルって使った事が無いのでI2C等を探していましたが勉強の為にも
挑戦してみようと思います。

乾球、湿球の方式はセンサーでも出来ると思っていませんでした。
こちらの方式も考えてみようと思います。
しかし、温度センサを湿球にする場合は工夫が要りそうですね。
エポキシボンドなどで配線部分ごと固めてしまえば良いのでしょうか?
そのあたりも考えるのが楽しそうですね。

ありがとうございました。
830774ワット発電中さん:2013/10/19(土) 07:03:47.47 ID:2BY4Q7Mo
>>829
湿球は、細いガラス管の片方を焼き閉じて使ってるけど
ガラス管の入手が難しければストローでもOK
831774ワット発電中さん:2013/10/19(土) 14:05:37.12 ID:DRUj496y
PWMでコイル使ってDCコンバーター作ってたらいろんなものが壊れまくったけど
12Vから20V5A以上の性能はでた
832774ワット発電中さん:2013/10/19(土) 18:39:31.75 ID:qXTERNlK
>>830
その場合、乾球側も同様にガラス管に入れて条件を同じにするのでしょうか?
833774ワット発電中さん:2013/10/20(日) 05:50:04.57 ID:d0w+slGT
漠然としていて申し訳ないのですが、PICAXEってどうなんでしょう?
834774ワット発電中さん:2013/10/20(日) 23:48:53.73 ID:UFl1mHWA
まあいいんじゃない?
835774ワット発電中さん:2013/10/21(月) 00:20:53.02 ID:lgv8ggqj
PICマイコンの本を読んでたら
レジスタの各ビットの役割を説明してるところに<1:0>や<4:0>という表記が
例えばPIC16F1936のADCON1レジスタのところは
[ ADFM | ADCS<2:0> | - | ADNREF | ADPREF<1:0> ]
この<>でくくってる表記の意味を教えていただきたいです
836774ワット発電中さん:2013/10/21(月) 01:15:30.64 ID:7bAlZvKn
>>835
[1:0] 2bit の数値
[2:0] 3bit の数値
837774ワット発電中さん:2013/10/21(月) 01:19:38.66 ID:lgv8ggqj
>>836
ありがとうございます
838774ワット発電中さん:2013/10/23(水) 11:11:00.17 ID:mqCbr2Xi
LATAに0x00を書いておいて、
TRISA = 0x00でRA0に”L”出力
TRISA = 0x01でRA0をHi−Z
という使い方(オーブンドレイン?)はできますか?
839774ワット発電中さん:2013/10/23(水) 11:17:52.80 ID:ZSS9/tID
できるよ。
840774ワット発電中さん:2013/10/23(水) 11:21:46.50 ID:1BA8UVNd
入出力の切り替えという意味だけなら、
(TRIS変更してる間もラッチレジスタに値を温存しとくことは)できるだろうけど、でも
おーぷんドレインどうさせるときはODCxレジスタがある機種じゃないとまずいんでね?

っていうかOPEN DRAINは出力動作の話でねえの?
841774ワット発電中さん:2013/10/23(水) 13:08:33.18 ID:uWuZajID
まあ電気的特性は守れよ
842774ワット発電中さん:2013/10/24(木) 07:08:11.87 ID:wjODg0aw
質問なんですが、PICを使ってUSBキーボードまたはPS2キーボードを2台以上のPCで
同じ入力するデバイスって作成するのは難しいでしょうか?
843774ワット発電中さん:2013/10/24(木) 07:27:40.39 ID:CyRqMcXs
可能
844774ワット発電中さん:2013/10/24(木) 07:49:56.67 ID:w7yLPvYj
>>842
難しいかどうかは、自分の実力次第。
多分、>>842には無理
845842:2013/10/24(木) 08:33:26.80 ID:wjODg0aw
0からスタートなので予算とか考えると、
完成品などで売ってるもので組み合わせてどうにかしたほうがよさそうですね。
するとしたらi2cとかで連携させる感じでPIC1台では難しい感じですか?
846774ワット発電中さん:2013/10/24(木) 10:01:38.58 ID:sHe6FIL1
道は険しそうだ
847774ワット発電中さん:2013/10/24(木) 10:58:07.18 ID:0B8ps5Fn
>>842
PICを使うのが目的ならともかく、キーボードを共有するのが目的ならINPUT DIRECTORみたいなソフトを使うのが安くて簡単だと思うよ。
848774ワット発電中さん:2013/10/25(金) 06:26:16.90 ID:oIrxXPgJ
>>847
2台以上同時に同じ入力を出来ないといけないので、切り替え器では目的を果たせないんです。
そいうソフトあったんだけど、プロテクトソフトで弾かれて使えなかった。
849774ワット発電中さん:2013/10/25(金) 06:32:36.88 ID:30HurTET
ドライバ一つ作るほうが賢明だと思うけどな。OSが何かしらないけどWindowsなら
NT4とかよほど古くない限りWDFユーザーモードドライバモデルで作ればブルースクリーンも出ないし
サンプルも豊富でお気楽簡単に作れるのに
850774ワット発電中さん:2013/10/25(金) 20:24:43.52 ID:pA1QevAs
PIC32て安いけどどんくらいエロいの?
16ビットとか死んでしまうの?
851774ワット発電中さん:2013/10/25(金) 21:21:31.03 ID:K6zJD+mz
ビデオカメラが作れるぐらいしか知らん
852774ワット発電中さん:2013/10/29(火) 21:32:08.47 ID:g3Lk1hvC
当方CCS PICCのバージョン4を所有しているのですが
最近の16F1シリーズのコンパイルは無理でしょうか
ちなみに14bitのコンパイラなので18Fシリーズには使えないものです

また無理でしたらフリーのコンパイラあればおすすめを教えて下さい
853774ワット発電中さん:2013/10/30(水) 00:54:57.90 ID:ux+lWDzQ
所有してるのに対応PICもわからんのか
854774ワット発電中さん:2013/10/30(水) 00:57:08.97 ID:ux+lWDzQ
XC8なら使えるだろう
855774ワット発電中さん:2013/10/30(水) 15:37:04.99 ID:GfXYik8n
データ中の“1"の数を数えたいんですが、
例えば8ビットなら

0x00→0
0x01→1
0x02→1
0x03→2
0x80→1
0xFF→8

256ワードのテーブルを引く以外で
BTFSC+INCFを8回くりかえすより効率よい良い方法はないですよね?
856774ワット発電中さん:2013/10/30(水) 17:33:06.98 ID:r222uMKW
ビットの数を数える
でググればいいじゃない?
857774ワット発電中さん:2013/10/30(水) 19:54:10.06 ID:45kz4gHM
4ビットずつ16ワードののテーブルを引く
858774ワット発電中さん:2013/10/30(水) 20:08:40.68 ID:Ol1VePtq
(0x00+1)/2=0x001/2=0x00
(0x01+1)/2=0x010/2=0x01
(0x10+1)/2=0x011/2=0x01
(0x11+1)/2=0x100/2=0x10
となることを利用する。

使用レジスタDATA(元データ),SUM(計算結果),20サイクル

movf DATA,w
andlw b'00110011'
addlw b'00010001'
andlw b'01100110'
movwf SUM
swapf SUM,w
addwf SUM,w
andlw b'00001110';下位4ビットのみ有効
movwf SUM
rrf DATA,F
rrf DATA,w
andlw b'00110011'
addlw b'00010001'
andlw b'01100110'
movwf DATA
swapf DATA,w
addwf DATA,w
andlw b'00001110';下位4ビットのみ有効
addwf SUM,f ;Carryは必ずクリアされる
rrf SUM,f ;SUM = SUM/2
859774ワット発電中さん:2013/10/30(水) 20:14:36.34 ID:DSveIzKl
>>853
ありがとうございます
CCSの公式サイトでは対応してると表記していますが
古いものなのでヘッダファイルがありませんでしたアップデートが必要なのでしょう

XC8を試してみます
860774ワット発電中さん:2013/10/30(水) 20:54:05.46 ID:PQfHoLly
>>858
BTFSC+INCFを8回くりかえしたほうが効率いいような気が
861774ワット発電中さん:2013/10/30(水) 21:46:45.73 ID:blePdezO
>>855
"Hacker's Delight", 2nd Ed を読むと、いろいろ書いてあって楽しいよ
862774ワット発電中さん:2013/10/30(水) 21:48:00.76 ID:bVu4MfEN
BTFSC+INCFを8回くりかえすのと変わらないな

 movf  data,w  ;1ビット加算
 andlw  0x55
 movwf  temp
 rrf    data,w
 andlw  0x55
 addwf  temp,f

 movf  temp,w  ;2ビット加算
 andlw  0x33
 movwf  data
 rrf    temp,f
 rrf    temp,w
 andlw  0x33
 addwf  data,f

 swapf  data,w  ;4ビット加算
 addwf  data,w
 andlw  0x0f
 movwf  data   ;結果
863774ワット発電中さん:2013/10/30(水) 23:22:10.30 ID:Ol1VePtq
>>855
どうもありがとう、勉強になりました。(858)
864774ワット発電中さん:2013/10/30(水) 23:24:40.75 ID:Ol1VePtq
>>862
どうもありがとう、勉強になりました。(858)
865774ワット発電中さん:2013/10/30(水) 23:32:38.57 ID:Ol1VePtq
ついでですが、
ソフトシリアル8ビットノーパリ1stopbit送受信で短いコードありませんか
866774ワット発電中さん:2013/10/31(木) 00:10:44.32 ID:steibKt+
>>865
とりあえず全二重か半二重かを書こうか
867774ワット発電中さん:2013/10/31(木) 00:13:31.80 ID:PH/IV0pA
ついでw
868774ワット発電中さん:2013/10/31(木) 00:14:09.12 ID:RSBJnoro
全二重でお願いします。
869774ワット発電中さん:2013/10/31(木) 00:35:22.41 ID:r0M/l7Gi
こし餡と生醤油がございますが?
870774ワット発電中さん:2013/10/31(木) 00:36:40.59 ID:mpIHacgc
羽二重餅?
871774ワット発電中さん:2013/10/31(木) 00:48:47.49 ID:PH/IV0pA
倍返しだ
872774ワット発電中さん:2013/10/31(木) 00:56:05.48 ID:RSBJnoro
858改良版、これでいけるようです。16サイクル

movf DATA,w
andlw b'00110011'
addlw b'00010001'
andlw b'01100110'
movwf SUM
rrf DATA,F
rrf DATA,w
andlw b'00110011'
addlw b'00010001'
andlw b'01100110'
addwf SUM,f
swapf SUM,w
addwf SUM,f
rrf SUM,f
movlw b'00001111'
andwf SUM,f
873774ワット発電中さん:2013/10/31(木) 01:37:13.18 ID:OcwS/6fg
255個のテーブルシャンプの方が速いと思う。ゼロはチェックし-1
org HIGH $ * 100h + 100h
addwf PCL,
retlw 0x00
retlw 0x01
retlw 0x01
retlw 0x03
retlw 0x01
retlw 0x02
:
:
874774ワット発電中さん:2013/10/31(木) 07:34:45.37 ID:nJr72avS
Enhanced mid-range限定 128個のテーブル

clrf SUM
lsrf DATA, w
call subroutine
addwfc SUM, f

subroutine
brw
retlw H'00' ; 0x00
retlw H'01' ; 0x01
...
retlw H'07' ; 0x7f
875774ワット発電中さん:2013/10/31(木) 08:03:54.86 ID:MoF4i+wD
n bit の対象に対して O(n) の解ばかりじゃんかよ
O(log n) の解を出すやつはおらんのか

プロセッサによってはpopilation count命令持っているのもあるよね
876774ワット発電中さん:2013/10/31(木) 08:04:39.83 ID:MoF4i+wD
あ、表引きは定数時間ですた ごめんなさい
877774ワット発電中さん:2013/10/31(木) 08:59:26.38 ID:RSBJnoro
Enhanced mid-rangeなら 256個のテーブルで7サイクル

movlp (look_up_tble>>8)
movf DATA, w
call look_up_tble
movwf SUM

look_up_tble:
retlw H'00' ; 0x00
retlw H'01' ; 0x01
...
retlw H'08' ; 0xff
878774ワット発電中さん:2013/10/31(木) 09:01:37.79 ID:RSBJnoro
<訂正>
Enhanced mid-rangeなら 256個のテーブルで7サイクル

movlp (look_up_tble>>8)
movf DATA, w
callw ;look_up_tble
movwf SUM

look_up_tble:
retlw H'00' ; 0x00
retlw H'01' ; 0x01
...
retlw H'08' ; 0xff
879774ワット発電中さん:2013/10/31(木) 09:21:02.73 ID:RSBJnoro
Enhanced mid-rangeでないなら 255個のテーブルで11サイクル

movf DATA, w
skpnz
goto $+3
decf DATA, w
call look_up_tble
movwf SUM

look_up_tble:
addwf PCL,f
retlw H'01' ; 0x01
...
retlw H'08' ; 0xff
880774ワット発電中さん:2013/11/01(金) 00:19:40.82 ID:YJHQiiEG
パソコン買い換えたらシリアル通信端子がなくて、USBシリアル変換アダプターでも買おうかなと思っていたら、
18F14K50一個で実に簡単にエミュレーターができたので皆さんにもお知らせ。
このサイト
http://www.pwv.co.jp/~take/TakeWiki/index.php?Arduino%2FPIC18F14K50%E3%82%92USB%E5%A4%89%E6%8F%9B%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BC%E3%81%AB%E3%81%99%E3%82%8B
の下のほうに fileUSB_Serial_Program.zip があってこのhexファイルをインポートして書き込むだけ。
たった170円でできた。あと12Mのセラロックもひつよう。
881774ワット発電中さん:2013/11/01(金) 00:50:15.45 ID:WwCF/Hfl
>>868
全二重自体見ないなあ…
作りかけの受信だけ置いとくんで適当に使ってください
serialrx:
 btfsc rxstate,0
 goto reading
idle:
 decfsz rxphase,F
 goto continue
 incf rxphase,F
 btfss GPIO,3
 goto continue
 movlw 4
 movwf rxphase
 bsf rxstate,0
 movf rxptr,W
 movwf FSR
 clrf INDF
 bsf INDF,7
 goto continue
reading:
 decfsz rxphase,F
 goto continue
 movf rxptr,W
 movwf FSR
 rrf INDF,F
 bcf INDF,7
 btfss GPIO,3
 bsf INDF,7
 btfsc STATUS,C
 goto rxdone
 movlw 3
 movwf rxphase
 goto continue
882774ワット発電中さん:2013/11/06(水) 23:39:00.76 ID:ZrFeBO2I
18F25K80なのですが、ソフト上でリセットをかけることはできますでしょうか?
うまくリセットをかける手段があればご教授を・・・
883774ワット発電中さん:2013/11/06(水) 23:58:34.81 ID:hIPBO+4k
>882
18F25Kみたいな新し目での方言まではよう知らんのやけど、RESET命令つうのがあるよ。

see http://www.picfun.com/pic18/pic18xx11.html (2)制御命令
884774ワット発電中さん:2013/11/07(木) 00:01:30.77 ID:P5j0ueGC
>>882 WDTを使う(参考ページ)
http://www.picfun.com/pic18/pic18xx13.html
885774ワット発電中さん:2013/11/07(木) 00:17:53.30 ID:P5j0ueGC
RESET Reset

構文: RESET
オペランド: なし
動作: MCLRリセットの影響を受ける全てのレジスタとフラグをリセットする。
影響を受けるステータス: 全て
エンコード: 0000 0000 1111 1111
説明: この命令は、MCLR リセットをソフトウェアで実行する。
886774ワット発電中さん:2013/11/07(木) 10:41:22.51 ID:VEtTX9ko
マイコンの勉強難しすぎるわ。
お前ら天才か!

まったく無知の俺はとりあえず計算機工学から始めたほうがええんか?
何から理解すれば分かるようになるんだ。。
887774ワット発電中さん:2013/11/07(木) 10:49:25.01 ID:5DZEgnIl
古典的な教本で勉強すると、
PICはハーバードアーキテクチャだから
混乱するんじゃね?使いながら覚えたほうが早いと思うお
888774ワット発電中さん:2013/11/07(木) 11:11:37.87 ID:94n22TSE
>>886
その方が良い。プログラムなんてどのマイコンでも大差無いから、基礎が判ってるとどれでも簡単に使いこなせる。
基礎をしらないと、出来合いのプログラムを焼くくらいがせいぜいでその先も進まなくなるし、理解出来ないで終わる。
889774ワット発電中さん:2013/11/07(木) 11:24:05.78 ID:P5j0ueGC
>>886

"マイコンの勉強"と構えるとむずかしいと思われ、

肝心なのは"マイコンを使って何がしたいか"でしょ

同じようなことを考えている人は結構いるもので、

ネットの時代なのだから、情報も盛りだくさん。

とりあえず、作りたいものの構想が浮かんだら

構想に近いものをネットで探しまくれ。

最初は(ハード・ソフトの)モノマネでもいいじゃないか。

たくさん試しているうちに知識と実力は養われるものだと思ふ。
890774ワット発電中さん:2013/11/07(木) 15:09:08.30 ID:VEtTX9ko
レスありがとう。
お前ら天才なくせに優しいなんて・・・

とりあえず見よう見まねでLチカから頑張ってみてるとこ。
また何かあったら教えてください。
891774ワット発電中さん:2013/11/07(木) 15:29:50.41 ID:O2PbZLOk
>>890
Lチカが動けば開発環境、手順、電源、設定とか正しいと思うのでひと安心だね。
それで満足してしまい込む人も多いのでガンバッテね
892774ワット発電中さん:2013/11/07(木) 15:47:14.94 ID:bQyfo5hr
C言語で作ろうとしてるがしょっちゅう;をつけ忘れるぜ
893774ワット発電中さん:2013/11/07(木) 22:53:24.69 ID:2Mu9WgNn
>>892
このまえ自然言語でメモを書いていたとき、
「お茶休憩」と書こうとして「tea break;」って書いてしまったよw
894774ワット発電中さん:2013/11/07(木) 23:04:24.65 ID:MI2D5W1n
>>893
LISPer定番のネタ思い出した。
(COFFEE-P)
895893:2013/11/07(木) 23:08:58.71 ID:2Mu9WgNn
>>894
T
896774ワット発電中さん:2013/11/08(金) 04:33:43.12 ID:Ng/gcyIH
>>889
なんで2行置きなんだ
897774ワット発電中さん:2013/11/08(金) 11:51:41.07 ID:gSGpQfg4
>>890
紙テープに一定間隔で穴開けてスイッチをオンオフできるようにしたものに
チョット毛が生えたようなもんだから難しく考えるな
898774ワット発電中さん:2013/11/08(金) 12:09:34.94 ID:/OlMGxgi
この差が ちょっと って随分巨視的な視点だなw
899774ワット発電中さん:2013/11/08(金) 20:30:32.01 ID:E5Cb9sUV
>>896
2行おき、なつかしいな。
nifty-serveとかで、時々叩かれてた奴。
900774ワット発電中さん:2013/11/08(金) 21:39:48.52 ID:wuKLGsXC
C言語でPIC開発を始めたいと思ってます。これ買っとけというような良本ありますか?
901774ワット発電中さん:2013/11/08(金) 21:46:00.77 ID:AdOZh7En
K&R
902774ワット発電中さん:2013/11/09(土) 09:12:15.38 ID:bdnWLKfI
>>900
アセンブラで始めるPICマイコン
903774ワット発電中さん:2013/11/09(土) 10:15:10.21 ID:+rWRw5li
>>900
いま本家の出した無料のコンパイラxc8がでてきて、まだいい本がでてない。
さがせばあるかなー。もう少し待つか。
904774ワット発電中さん:2013/11/09(土) 10:24:33.60 ID:YAm+1TRy
英語読めるようにした方がいいよ(´・ω・`)
英語使えると色々タダの文書読めるようになるから(´・ω・`)
後、大半のソースコードは英語文化だからね(´・ω・`)
とりあえず、マイクロチップ社のホムペにあるMCUのデータシートとERRATAから始めようか(´・ω・`)
その次にネットにばらまかれてるソースコード読めば七割位はいけると思うよ(´・ω・`)
905774ワット発電中さん:2013/11/09(土) 10:43:38.33 ID:+O0UQBlk
PIC用の書き込みアダプター探してるけど、いいのない?
906774ワット発電中さん:2013/11/09(土) 10:47:55.58 ID:1ktjXXvr
>>904
そうそう、言い忘れていたけどXC8は凄くマニュアルがわかりにくいから(´・ω・`)
インスコされた先のディレクトリにヘッダがあるけど、その記述を見て何のレジスタが何という名前の変数で扱われているかとか
後はライブラリでどのタイプの関数が定義されてるか見極めないといけないよ(´・ω・`)
同じ名前の関数で引数の数も意味もMCUの品種ごとに違うとか普通だからね(´・ω・`)
907774ワット発電中さん:2013/11/09(土) 10:49:00.28 ID:ca3HB1fs
>>904
欲しているのは日本語の解説本なのに回答なしのいつもの精神論ですか!
908774ワット発電中さん:2013/11/09(土) 10:51:54.97 ID:ca3HB1fs
>>906
老害特有のはぐらかしですかw
解説本しってるなら紹介する。知らないなら黙っていること
909774ワット発電中さん:2013/11/09(土) 12:26:11.61 ID:uLanqyYZ
>>907
日本語なんていつ言ってた?
910774ワット発電中さん:2013/11/09(土) 12:37:46.91 ID:YdgEDaB1
英語が読めないとも書いてないがな
911774ワット発電中さん:2013/11/09(土) 12:38:31.76 ID:QcAADKD7
>>907
日本語でマトモに初心者向けの本はない気がするんだけど(´・ω・`)
一番わかりやすいのがトラ技のたまにある特集記事なんじゃないかな(´・ω・`)
という所でお察し下さいとしかいえないな(´・ω・`)
912774ワット発電中さん:2013/11/09(土) 12:58:44.90 ID:Bek7wkQ9
>>907
XC8の元になってる、Hi-TECH Cのが良いと思う。
913774ワット発電中さん:2013/11/09(土) 13:08:32.16 ID:+J22AWYP
コンパイラ依存じゃない記述で書かれた本ってあるっけ?
914774ワット発電中さん:2013/11/09(土) 16:57:50.94 ID:7bhTcKMP
>>913 そりゃもちろん>>901の挙げたK&Rでね?
組み込み用途でそんなもん読んでも効率悪すぎて俺は薦めないが。
915774ワット発電中さん:2013/11/09(土) 17:13:09.11 ID:WVgowgDQ
>>914
機種依存しないならANSI-Cだろ。
K&Rの時代から関係の深い石田晴久じっちゃんのANSI-C入門書とかはいかが?
916774ワット発電中さん:2013/11/09(土) 17:39:41.34 ID:O89WDsWc
K&RでもANSI準拠の第2版しか読んでないわ
917774ワット発電中さん:2013/11/09(土) 22:02:15.02 ID:fvJ00YhF
C言語の本はK&Rしか読んだことがない。
しかしこの本は計算機のことを知っている人にしかすすめられない。
918774ワット発電中さん:2013/11/09(土) 22:19:35.20 ID:YdgEDaB1
やっぱ「はじめてのC」だろ?
919774ワット発電中さん:2013/11/10(日) 01:50:15.40 ID:ZOxRG2E5
K&RとCの入門書買ってみました!
参考意見ありがとうございました。
920774ワット発電中さん:2013/11/10(日) 14:04:14.28 ID:wpJqBh/J
C言語の学習本とPICの学習本は別の方がいいね
921774ワット発電中さん:2013/11/10(日) 14:47:21.59 ID:jAmhhy2x
>900
まだ何も初めていないなら、C言語でPIC16シリーズを選ばないほうがいいよ。
PIC18F以降、できればPIC24(dsPIC含)以降か 他メーカーのマイコンがいい。
PIC16Fは初代PIC1650(1976年製)から変わらずの古いアーキテクチャだから
C言語と相性が悪い。
922774ワット発電中さん:2013/11/10(日) 17:53:58.03 ID:WeMNtYmb
PIC16はC言語と相性以前にプログラム容量が少なすぎて超単機能ムキ
923774ワット発電中さん:2013/11/10(日) 20:30:12.42 ID:wpJqBh/J
C言語で単機能向きに書いたっていいじゃない。
Cと相性が悪いのはそのとおり!
だが初代からはハードウェアスタックが4倍にも拡張されている。
ここだけは譲れない!!
924774ワット発電中さん:2013/11/10(日) 21:46:28.63 ID:PHXqCIr9
確かに初代とミッドレンジ比べると
ハードウェア的なの除けばスタックの量が一番の改善かもなあ
ベースライン(≒初代)使ってると関数に分ける余裕なくてほとんど一本道
925774ワット発電中さん:2013/11/10(日) 22:45:32.06 ID:ZOxRG2E5
Lチカを卒業したら何を勉強したらいいんだ?
926774ワット発電中さん:2013/11/10(日) 22:56:32.23 ID:z8hjHh+S
鳴り物なんてどうよ?
927774ワット発電中さん:2013/11/10(日) 23:35:51.01 ID:ZOxRG2E5
>>926
PWMというやつですかね?次の課題にしてみます。
勉強が目的だと何をターゲットにしていくかがやはり苦しいですね。。
いろんなサンプル本に目を通して自分なりに実装を勉強していくしかないですね。
ありがとうございます。また何か意見あればよろしくお願いします。
928774ワット発電中さん:2013/11/10(日) 23:41:38.95 ID:/RfzC4Uz
18Fでも使ってソフトウェアサンプリングで
8和音ぐらいの電子オルゴールでも作ると面白いかも
タイマー割込みとPWMの勉強になる
929774ワット発電中さん:2013/11/10(日) 23:45:42.05 ID:NAiGGceN
実用的なものを作ると達成感もあっていいよ
手始めに時計とかどうよ
930774ワット発電中さん:2013/11/11(月) 00:21:12.44 ID:zKCfzeMg
とりあえず、PIC1年生で、C言語も1年生の俺のバイブル。

C言語の基本文法は
スラスラわかるC言語 岡嶋 裕史 (著)
これが、一番わかりやすかった。


PICは、コンフィグ楽するためだけの軽い気持ちでMikroCの環境を選んだので
技術評論社の2冊
Cで開発するPICモジュール・プログラム・サンプル集  稲崎 弘次 (著) と
ブレッドボードではじめるマイコンプログラミング 青木直史 著  
これらが、MikroCでの解説なので非常に便利。

MPLAB使い人は解説本もっと沢山あるんじゃないの?

俺みたいに初心者でMikroCだと結局MPLAB用の解説書を自分で解読して2度手間だけど、
開発環境的にはMikroCはとっつき易いので満足してる。

個人的にはCQ出版も良いけど、技術評論社が同じような本が沢山出てて、著者によって
プログラムの書き方など違ってかなり参考になる。
931774ワット発電中さん:2013/11/11(月) 00:49:28.04 ID:8Qco8Ojk
>>925
bluetoothを使ったポータブルワイヤレスオシロ作ろうぜ
932774ワット発電中さん:2013/11/11(月) 01:53:51.42 ID:vIrGBNSf
>>909
> 日本語なんていつ言ってた?

こいつバカだろ。
933774ワット発電中さん:2013/11/11(月) 08:48:44.03 ID:cVxlmVWu
>>929
そだね。
割り込み使ったり、7セグをダイナミック点灯したり設定スイッチチャタ取り、長押しとか色々やることがいっぱいあるので達成感あるよね。

配線数も多いし配線チェック、簡単なソフト仕様書、フロー等の設計書、デバッグとかのステップを経る楽しみ(苦しみ?)も体感出来るよね
934774ワット発電中さん:2013/11/11(月) 11:37:33.56 ID:PIqm6oWu
>>929
100均で買える物じゃ着合い入らんぞ
その点鳴り物なら大人の事情でろくな出来合い品が無いから楽しめる
問題は新設計のPICはスリープ時でも電流馬鹿食いする品種だらけってところ
935774ワット発電中さん:2013/11/11(月) 11:42:11.18 ID:PY74rLRl
>>932
そうかなぁ。国産ICでも情報量が英文マニュアルの方が
おおいことがあるから、あながち間違ったこと言ってない希ガス
936774ワット発電中さん:2013/11/11(月) 12:17:54.78 ID:R3aJffxx
よし、鳴る時計を作れ
937774ワット発電中さん:2013/11/11(月) 12:20:31.34 ID:pShkk30E
ひらめいた!

空耳アワーなる時計どうよ?

1時と言ってるようにまぁ聞こえないこともない的な。
938774ワット発電中さん:2013/11/11(月) 12:29:30.66 ID:R3aJffxx
初代とミッドレンジのほかの改良点思い出した

RETURN命令が追加されたことだ。
それまではWレジスタ いちいち破壊しないとサブルーチンから復帰できなかった。
939774ワット発電中さん:2013/11/11(月) 12:37:30.02 ID:TyZHKd5Q
教えてください。

POR...Power on Reset
BOR...Brownout Reset
LVD...Low Voltage Detect
1. この3つのうち、LVDは、減電圧検出器、いわゆるコンパレータ。
  減電圧情報だから、自分自身でRESETするわけではないと思っています。
2. PORは、電源on時に、規定電圧になるまで、Resetし続ける回路。
3. BORは、動作中に、電源電圧の瞬断を検出して、RESETする回路。
と思っています。
が、PORとBORの違いがわかりません。どちらも電圧低下でRESETするので、
どちらか一方だけあれば良いように思います。

周囲の人に聞いても、誰も明確な説明ができないので、ここで聞きました。
PORとBORの違いは、何でしょうか?
宜しくお願いします。
940774ワット発電中さん:2013/11/11(月) 12:46:29.65 ID:PY74rLRl
PORとBORの違い でggた
http://www.k3.dion.ne.jp/~digikoma/shoho/shoho15b.html
941774ワット発電中さん:2013/11/11(月) 17:01:55.51 ID:R3aJffxx
Power on Reset
電源ONを検出

Brownout Reset
電源の電圧の低下を検出
942774ワット発電中さん:2013/11/11(月) 17:25:31.44 ID:w+5wyo0K
>>939
Power on reset の場合は全ての周辺機能がリセットされる。
Brownout resetは維持される周辺機能もある。
943774ワット発電中さん:2013/11/11(月) 17:30:20.82 ID:rrhSDxFI
Brownout機能をわざわざ使うかどうか指定させるってことは副作用もあるってことか
944774ワット発電中さん:2013/11/11(月) 20:38:06.27 ID:N9UNazvU
>943
低電圧での動作が出来ない。電源電圧2Vで動作保証あってもVBORはもっと上だったりする
BOR回路で電流が消費される
945774ワット発電中さん:2013/11/12(火) 03:46:14.29 ID:jHmaO6/Y
秋月で売っているPIC USB評価ボードを買おうと思います。(安いから)
しかし、載っているPICがPIC24FJ256の100ピンのものです。
実際に使うのは16I/Oとかなので、PIC24FJ32の28ピンで間に合います。
もし28ピンのPICを使う時も、評価ボードのUSBのサンプル例は、
ヘッダとかを一部修正すれば使えるものでしょうか?
それとも、大きく書き直しになるのでしょうか。
946774ワット発電中さん:2013/11/12(火) 06:34:25.41 ID:YzOT6E7k
>>945
ほぼ使える
947774ワット発電中さん:2013/11/12(火) 10:26:08.00 ID:NihV+uHT
ありがとうございます
秋月で買います
また教えてください。
948774ワット発電中さん:2013/11/13(水) 22:53:25.21 ID:6dz42IxA
>>939
BORは、電源電圧を監視して、一定以下になったらリセットベクタに飛ぶ、一種の割り込みみたいな物。
PORはゼロから一定以上になったらペリフェラルを初期化してリセットベクタに飛ぶ。
不安定な間に処理をさせないための仕掛けですね。
949774ワット発電中さん:2013/11/14(木) 10:36:26.20 ID:wx57Y/iX
共用でいいような気もするけど。
950774ワット発電中さん:2013/11/14(木) 13:20:39.04 ID:dH0zDRLE
PICで駆動中にクロックを変化させたとき、_XTAL_FREQを再定義するのは不可能でしょうか?
__delay関数を自作して周波数ごとに対応させた方が無難でしょうか?
951774ワット発電中さん:2013/11/14(木) 15:29:45.09 ID:rd1jCwhF
コンパイルするときに定義した周波数でdelayの処理の量調整してて動作中に計算してる訳じゃないんじゃ?
952774ワット発電中さん:2013/11/14(木) 15:52:44.98 ID:BEZaCtUT
定数が実行中に変化するわけなかろう
953774ワット発電中さん:2013/11/14(木) 18:07:34.19 ID:Oixy44t6
PIC10F222ってFOSC4ピンからクロック出してコイルにつないだ外付けトランジスタ駆動して
ADコンバータで出力電圧監視すればDC-DCコンバータ作れるんじゃね?と思った
外付けトランジスタ使うんならDCコンバータIC使ったほうが手っ取り早いかと思って考えるのをやめた
954774ワット発電中さん:2013/11/14(木) 18:50:51.94 ID:cUAsK+IZ
動的に電圧を変更したくて3回路のチャージポンプをPICから制御したことならあるよ
PWM使った作例ならトラ技にも載ってたはず
955774ワット発電中さん:2013/11/14(木) 19:13:31.20 ID:BS8T6Tdi
PICkitはPWM使って書き込みに必要な電圧を作ってるよ
956774ワット発電中さん:2013/11/14(木) 22:04:32.84 ID:dH0zDRLE
>>951-952
やっぱそうですよね
クロックを切り替えるプログラムではデフォルトの__delayは使わないってことで合ってますか?
アセンブリでは作ったことあるんですが、Cでdelay作ったこと無かったんで不安
957774ワット発電中さん:2013/11/14(木) 22:18:02.33 ID:mvPgAN14
クロック比が分かってるならいくらでも使える
958774ワット発電中さん:2013/11/14(木) 22:28:40.37 ID:9e35KcP5
C言語で勉強始めたんですが
コンフィグレーションビットの設定はMPLABの機能かはなんとか分かったんですが、レジスタの設定などはデータシートを見て設定していくのでしょうか。
どうプログラミングを進めていけばいいのか分かりません。。
何か参考になるものないでしょうか。
959774ワット発電中さん:2013/11/14(木) 22:56:17.23 ID:7u7GPeU4
データシート見てやってます。
データシートに設定の流れや、プログラミング例も載っているよ。
960774ワット発電中さん:2013/11/14(木) 23:43:01.55 ID:MziWFjO3
次のスレたてました。

pic初心者のスレ その2
http://uni.2ch.net/test/read.cgi/denki/1384440032/
961774ワット発電中さん:2013/11/14(木) 23:44:47.52 ID:S0TYW1ti
>>1
962774ワット発電中さん:2013/11/15(金) 10:16:38.06 ID:W3VMYSjH
降圧DCコンバータはいい専用IC沢山あるけど
昇圧はあんまりない
PICでPMTで昇圧も良いプログラムも簡単だし
963774ワット発電中さん:2013/11/15(金) 14:19:07.79 ID:N62hUfJ6
>>953
PSoCでやったことならあるな。
スレッショルド電圧を決めてPWM出力のON/OFFをするのが全部PSoCブロック
だけで出来てしまうので、初期設定したらCPUは何もすることが無い。
暇でしょうがないんで、出力電圧をA/DしてLCDに電圧表示させてた。
964774ワット発電中さん:2013/11/15(金) 14:26:14.39 ID:W8ocMbVV
>>963
参考までにPSoC1です?
またPSoC1でも出来ます?
965774ワット発電中さん:2013/11/15(金) 15:20:45.28 ID:RBICaWdg
>>963
ツボにはまると何十個ものアナログ部品で組んだ回路が1チップでできるけど
ドツボにはまるとさぁ大変
966774ワット発電中さん:2013/11/15(金) 16:13:35.63 ID:rGFecQA3
どじょうがでてきて こんにちは
ぼっちゃんいっしょに あそびましょう
967774ワット発電中さん:2013/11/16(土) 17:24:04.63 ID:M1enCUrZ
>>961
もちろん、PSoC1。そのくらいは結構簡単。
968774ワット発電中さん:2013/11/17(日) 10:08:25.22 ID:6tKWo0NV
PSoCは性能が中途半端だから、出番が余り無い。
969774ワット発電中さん:2013/11/17(日) 19:09:41.77 ID:NKLAmBDz
いや、逆にその中途半端さ故に何かとお役立ちなんだよね。
970774ワット発電中さん:2013/11/17(日) 19:23:34.61 ID:Mcygs+CB
出来の悪い子ほどってやつか
971774ワット発電中さん:2013/11/17(日) 22:20:22.33 ID:Qf2U9SCZ
皆さんはどこで買う派ですか?
私は秋月ですが、ちょっともう少し高性能なやつを探してみたいなと...。
972774ワット発電中さん:2013/11/17(日) 23:50:13.92 ID:kqCIpGcj
で、何を作るかなんだが?
973774ワット発電中さん:2013/11/18(月) 09:19:42.05 ID:NKRIArst
当然、ライタだぬ
974774ワット発電中さん:2013/11/18(月) 18:58:30.91 ID:hlj8SuJB
>>971
RSとか個人で買っても文句言われないし品揃え豊富ですね。
少し高い気がしなくもないけどw
975774ワット発電中さん:2013/11/18(月) 19:09:19.61 ID:Sy+eHWOM
>973
欲しいものが貯まれば digikey。秋月はやっぱりなんでも揃っている
わけではないので。

>974
RS は比較的割高なものが多いけど台湾製の VCTXO に限っては
とても安いですね。そのうち買おうと思っています。
976774ワット発電中さん:2013/11/18(月) 23:43:20.36 ID:Gmcl+H/v
32bitマイコンのレジスタを2進数で入力しようとしたら
b'00000000000000000000000000000000'
こんな長くてウケたw
977774ワット発電中さん:2013/11/19(火) 00:14:04.41 ID:UdTO6pGD
sc1602bの電源をPNPトランジスタで制御しようとしたら
http://fwba1337.board.coocan.jp/?t_id=36
こんなことになってしまうんだけどなんでだろうか
とりあえずベースはずっとLOにしているんだけど
5V直入れにしたらちゃんと動くのでTrのせいだと思うが
978774ワット発電中さん:2013/11/19(火) 00:32:14.48 ID:i9tIiN5m
>>977
まず疑うのはトランジスタのピン配置の勘違いかなあ。top viewとbottom viewは良く間違える。
石の型番は?あと回路図も。
979774ワット発電中さん:2013/11/19(火) 00:37:09.50 ID:kwMsHEQn
>>977
コントラストの処置はやってるのかな??
980774ワット発電中さん:2013/11/19(火) 00:59:27.78 ID:dRJ0n5J2
初期化したあとに電源立ち上げてしまってるとか
立ち上げから初期化までのウェイトが短すぎるとか
981774ワット発電中さん:2013/11/19(火) 07:17:28.39 ID:PHOqKzqj
表示の出来てなさ(?)からみて初期化失敗の様だけど、
変更点が5V→3.3Vのみだとすればタイミングだけじゃない?
982774ワット発電中さん:2013/11/19(火) 15:12:52.55 ID:xvPQm9Gt
>>977
LOがもしGNDレベルの意味なら、動かないかも。
(ベース電流流しすぎ)
983774ワット発電中さん:2013/11/19(火) 22:10:54.49 ID:UdTO6pGD
>>978
2SA1015で正面視でECBですよね?

>>979
コントラストは抵抗で分圧して上流をTrにつなげてます

>>980
電源入れてから2秒待ってlcd_initしてもだめだったので・・・

>>981
変更点はないつもりなんですが・・・Vccは4.96Vが4.90Vになってましたが
さほど変わるとは思えないのですが。

>>982
それですか。抵抗変えてみます。PICからベースまで1k、5Vからベースまで
1kにしていました。流しすぎるとなぜ動かないのですか?
984774ワット発電中さん:2013/11/19(火) 22:14:52.08 ID:UdTO6pGD
ところでsc1602でもう一つ質問なのですが、電源をPICで制御するときに
信号線も全部LOにしとかないといけないんでしょうか?電源切っても
Vccに3.7Vぐらいかかっていて電流が切れないのですが・・・
985774ワット発電中さん:2013/11/19(火) 22:40:43.44 ID:8FBdyuMq
>984
もうちょっと回路がわかるように説明してもらわないと…
回路図を書いて画像化してアップローダーに放り込むとか
できないでしょうか。
986774ワット発電中さん:2013/11/19(火) 23:00:03.63 ID:UdTO6pGD
http://imgur.com/vjbKgKK

こんな感じです。よろしくお願いいたします。
987774ワット発電中さん:2013/11/20(水) 00:03:00.64 ID:8INwZBx7
CE間に0.1uF積層セラコン入れたら動くようになった。
電源ONのタイミングが微妙に遅かったってことなのかな
988774ワット発電中さん:2013/11/20(水) 00:18:25.74 ID:ccP++kL1
>>984
ベース電流流しすぎると、hfeが下がるしVCEが大きくなりやすい。
電源容量小さい場合は、ベース電流で消費されてしまい、コレクタ側への
電流減ってしまう。1k入っていれば大丈夫と思いますが。

>>987
2SA1015という事は、たぶんTrのic小さすぎるのかと。
LCD駆動する為に、sc1602内部でチャージポンプで昇圧してるので
平均電流は小さくても、パルス的には電流ながれる。
0.1uFのおかげでパルス電流がパイパスされたのかと。
989774ワット発電中さん:2013/11/20(水) 00:46:04.72 ID:8INwZBx7
>>988
なるほど、後でオシロで見てみます。Icが足りないとは思いませんでした。

>>984ですが、信号線は全部LOにしないといけないみたい。
LOにしてLCD関連は全部切れたようだ。しかしまだ14mAも電流食ってる。
スリープさせるしかないみたいだな。1ケタ前半なら我慢しようかと思ったが。
990774ワット発電中さん:2013/11/20(水) 03:06:24.61 ID:sG1FfZMc
>>989
信号線に電圧がかかってると、LCD制御ICの保護ダイオードを通して電源
が供給されてしまい、LCDモジュールのパワーオンリセットが働いてなか
った可能性があるな。
991774ワット発電中さん:2013/11/20(水) 03:11:09.03 ID:sG1FfZMc
>>987
そういう理屈に合わないことをやって、たまたま動いても解決になってない
からやめた方がよい。オフ時にコンデンサにチャージされていた電荷がトラ
ンジスタがオンになったときに一度に流れてトランジスタを劣化させる。
992774ワット発電中さん:2013/11/20(水) 07:15:34.37 ID:Y7r6U0OC
>987
普通は C-E 間より C (= LCD の VDD)-GND 間にパスコンを入れるんじゃ
ないでしょうか。
993774ワット発電中さん:2013/11/20(水) 07:30:00.79 ID:ppReFmoU
>>974-975
ありがとうございます。
今回は手っ取り早くRSを使ってみました。
beaglebone blackについついそそられポチってしまったのが決定要因ですがPICも2つ買ってしまいました。
明日くらいに物が届くな

他の店もそのうち使わせてもらうかもしれません。
994774ワット発電中さん:2013/11/20(水) 10:10:13.48 ID:Q6DQNnVJ
SC1602の信号線はプルアップされてる
何本もHiレベルだと電源切れません
995774ワット発電中さん:2013/11/21(木) 00:10:27.51 ID:OTetGMlM
もしかしてPIC24以降じゃないとAD変換高速じゃないのか
996774ワット発電中さん:2013/11/21(木) 02:09:57.71 ID:ZTa7cmSC
>>986
1.電源はパワーMOS FET使う方がスマート
2.電源落とすときは、制御ポートのトライステートレジスタ(例えばTRISAとか)の
該当ビットを‘1‘にして、プルアップ抵抗経由で液晶の電源が入らないようにする。
電源いれたら‘0‘に戻す
997774ワット発電中さん:2013/11/21(木) 06:24:00.68 ID:QQTradBp
>>996
電源制御後、少し間を置くまで、Hi-Z(入力)の方がよかないか?とド素人考え。
998774ワット発電中さん:2013/11/21(木) 06:36:36.28 ID:+8GH7m1e
>>996
プルアップ抵抗経由より保護ダイオード経由の方が大きいと思うけど
999774ワット発電中さん:2013/11/21(木) 07:15:46.42 ID:g9xXFTDZ
 
1000774ワット発電中さん:2013/11/21(木) 14:53:15.77 ID:F54rdZIJ
教えてください。
PICでA/D変換してアンドロイド携帯にUSBで送りたいです。

USBはやったことがないのですが、USB機器にマスターとスレーブがあるのでしょうか?
携帯との場合、PICがマスターでいろいろと手当をしてあげないといけないでしょうか?
PIC ICはマスターとスレーブどちらにもなれるのでしょうか?
それともマスター用PICを買うのでしょうか?
すみません、よろしくおねがいします。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。