初めてのPICスレ

このエントリーをはてなブックマークに追加
116C84
PICをさわるのは今日が初めて、という超初心者のためのスレです。
誰でも最初は不安なものです。恥ずかしがらずに何でも聞いてみてください。
速攻でレスがあるハズです。(深夜〜早朝を除く)

PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。

PIC専用のスレ
本家本元のPICスレです。PICを知り尽くしたエキスパートがたくさんいます。
毎日活発な意見を交わしています。
このスレの話がわかるようになれば、あなたはもう一人前のPICerです。

pic初心者専用のスレ
タイトルのPICが全角で書かれていることからもわかるように、初級〜中級のスレです。
PICの扱いに慣れてきて、ハードゥエアも自作して見たい人や、使い方のコツが知りたい人が
気軽に質問できます。
2774ワット発電中さん:2013/11/17(日) 03:35:58.15 ID:8dlKoh8N
電子工学者との初めてのエッチはレモン飴の味がした
3774ワット発電中さん:2013/11/18(月) 13:30:35.06 ID:Ido7cxDu
PICやってみたいです。
4774ワット発電中さん:2013/11/18(月) 17:04:17.10 ID:jGM3P8mH
電子工学者とやってみたいです。
5774ワット発電中さん:2013/11/22(金) 22:41:32.44 ID:z6kc4Cjw
 
6774ワット発電中さん:2013/11/23(土) 20:46:40.26 ID:34RaMVWc
ひとりでPICしてます。
7774ワット発電中さん:2013/11/24(日) 03:16:43.03 ID:d4gxwBg6
まずは、LED点滅から。
8774ワット発電中さん:2013/11/24(日) 03:33:12.79 ID:UpMEGBTG
必要なものは、
・PIC
・電池
・抵抗
・LED
・0.1uF パスコン
9774ワット発電中さん:2013/11/24(日) 09:52:24.34 ID:Y1Kffq4p
なんでこのスレたてたんだろ。二つあるから十分だとおもうけどな。
質問者がからかわれるのがいやだったから「初めての」とつけて
ハードルさらに下げたのかな。
10774ワット発電中さん:2013/11/24(日) 13:25:09.32 ID:UpMEGBTG
>「初めての」とつけてハードルさらに下げたのかな。
そうでしょ。
初めてやる人は、何が何だか、訳がわからないので、
あっちのスレで質問すらできないからでしょう。
11774ワット発電中さん:2013/11/24(日) 18:52:27.55 ID:CW6GAMLn
>>1 回答者は初心者でなくておk
と書いとけ。
回答者が現れないぞ。
12774ワット発電中さん:2013/11/27(水) 03:43:49.25 ID:EVtzBEHW
PIC24FJシリーズの、日本語データブックは無いでしょうか?
13774ワット発電中さん:2013/11/27(水) 13:04:03.12 ID:9Bm6HbFS
はい
14774ワット発電中さん:2013/11/27(水) 17:00:06.12 ID:/nFhB44O
リファレンスマニュアルなら
http://www.microchip.co.jp/download/index.php?Mode=4&CategoryID=8143159b1f8d4037fe71ab10805adec1cd2fd97c

品種によって、日本語のデータシートもあったと思う。
15774ワット発電中さん:2013/11/28(木) 00:31:49.08 ID:w9yZ/ITH
USB付きのPICをホストとして使いたいです。
USB I/Fのプログラムを書かないといけないと思うのですが、
みなさん、USBの規格の本を読んで設計するのでしょうか?
それとも、どこかに出来合いのUSB I/F部分があるのでしょうか?
16774ワット発電中さん:2013/11/28(木) 00:47:09.04 ID:Fkiz1ORF
オフィシャルサイトにサンプルがあるからそれを改変が一番楽だと思うよ。
17774ワット発電中さん:2013/11/30(土) 03:04:32.52 ID:VfSDtcuN
>>16
ありがとうございました。
早速見てみましたが、結構 ムツカシソウ デスネ.....
18774ワット発電中さん:2013/12/01(日) 07:18:58.79 ID:16zHPqqD
MPLAB SIM走らせてたんですが、bsf, bcfが意図通りの設定されないです。
以下のコードでDSTが2にならないのは何故なんでしょう?

LIST P=PIC16F84A
INCLUDE P16F84A.INC

__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF

DST equ H'0C'
LOC equ H'0D'

ORG 0
INIT
clrf DST
movlw H'01'
movwf LOC
bsf DST,LOC
end
1918:2013/12/01(日) 07:40:03.79 ID:16zHPqqD
解決しました。余りにアホでした。
20774ワット発電中さん:2013/12/01(日) 11:10:04.09 ID:Z+DIiSgx
このスレは そういうスレなんで大丈夫。
頑張って
21774ワット発電中さん:2013/12/03(火) 02:42:36.94 ID:oz3gFnkQ
bsf bcfは定数しか受け付けないぞ
22774ワット発電中さん:2013/12/06(金) 07:48:45.40 ID:k2aHmQNh
予想外のところで勘違いしてる可能性もあるわけだ
人に教えるときは気をつけないとな
23774ワット発電中さん:2013/12/14(土) 05:39:41.13 ID:o/43UWWy
PICの開発環境、MPラボX の使い方を書いた本はありますか?
24774ワット発電中さん:2013/12/14(土) 22:55:16.48 ID:uM4iou1g
25774ワット発電中さん:2013/12/15(日) 01:34:53.76 ID:iojD5l4S
こんばんは
PIC24FJ64GB002を使ってUSBの機器を作りたいです。
PICの足で、VBUSというピンがありますが、このピンの役目がわかれません。
USBのコネクタの電源に綱いでいるようですが、内部の3.3Vではいけないのでしょうか?
26774ワット発電中さん:2013/12/17(火) 07:19:32.03 ID:5f0oyzjd
USBバスパワーは5Vだからと勝手に思ってる。
俺も同じチップをちょいと、前にRSで買ったよ。
27774ワット発電中さん:2013/12/23(月) 18:09:42.40 ID:GUxyiZef
PICの中で、
低速でもいいので 12,14,16bitなどのD/Aコンバータが
入っているシリーズはありませんでしょうか?
そんなD/Aが入っているなら、44ピンとかのQFPでもいいです。
28774ワット発電中さん:2013/12/23(月) 20:31:27.63 ID:M2RiRYjh
Microchip Advanced Part Selector
によると10の次は16しかないな…。
次は自分で調べような。
29774ワット発電中さん:2013/12/23(月) 22:25:09.77 ID:GUxyiZef
>>28
ありがとうございます。

>によると10の次は16しかないな…。
そのページで探すと、D/Aにbit数の選択は無いみたいです。
ch数が4まで選択できるだけみたいですが、
(Vref+ - Vref- 間)を32段階に分割するしか無いのでしょうか。
30774ワット発電中さん:2013/12/23(月) 22:29:31.48 ID:M2RiRYjh
>>29
あ、自分で調べてほしいからって削りすぎてたな…。
D/Aの項目のカテゴリの左上に小さく展開できるマークがあるでしょ?
そこ開いてみ?
細かく見たい項目はこうやって探すみたい。
31774ワット発電中さん:2013/12/24(火) 00:56:59.97 ID:cZ000DPI
ありがとうございます。
小さな+で、気がつきませんでした。
早速調べて見ます。どうもありがとうございました。
32774ワット発電中さん:2013/12/24(火) 02:56:20.26 ID:t8yWwtWf
俺も以前はあの表示に気がつかなかった。
そうでなくてもたくさんの項目が表示されているので、
これで全部だろう、と勝手に思ってしまった。
PICのバリエーションは、AVRの比ではないな。

DSPの積和モジュール
UART, SPI, I2Cなどの通信モジュール
USB、TCP/IPなどのモジュール
ADコンバータ14bit
DAコンバータ16bit
プログラマブルRESET IC
RAM, ROM, EEPROM
ここまで入ったてんこ盛りPICを埋め込んで、あとはピンに出すか出さないかでも
たくさんのバリエーション展開できそう
33774ワット発電中さん:2013/12/25(水) 07:35:28.18 ID:u9wSDLxJ
すいませが質問させて下さい
12F1822でtmr0をフリーランさせてtmr0割り込み許可のままADCしようとするとtmr0が止まってしまうんですがそういうものなんでしょうか リビジョンはa4でした。
Adc入るまではデバッグでtmr0動作は確認済みです。adc系さわると止まるみたいなんですが tmr0が止まってもADCはちゃんと動いてるみたいです。何か知っておられたらアドバイスお願いします。
34774ワット発電中さん:2013/12/25(水) 10:42:59.96 ID:CRviunrJ
ソースを見せてくれませんか?
35774ワット発電中さん:2013/12/25(水) 11:11:01.98 ID:kLPcN7px
INTCON壊してるとかじゃね?
割込中に値を変えるレジスタを
割り込み外で操作するときに、割り込み禁止してるけ?
36774ワット発電中さん:2013/12/25(水) 12:43:07.78 ID:nKIhO3no
ソース貼るとパタッとレスが止まったりするから無駄無駄
AD変換が終わんないバグあり品で変換待ち中にWDTリセットとかかな
ていうか1822にA4なんてリビジョンあっけ
37774ワット発電中さん:2013/12/25(水) 14:10:50.65 ID:u9wSDLxJ
返答ありがとうございます。
最初の宣言が間違っていました。
徹夜なっちゃって今起きてソース確認したら、、、
Org 0x00
Goto ini
Org 0x04
Goto _int
;-------------
_int
clrf bsr
bcf intron,gie
て続くとこが
Org 0x00
Goto ini
Bra 0x04
Goto _ini になってました。
この後に割り込みの処理書いてるんで中途半端に割り込みが動いてみたいです。
お騒がせしてすいませんでした。
あとリビジョンは確かにa6でした。ご指摘通りです。
38774ワット発電中さん:2013/12/25(水) 18:34:16.43 ID:3d1zITb2
>>37
レベル高いね。話の内容がサッパリわからん。
39774ワット発電中さん:2013/12/25(水) 20:49:59.64 ID:4LGqd8d6
>38
割り込み時に4番地に飛ぶ仕様の筈だから
三番地のclrf bsrが無視された動作をしてたってことでそ
40774ワット発電中さん:2013/12/26(木) 14:19:05.46 ID:peUiW+i8
>>39
番地がビックエンディアンに
なるはずなくね?
新手のギャクか?
41774ワット発電中さん:2013/12/26(木) 16:42:13.58 ID:rj0rs93j
0x00番地 Goto ini;Org 0x00 宣言の直後だから
0x01番地 bra  0x04
0x02番地 Goto _ini
0x03番地 clrf bsr; <--- ここのラベルが_int
0x04番地 bcf intcon,GIE; <--- ここに割り込み時飛ぶ

なぜこうなるかというと、picは、あれで何気にハーバードアーキテクチャーだから
H8とかとはちがって命令用のメモリ空間は14bit長で
ファイルレグなどとは独立して保持してあるんですおっ おっ (^ω^ )
42774ワット発電中さん:2013/12/26(木) 17:23:27.04 ID:uozIfevL
ファイルレグ って、何?
43774ワット発電中さん:2013/12/26(木) 19:07:35.43 ID:peUiW+i8
>>41
bra  0x04

org 0x04
にパッとみで見えたw
44774ワット発電中さん:2013/12/26(木) 20:53:21.84 ID:+ujpezCj
>42
ファイルレジスターのことそう呼ばない? おいらの誤読かも(蒼白
45774ワット発電中さん:2013/12/26(木) 22:10:12.02 ID:uozIfevL
>>44
ファイルレジスタじゃなくて、レジスタファイルじゃない?

しかも、そんな省略した言い方しないよ。

レグって何、言うなら、レジだと思うけど。
46774ワット発電中さん:2013/12/26(木) 22:49:01.35 ID:+ujpezCj
>45 あー…そうなのかな? ごめん、マイクロコンピュータの一般論は
おいらよく知らんで(一般論としては)そう呼ぶのが
もしかしたらポピュラーなのかもしれないけど
Microchipのドキュメント読んでもらえばわかるけど
PICの場合は(特殊機能の以外の)汎用レジスタを file register っていうんですお

たとえば http://ww1.microchip.com/downloads/jp/AppNotes/00544d.pdf 
の15ページのコード例とか見てもらえばありますけど、FileReg などと略しますし御寿司
47774ワット発電中さん:2013/12/27(金) 01:58:29.87 ID:y2hLEqin
>>46
FileReg → ファイルレジ
48774ワット発電中さん:2014/01/01(水) 02:46:13.35 ID:fHBbp/5D
あけまして おめでとうございます。

 本年も、初めてのPICスレを 宜しくお願いします。
49774ワット発電中さん:2014/01/02(木) 03:57:50.98 ID:vZfL3L+b
モンスターズインシとかハーバードユニビとか言っちゃって
コミュニケーション障害起こしてそうな人だな
50774ワット発電中さん:2014/01/02(木) 09:04:00.29 ID:XR+d+j5m
元の母音を復元しろという主張のようだから
それを言うならモンスターズインコとかハーバードユニヴァじゃね?
いや、俺はそう読まないけどw
51774ワット発電中さん:2014/01/02(木) 12:05:01.71 ID:vVgVWQg8
会社の英語表記に出てくる、xxx Co, Ltd って、
意味は株式会社だと思うのですが、
・何と読めば良いのでしょう? コーリテッドという人もいますが。
・フルスペルは何でしょうか? 
52774ワット発電中さん:2014/01/02(木) 14:52:18.14 ID:tPBqCjX/
カンパニーリミテッド

カンパニー=100円出すから稼いで1000円よこせという欲深いものの集まり
リミテッド=会社の稼いだ利益は俺たちのもの でも会社がなんか社会にやらかしても
俺たちの責任は俺たちが出した金がちゃらになるだけであとはしらん 必要なら
税金使ってくれ

の意味

ってPICとあまり関係ないな
53774ワット発電中さん:2014/01/02(木) 15:46:19.29 ID:YGzdvIcB
分かりやすい説明だね
54774ワット発電中さん:2014/01/02(木) 20:14:09.21 ID:U/9G3Qnm
全くの素人がパクリ元無しでCaptureいじろうなんて甘かった・・・
とりあえず割込み使わずに作り直そう
55774ワット発電中さん:2014/01/02(木) 21:00:47.63 ID:vVgVWQg8
割り込みって、とても便利な機能なんだけど、ソフトの1つのハードルだよね。
マスターすると、マイコンの機能を十二分に使うことができる。

ただ、多重割り込みは、さらに1つ上のハードル。
難しいテクニックの1つ。
56774ワット発電中さん:2014/01/03(金) 00:14:10.28 ID:whXQwngF
>>55
マルチタスクなら、すごい難しいが、
シングルタスクならたいしたこと無い。
57774ワット発電中さん:2014/01/03(金) 01:08:34.51 ID:M4YABj7m
>シングルタスクならたいしたこと無い。
なるほど、マルチタスクは難しそうですね。
シングルタスクで、タイマー割り込みとRS232C受信割り込みの同時発生のとき
悩んだ記憶があります。
5854:2014/01/03(金) 22:05:38.33 ID:XVL7/Eqz
ほぼ1日かかって対処完了
割込み無しで組んで一応動く→数値が時々暴れる
(ここで今朝から頭を抱える)
夕飯後、問題点は放置して機能追加のつもりでTimer1オーバーフロー割込み処理に挑む
→今度は無事成功、しかも放置したはずの問題点まで消えてる!

結局、割込み処理出来ないとだめだったんだな・・・
59774ワット発電中さん:2014/01/04(土) 01:17:36.20 ID:xmThj8sJ
>>57
UARTはPIC16でも1文字分のバッファあるから、次の1文字を
受信し終わるまでに、タイマー割り込み処理終わらせれば問題なし。
60774ワット発電中さん:2014/01/04(土) 02:46:40.03 ID:dxa9VH95
でもタイマー割り込みの中で、時間計算や7セグメントの表示処理を行うと、
間に合いません。
タイマー割り込みでは、最下層の++とフラグonたけにするのでしょうか?
61774ワット発電中さん:2014/01/05(日) 08:13:57.10 ID:AsDqr2Gi
>>60
割り込み処理の中では、最低限の処理だけをするのが基本。
それでも間に合わなければ、クロック周波数上げれるだけ上げて、
UARTの通信速度を必要最低限まで落とす。
62774ワット発電中さん:2014/01/05(日) 13:00:25.20 ID:np3+oTts
>>61
ありがとうございます。
>クロック周波数上げれるだけ上げて、
>UARTの通信速度を必要最低限まで落とす。
クロックはすでに20MHzで上限で、通信レートは相手機器の制限で下限にありました。
63774ワット発電中さん:2014/01/05(日) 15:16:40.51 ID:MASRrBvy
まさかとは思うけど, その時間計算って
定間隔割り込み用の時定数を
割り込み中に算術ルーチンで
計算していたりはしないよね^^;
64774ワット発電中さん:2014/01/05(日) 15:41:38.97 ID:MASRrBvy
7セグ用パターンに変換する処理の事なら
パターンはPCLに加算するジャンプテーブルに
RETLWで規定定数を返すルーチンで数ステップだから
割り込みないでもOKと思われ。

タイマーICのデータを表示用数値に変換する処理は
割り込み外のメインループのアイドルループ内で常に
最新の値に更新させておけば?
65774ワット発電中さん:2014/01/10(金) 09:54:51.32 ID:LTN661GV
はじめてpicをやりたいのですが、8ビットと16ビットの、どちらが良いでしょうか?

8ビットで255以上の数値は
66774ワット発電中さん:2014/01/10(金) 09:55:49.93 ID:Rr4eYkjc
Hレグと
Lレグにわけて扱います。

算術ルーチンはマイクロチップの公式サイトからダウンロードできますお
67774ワット発電中さん:2014/01/10(金) 11:09:41.67 ID:LTN661GV
レグって何でしょうか?
68774ワット発電中さん:2014/01/10(金) 11:53:37.77 ID:Rr4eYkjc
ファイルレジスタの事です。
FileRegとも略されるのでこのスレではレグと呼んでいますお

ちなみにハイバイト、ローバイト用にどのレグを割り当てるかはルーチン次第です。
算術ルーチンはソース形式で公開されていますので定義部を書き直せば
(悪影響のない範囲なら)好きな位置に配置できますお
69774ワット発電中さん:2014/01/10(金) 16:26:43.95 ID:cjRuUoeJ
>>68
>>45にもあるように、レジスターなのになぜレグなん?
あと、語尾に「お」付けるのやめたら? 賢い人なのに、バカに見える。
70774ワット発電中さん:2014/01/10(金) 19:44:49.26 ID:1T+GtLxo
そりゃ英語でREGと略してるからだな。
レジと呼びたきゃ日本語でレジと略すことだ。
71774ワット発電中さん:2014/01/10(金) 19:55:59.37 ID:1T+GtLxo
えー、と思ったけどグーグル翻訳さんもファイルレグと読んでくれるな・・・
72774ワット発電中さん:2014/01/12(日) 09:48:47.95 ID:uMKTpG7C
>>69
かっこいいと思ってるんだから、ほっといてやれよ
73774ワット発電中さん:2014/01/12(日) 10:27:22.01 ID:HS+khRw+
モンスターズインシ
74774ワット発電中さん:2014/01/12(日) 11:33:41.52 ID:FEw8iF/H
PICとUSBをつなぎたいのですが、線でつなげばいいと思います。
75774ワット発電中さん:2014/01/12(日) 14:14:28.26 ID:U/jKka69
>>74
ほうほう、それで?
76774ワット発電中さん:2014/01/12(日) 14:54:24.68 ID:Ue9EZ1QH
>73
いや、インクでしょ。
元発音くんの場合ならモンスターズインコでしょうけど
77774ワット発電中さん:2014/01/12(日) 22:11:09.18 ID:iL6RfIWT
>>74
ん?
78774ワット発電中さん:2014/01/13(月) 02:35:21.26 ID:1jMnFyLP
質問です。

ソフトウェア、ハードウェアは理解できるのですが、
ファームウェアの立ち位置がわかりません。
ソフトウェアと何が違うのでしょうか?
79774ワット発電中さん:2014/01/13(月) 11:24:05.11 ID:hciA7mjP
ソフトウェアの中のファームウェアじゃね
80774ワット発電中さん:2014/01/13(月) 12:01:41.26 ID:rLbzAfKi
本来はマイクロプログラミングのコードを指す言葉の筈なんだけど
最近はユーザーが明示的にロード指示をせずに
自動的に読み込まれる類のものが、そう呼ばれている気がする。
81774ワット発電中さん:2014/01/13(月) 16:48:22.85 ID:0HYBzY4v
>>80は、誰に言ってるの?
82774ワット発電中さん:2014/01/13(月) 19:38:02.20 ID:rLbzAfKi
firmwareのことだお
83774ワット発電中さん:2014/01/13(月) 20:26:21.42 ID:0HYBzY4v
語尾に お 付けるの、やめようよ。
84774ワット発電中さん:2014/01/13(月) 22:14:12.49 ID:rLbzAfKi
firmwareのことだし (^ω^)
85774ワット発電中さん:2014/01/24(金) 02:54:17.03 ID:rGp9GrRR
おおお。
なぁにむしろ耐性が付くんだお。
86774ワット発電中さん:2014/01/24(金) 03:36:04.80 ID:x6FPWCNk
語尾に お 付けるの、やめようよ。
面白がって、わざとやってるの?
87774ワット発電中さん:2014/01/24(金) 07:06:28.86 ID:X0shPpc3
おおきなおせわだお
88774ワット発電中さん:2014/01/24(金) 14:03:04.25 ID:skUWVAFr
firmwareのことだってばよ
89774ワット発電中さん:2014/01/24(金) 15:20:12.99 ID:/wYL5xcH
にょ
とか
りゅん
よりは
90774ワット発電中さん:2014/01/25(土) 00:51:00.50 ID:aYG+uzAF
firmwareのことだギョギョギョ☆
91774ワット発電中さん:2014/01/25(土) 03:52:25.79 ID:v7tbO863
このスレ、頭悪そうな人がいるね。
普通に話せないのかしら
92774ワット発電中さん:2014/01/25(土) 04:46:52.55 ID:X2qNj3Hv
スルーするのがいちばん

たいした内容でもないし
論戦じゃなく、変なの出現すると過疎るのが技術系スレの宿命
93774ワット発電中さん:2014/01/25(土) 14:34:37.97 ID:+gJmDrna
結局、ファームウェアとは、ソフトではないのでしょうか?
94774ワット発電中さん:2014/01/25(土) 15:48:25.22 ID:c4zhAl78
ハード密着型ソフトだお
頭悪い人は何も答えてないんだお
95774ワット発電中さん:2014/01/25(土) 17:16:43.33 ID:PyOfkqVM
firmは「硬い」の意味だけど、ニュアンスとしてはHardの方がより硬い。
鉛筆でもH → F → B だし。
というわけで、Hardwareと、Softwareの間にあるのが Firmware。
96774ワット発電中さん:2014/01/25(土) 20:41:50.68 ID:aYG+uzAF
>>91
英国に行けば英語で話す人と
英国でも日本語を話し続ける人は
どちらの頭がよいのでしょうか?

(2ちゃんで2ちゃん語を話す人と
2ちゃん語の発話者に粘着し続ける人とでは
どちらの頭がよいのでしょうか?)

バカにも解るように教えやがってくだしあ!!(^p^)
97774ワット発電中さん:2014/01/25(土) 22:27:20.70 ID:P5S3/5XY
>>96
> >>91
> 英国に行けば英語で話す人と
> 英国でも日本語を話し続ける人は


どうゆう状況なの?
誰に日本語で話すの?
98774ワット発電中さん:2014/01/25(土) 22:40:15.00 ID:aYG+uzAF
英国にいって現地にいる毛唐どもに向かって話しかける状況とお考え下しあ。

(わざわざ2chでミクシーゆーざーに向かって呼びかける人はいないと思います)
99774ワット発電中さん:2014/01/25(土) 23:25:54.98 ID:P5S3/5XY
当然通じないわけだが、それでなにがわかるの?

たとえばタイじゃだめなの?英国じゃなくて。
100774ワット発電中さん:2014/01/25(土) 23:29:45.43 ID:aYG+uzAF
言い直しまス。英国に赴き英語で現地人に話しかける人に向かって、
「そんな毛等の汚い言葉をつかわずに、美しい日本語で話せ!」と
わめく人はどれほど頭がよろしいのかお教えやがって下しあ!(^ρ^)
101774ワット発電中さん:2014/01/25(土) 23:30:45.53 ID:QLpHIboD
日本に来てゴザルとかおじゃるとか誰も使ってないような古語を使ってる外国人がいたらすごくバカそうに見えると思う
102774ワット発電中さん:2014/01/25(土) 23:32:09.14 ID:ubo4VDsR
説得するだけムダにゅ。
耳元で「真夏のあきはばらぁ〜」を72時間歌い続けてあげれば
彼も改心するかもしれないにゅ。
103774ワット発電中さん:2014/01/25(土) 23:35:57.63 ID:IoBwv8n9
かなりどうでもいい
104774ワット発電中さん:2014/01/26(日) 00:04:47.70 ID:ayEPzpUd
>>100
なるほど

「そんな毛等の汚い言葉をつかわずに、美しい日本語で話せ!」
と言われたわけだな?

でもホントそれ。そんな人いるの。
105774ワット発電中さん:2014/01/26(日) 01:03:45.65 ID:K/sXyfo0
初心者スレでケンカ売ってる奴なんか無視しろよ
奴にかまうな
106774ワット発電中さん:2014/01/26(日) 02:59:34.27 ID:VML5t0LH
他の板でどんな語尾を使っているか知らないけど、
郷に入れば郷に従えと言いたいなら、
電電板に入ったなら、電電板の言葉遣いをして欲しい。
電電板では、標準語を使用します。
107774ワット発電中さん:2014/01/26(日) 03:35:35.33 ID:JErPYKtk
    /\___/ヽ
   //~    ~\:::::\
  . |  r=-   r=ァ   .:|
  |   ,,ノ(、_, )ヽ、,, .::::|   はいはいそうですね
.   |   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/
   /`ー‐--‐‐―´\
108774ワット発電中さん:2014/01/26(日) 11:11:01.21 ID:GjICoYa1
>>96
日本語で押し通せる方だろ?
109774ワット発電中さん:2014/01/27(月) 09:18:02.35 ID:LtiqBm61
>105
それ俺じゃないですしお寿司
110774ワット発電中さん:2014/01/28(火) 18:34:24.80 ID:Fnl0ekPU
XC8 PIC18シリーズ
C言語での割り込みプログラムの記述について教えていただきたく思います
優先順位のない複数の割り込み処理の記述では、割り込み要因ごとに
void interrupt ****(void)
で宣言する必要があるのか、それとも一つにまとめて
if(TMR0IE && TMR0IF){
}
if(INT0IE && INT0IF){
}
という風に記述するべきか分かりません
記述してありませんが、割り込みが入ると同時に割り込み禁止 処理終了後に割り込み許可ビットを操作します
111774ワット発電中さん:2014/01/28(火) 23:49:54.01 ID:wPVoCZG/
>>110
割り込みベクターが低と高の2つしかないので、
それぞれでまとめる必要がある。
基本は、
if(***IF){
:
}
で良いが、UART-TXのように送信終了後のように、
フラグが立ちっぱなしになる場合は
if(***IE && ***IF){
*
}
のようにする必要ある。
112774ワット発電中さん:2014/01/31(金) 03:41:15.88 ID:NNBf1x05
オンボード書き込みで教えてください。

PICのオンボード書き込みをするために、PGCK, PGDT, /MCLRを、I/O機能と兼用にするとき、
そのピンが出力の場合、書き込み時に、外部機器が動いたりしないでしょうか?
そのピンが入力の場合、書き込み時に、外部機器またはPIC手前のバッファからの駆動信号により、
HかLに固定されないでしょうか? つまり書き込み器の信号が強度的に負けないでしょうか?
113774ワット発電中さん:2014/01/31(金) 08:55:40.84 ID:zPE4hePv
共用のペリフェラルをスリーステートバッファで区切ってないの?
電源投入時はハイZ状態にしておけば悪さしないと思われ。
114774ワット発電中さん:2014/01/31(金) 09:02:37.24 ID:7nexMpap
>>112
ICSPの場合の回路上の注意は、pickit3とかのマニュアルに書いてある。

http://ww1.microchip.com/downloads/en/DeviceDoc/51764C.pdf
の4ページ目
115774ワット発電中さん:2014/01/31(金) 09:58:49.16 ID:9LeC4gR0
>>113 114
ありがとうございます。
直接に接続してはいけないんですね。
抵抗入れてorすれば・・・・考えてみます。
ありがとうございます。
116774ワット発電中さん:2014/01/31(金) 10:53:53.76 ID:zPE4hePv
なんと、抵抗だけでいいんだ・・・シッタカでサーッセン><;
117774ワット発電中さん:2014/01/31(金) 11:23:41.76 ID:i1D+5UKZ
>>112
確かに、>>114のpdfの接続でいいけど、
PICの出力に繋がっている機器が動いてしまうので、要注意。
ランプ程度なら光るだけだから問題無いけど、
エアの電磁弁に繋がっていて、エアシリンダーが動いてしまい、
人が挟まれて救急車、ということもあるので注意。

1. 無理をせずに多ピンのPICに変更し、ICSPピンはICSP専用にして共用しない。
2. ICSPの信号線は、書込中に「バタバタ」するものとして考える。
3. 共用するなら、安全なI/Oと共用する。
4. >>113のスリーステートはやり過ぎかもしれないけど、
  I/Oを安全サイドになるようにプルアップ、プルダウンを対策し、
  ジャンパピンなどで縁を切ってから書込をするようにしたい。
5. ICSPの信号線は、長くパターンしない。ノイズ乗りやすくなる。

ICSPは使い方に注意が必要なので、ワケワカラン人は、上記「1.」を
オススメします。
118774ワット発電中さん:2014/02/02(日) 00:51:03.62 ID:QtvqjqZ6
>>117
[1]がお勧めですね。デバッグする時にも便利だし。
119774ワット発電中さん:2014/02/02(日) 03:07:03.90 ID:06PTsiQr
そうだね。分かり易くていい。
120774ワット発電中さん:2014/02/02(日) 10:58:16.80 ID:poi3hVI1
このスレの主旨(超初心者用)からすると、やっぱ「1」だよな
121774ワット発電中さん:2014/02/02(日) 11:18:25.51 ID:GBZIb8Lk
仕事で使ってるけど、なるべく1で使ってるよ。
122774ワット発電中さん:2014/02/02(日) 11:21:00.11 ID:vNxE6Jid
1k で LED 出力にしておくと、書いてるときのバタバタも
目視確認できるので、私的には「3」のLED出力に1票。
123774ワット発電中さん:2014/02/02(日) 16:39:22.07 ID:06PTsiQr
おぉ、それは賢いな。使わせて貰う。
124774ワット発電中さん:2014/02/10(月) 04:39:44.36 ID:JehFNR5W
おしえてください

PICで、USBができて、EEPROM(64byte程度以上)の載っているチップはないでしょうか?
果敢に探しましたが見つかりません。
DIPで、3.3v, 5V両用電源だと嬉しいです。
125774ワット発電中さん:2014/02/10(月) 05:36:25.76 ID:Ozsbw3zI
どのシリーズが使いたいのか使えるのかその辺りよくわからないけど作品例が多いので18F2550とか18F14K50じゃダメ?
126774ワット発電中さん:2014/02/11(火) 01:36:09.52 ID:gpb3J4ij
ネットを見ていたら、
以下のような記述がありました。

if (__NVIC_USED & (1 << 0)) { // Vector Table Offset Register
(略)
}
このif分の括弧の中は、どのように読めば良いのでしょうか?
__NVIC_USED と (1を0回左シフトしたもの?)でandを取るのでしょうか?
(1を0回左シフトしたもの)の部分がわからないです。
127774ワット発電中さん:2014/02/11(火) 03:08:22.55 ID:fx32kkwn
0bit目のみをゼロチェックしたいときそう書く。
1を0回左シフトしたものはすなわち1だけど、
Nbit目を見るときhoge&(1<<N)と書くとわかりやすいのでそれと統一するため。
128774ワット発電中さん:2014/02/11(火) 08:59:31.15 ID:GqEeWXzN
なるほど、わかりました。
0001
0010
0100
1000
と言う感じですね。ありがとうございます。
すると、シフトの分、処理時間が変わるということですね。
129774ワット発電中さん:2014/02/11(火) 12:27:40.81 ID:brMdKkwz
>>128
定数どうしの演算は、コンパイル時に処理される。
130774ワット発電中さん:2014/02/11(火) 22:32:21.03 ID:CJgaSOeI
131774ワット発電中さん:2014/02/12(水) 01:30:11.15 ID:FV8gY3oR
教えてください

例えば
for ( i=0; i<3; i++ ){
  x = x + i;
}
というのと、
  x = x + 0;
  x = x + 1;
  x = x + 2;
とでは、どちらが効率的でしょうか?
132774ワット発電中さん:2014/02/12(水) 01:36:39.47 ID:FV8gY3oR
連投すみません。教えてください。

PICの開発環境を揃えることになりました。
MPLAB環境と、CCS-Cの環境は、どちらが優れているのでしょうか?
もちろん費用は無視でいいです。
133774ワット発電中さん:2014/02/12(水) 10:12:52.34 ID:MXzr2SFY
小学校の卒業祝いでお爺ちゃんにPICKIT3を買ってもらいました。
パソコンとかあまり詳しくないです(wordやexcelでVBAが少し使えるくらい)なので
中学生になったらいっぱい勉強したいです。
134774ワット発電中さん:2014/02/12(水) 10:18:52.31 ID:Hx5lz4U5
picで遊んで、VBAもつかえるなら、木下先生のEasyCommが超オヌヌメだお。

↑先生は反応が無いことにご立腹で公開をやめちゃったんだけど
落とせるところがあるかもしれないから見つかるなら落としておくとええお。
135774ワット発電中さん:2014/02/12(水) 12:17:52.16 ID:cIg2e3WD
語尾に お を付けるの、止めてくれませんか?
136774ワット発電中さん:2014/02/12(水) 12:31:11.84 ID:Hx5lz4U5
お気を害した様ですみませんでし><;
137774ワット発電中さん:2014/02/12(水) 22:01:17.07 ID:SrPHA8Cw
なぁにむしろ耐性がつく お
138774ワット発電中さん:2014/02/12(水) 22:31:59.97 ID:wsfVb506
小学生の中で主流なプログラム言語って何だろうか?
知りたくなってしまった。
139774ワット発電中さん:2014/02/12(水) 23:46:27.09 ID:4Q4DEsSP
みんな大好きperlちゃん!
140774ワット発電中さん:2014/02/13(木) 00:43:31.14 ID:vnXNQ9oM
懐かしいなぁ
141774ワット発電中さん:2014/02/13(木) 01:03:40.59 ID:55RQXFVB
>>131
メモリ容量的に効率良いのは前者
速度的に効率良いのは後者
コンパイラが賢ければ最適化オプションの指定によって、前者に統一されたり後者に統一されたりするから、差はない
って感じじゃね?
142133:2014/02/13(木) 07:41:35.15 ID:GGhhSw9w
>>134
ありがとうございます。調べてみます。

>>138
プログラムとか全然わかりません。
VBAは先生が教えてくれました。
電子工作もはじめたばかりで555でLEDチカチカしか作れません。

わたしも早くみなさんみたいにスゴイの作ってみたいです。
143774ワット発電中さん:2014/02/13(木) 09:17:45.97 ID:+1SqpuEd
>141
異議ありッ(AA略

×メモリ
△ROM

ループ内処理がもっと長ければROM的には仰る通りだと思います…この内容なら
ROM的にも後者の方が節約になって、RAM的には長さに関わらず後者の方が効率がよろしいかと・・・
144774ワット発電中さん:2014/02/13(木) 13:02:18.46 ID:Q7I6KMZD
PICKit3のデバッガって、そんなに便利なのでしょうか?
使い出すと、プログラムを組む能力が進化しないと聞いた事があります。
145774ワット発電中さん:2014/02/13(木) 22:19:15.91 ID:191Y13ff
>>131
PICだと笑えるくらい差があるはず
...たと思ったけど、間接アドレッシングが有るときだったかも

for ( i=0; i<3; i++ ){
  x += y[i];
}

  x += y[0];
  x += y[1];
  x += y[2];
みたいに。
146774ワット発電中さん:2014/02/14(金) 08:24:47.04 ID:fPSEO46B
>>144
プログラム能力とデバッカがどう関係するのか
サッパリワカラナイけれど

作ったプログラムのバグ出しをより効率よく行いたいなら、あると便利
作ったプログラムのバグ出しを苦難を乗り越え行いたいなら、必要なし

プログラミングを手段とするか目的とするか

いや〜ボク、プログラムするの趣味なんすよ
モータ動かす?は?
モータとかLEDとか全然興味ないっすよ
だから趣味はプログラミングなんですよ
と言う人なら全く必要ない
147774ワット発電中さん:2014/02/14(金) 09:02:47.38 ID:Sya5YAro
printfあればデバッガなしで何とかなる事案は多いので
組込み系だとどうやって表示させるかが問題
通電監視とかいって1個LEDをGPIOにぶら下げておくこと
みんなやるよね?ランプ1個でも大助かり
キャラクタLCDつけられたら無敵
PSoC楽でいいよPS(結局ステマ)

プロ設計はシリアルつけとくのかな
148774ワット発電中さん:2014/02/14(金) 10:35:03.58 ID:iM/maJs8
TP
149774ワット発電中さん:2014/02/14(金) 21:34:14.87 ID:37RBHdZV
16×2のLCDの、関数はどこかにないでしょうか?
あと、I2CのEEPROMの関数と、RS232の、リングバッファの送受信。
欲しい
150774ワット発電中さん:2014/02/14(金) 22:11:42.89 ID:w03RU85I
このスレではggrksは禁句ですか?
151774ワット発電中さん:2014/02/15(土) 02:52:40.34 ID:/WWskZ/w
ccscなら、後閑さんの所にlcdのがあったはず
152774ワット発電中さん:2014/02/15(土) 11:15:04.77 ID:miNLzZUa
153774ワット発電中さん:2014/02/16(日) 15:21:28.58 ID:vOwuUofD
初めてPICを使うので、PIC24FJ64のデータシートを読んでいます。
そこで質問があります。
データーシートを調べましたが、わかりませんでした。

このPICは、I2Cを2組持っています。SDA1,SCK1とSCL2,SDA2です。
が、ピン配の図を見ると、さらに別のピンにASDA1,ASCK1という割り付けもあります。
このASDA1,ASCK1の働きがわかりません。

英文データシートには、ASDA1,ASCK1には(2)としてNoteがあり、
Alternative multiplexing for SDA1 and SCL1 when the I2C1SEL bit is set.
と書かれています。この英文の意味を考えると、
I2C1SEL bitがset(=1)されているとき、SDA1とSCL1を入れ替える、と読めます。
SDA1とSCL1を入れ替える理由がわかりません。
パターンミスしたときに、ハード修正無しに送受信を入れ替えするとしても、
ASDA1,ASCK1には何の関係もないですし。

あるいは、SDA1とSCK1の入替ではなくて、ASDA1,ASCK1とSDA1,SCK1を入れ替えるのかと思いましたが、
I2Cバスにつながる周辺ICは、パターか配線で固定なので、I2Cバスを切り替える必要はないと思います。

これは、どのように考えたらよいでしょうか?

宜しくお願いします。
154774ワット発電中さん:2014/02/16(日) 16:00:38.51 ID:njuujC2r
>あるいは、SDA1とSCK1の入替ではなくて、ASDA1,ASCK1とSDA1,SCK1を入れ替えるのかと思いましたが、
英語どう読んでもこっちでしょ

ASDA1 ASCL1でググるだけでいっぱいでてくるけど…
1個だけあげとく
ttp://mycom1.cocolog-nifty.com/blog/cat40608993/

>I2Cバスにつながる周辺ICは、パターか配線で固定なので、I2Cバスを切り替える必要はないと思います
アドレスが当たっちゃうI2Cデバイスを排他的につなぎたいとか
いろいろ便利そうだけど
155774ワット発電中さん:2014/02/16(日) 16:11:22.27 ID:tWzY6J6W
SDA1,SCK1のあるピンを別の機能に使いたい時にA〜に避難させられるって意味だと思う
156774ワット発電中さん:2014/02/16(日) 16:31:09.72 ID:FqSrfuv+
>>153
16.1 Peripheral Remapping Options
157774ワット発電中さん:2014/02/16(日) 17:19:09.21 ID:vOwuUofD
さっそくのご回答、ありがとうございます。

>>154
ありがとうございます。
>アドレスが当たっちゃうI2Cデバイスを排他的につなぎたいとか
なるほど、そういう時に使うんですね。
I2Cデバイス自身にも、2bit程度のAddressが
半田付けで決められるようになっていると思いますが、
それでも重複するときに使う。ということですね。
ありがとうございます。

>>155
ありがとうございます。
>別の機能に使いたい時にA〜に避難させられるって意味だと思う
なるほど、これも納得です。
そうすると、ICSPの接続ピンPGEC,PGEDが3組もある理由も、これでしょうか。
納得出来ました。

>>154のご指導でググってみたら、後閑さんの記事で、こんなチップも出てきました。
A〜の、二組の振り替えI2Cを持っているのに、オリジナルのSCL,SDAが無いという。

http://img.wazamono.jp/pc/src/1392536955308.png
どうもありがとうございました。



すみません、もう1つ教えてください。

同じく24FJ64GB002 DIP28pin のピン配を見ていて、疑問に思いました。
通常のデジタルI/O(GPIO)ピンが、
  RAポートで・・・・・10 9 8 7・・4 3 2 1 0
  RBポートで15 14 13・11 10 9 8 7・5 4 3 2 1 0 と、飛び飛びの出力しかありません。
どれをとっても、8bit連続していないようです。

8bitで計算した結果を、そのままポートに出力するとき、16F88のようにRB7〜RB0まであるなら
  b_port = A;
でできますが、24FJ64G002だと8bit変数のAを切り出して、
  a_port[[8:7] = A[7:6];
  a_port[[5:0] = A[5:0];
という2手順で行うのでしょうか? (上記の[ : ]は、bit番号です)

常時、構造体で束ねて使うのでしょうか。

何度もすみません、宜しくお願いします。
158774ワット発電中さん:2014/02/16(日) 19:09:53.69 ID:vOwuUofD
連投、すみません。

最後に、もう一つ教えてください。

ピン機能に、「CN0〜CN30」の機能名があります。
これについて、以下のように理解しましたが、正しいでしょうか?

・CN = Change Notificationの略
・入力ピンチェンジ割り込み機能のこと。
・CNEN1, CNEN2のセットリセットで、検出したい入力ピンを設定する。
・入力は全てorされていて、どれか1つでも変化すれば、割り込み起動
・CNPU1, CNPU2で、内部pull-uppをon/offできる。
・Sleep中、SecondaryClock=停止中でも、割り込み検知できる。

宜しくお願いします。
159774ワット発電中さん:2014/02/16(日) 19:30:20.94 ID:B2qVCna7
まさか英文データシートを、頭から読んでるんじゃないだろうな?
160774ワット発電中さん:2014/02/16(日) 19:42:17.96 ID:/YPx/J55
連続したビットで扱いたいなら並んでる石つかえばええやん・・・

むりやりそれでやるってなら、
#define trans_port(arg) (((arg&0xc0)<<1) | (arg&0x3f))
とかマクロ定義しといて、
a_port=trans_port(A)
とかできねえっすかね・・・自分じゃPICではCを使ってないのでできなかったらスマン
161774ワット発電中さん:2014/02/18(火) 00:06:19.83 ID:0ONMtZCi
MicrochipのCコンパイラーで教えてください。

今日初めてMPLABとcコンパイラーをインストールして、動かしています。
今までCCS-Cで作ったソフトがあるので、LED点滅から勉強しているのですが、
エラーばかり出て、一向に動きません。

CCS-Cでは、a_port = 0b00001101; と書くと、aポートのLEDが3個点灯するのですが、
MPLABだとその行でエラーになります。
コンパイラーの取説にあったソース例を見て、PORTA=0x0d;とやったら、点灯しました。
a_portは、MPLABではサポートされていないのでしょうか?
それとも、どこかに自分で追加登録すれば、a_portが使えるでしょうか?

それと、
0b00001101もMPLABでは使えないのですが、どこかに設定はありますか?
#fuses hs, nowdt, noprotect, nobrownout, put, nolvp、bit_test()やbit_set()など、
エラーばかり出ます。
どのような単語が使えるのか知りたいですが、コンパイラーの取説を見ていますが
見つかりません。
162774ワット発電中さん:2014/02/18(火) 02:29:46.15 ID:utXKZ5NJ
コンパイラにHitech Cを選択してない?
163774ワット発電中さん:2014/02/18(火) 03:18:57.75 ID:1gPtdDvy
>>161
Project Properties > Compiler Toolchains
でコンパイラーを確認してください。
CCS C Compilerになってないんでは?
164774ワット発電中さん:2014/02/18(火) 05:50:34.03 ID:w/IRnPFo
PICのデータシートに
PORTAとは書いてあるけどa_portは無いところをみると
CCS-Cの記述が独特なんでは?
165774ワット発電中さん:2014/02/18(火) 13:09:51.96 ID:0ONMtZCi
>>162-164
どうもありがとうございます。
コンパイラーの設定は、CX8というMicro chipの8bit PIC用のコンパイラーです。
CCS-Cは古いバージョーンのしかないので、最近のPICが使えません。
なので、この際MPLABを使ってみようと考えています。

>PORTAとは書いてあるけどa_portは無いところをみると
>CCS-Cの記述が独特なんでは?
どうも、これのようです。CX8コンパイラーのユーザーガイドを
読みたいと思います。

昔あったN88-BASICの説明書のように、
1ページ毎にキーワード(GOTOとかIFとか)の説明と、その使用例が書いてあるような
本があると便利だと思いました。
166774ワット発電中さん:2014/02/19(水) 18:43:54.55 ID:AKgzBaFP
CCS→XC8は苦労するかもね・・・

組み込み関数は当然に使えないわけで
167774ワット発電中さん:2014/02/19(水) 19:47:05.28 ID:wl2fUeF9
>>166
ありがとうございます。

>組み込み関数は当然に使えないわけで
そうですね。
CCSの便利さがよくわかりました。

結局、CCSのPCWHDというソフトを買うことにしました。
デバッガーは、ICD64です。
168774ワット発電中さん:2014/02/19(水) 20:00:11.79 ID:eBQF9hv+
MOLAB X IDEとXC8を無料で使ってるんですが
有料版を買うメリットがよくわかりません
時々メモリーが足りなくて起こられたりはしますが
そういうのが解消されるんでしょうか

そういうメリットもよくわからんのなら無料ので十分
って解釈でいいんでしょうか
169774ワット発電中さん:2014/02/19(水) 22:17:35.44 ID:IDXH4eK6
コンパイルする時に最適化されて、メモリの節約にはなるけど、個人で製作するレベルなら無料ので十分だと思う
170774ワット発電中さん:2014/02/19(水) 23:15:37.24 ID:z+5G9Ba4
>>169
有料の上にライセンスの有効期間が1年だからな。
しかもスタンダードでも4万円位する。
171168:2014/02/20(木) 06:50:36.37 ID:eT8BthNd
ありがとうございます。
遊びにしてはちょっと高いですね。
このままでいくことにします。
172774ワット発電中さん:2014/02/20(木) 17:27:31.62 ID:aKy7mnlw
バージョンアップ期間じゃなくて、使える期間が1年なの?
173774ワット発電中さん:2014/02/21(金) 03:38:54.71 ID:Q1r+uOUB
>>172
いくらなんでも、そんなことはないでしょう。
>>170の言葉足らずだと思う。
174774ワット発電中さん:2014/02/21(金) 04:39:06.24 ID:3TjJHfLa
http://www.microchipdirect.com/ProductSearch.aspx?keywords=SW006021-1

MPLAB XC8 Standard Compiler が495.00 USD
これには12ヶ月のHigh Priority Accessがついている。
で、12ヶ月経ったら
High Priority Access を12ヶ月延長するのに99.99 USD
つまり初期投資に5枚、以後1年ごとに1枚必要
と読んだんですがどうでしょう?
175natu:2014/02/21(金) 09:56:05.18 ID:CF2DyNwr
普通に使う分には、バージョンアップだけ出来れば良いと割り切れれば、HPA不要でしょうね。
でも$495は、高いよね。
176774ワット発電中さん:2014/02/21(金) 14:14:38.80 ID:AtX8RYEn
スタンダードの値段だからなぁ
177774ワット発電中さん:2014/02/21(金) 15:05:04.89 ID:7RGNZ6L4
>つまり初期投資に5枚、以後1年ごとに1枚必要
・新しいデバイスが使えない
・ソフトのVer UPができない
というだけで、それまでの機能は維持、実行できると読めるけど。
上記をやりたいなら、$99/年払え、と読める
178774ワット発電中さん:2014/02/21(金) 15:46:17.14 ID:/uwtVdNa
>>177
そうだよな
High Priority Accessって単語の意味考えると
単純に質問したときのサポート優先度か?
Low Priority Accessっていうのもあるのだろうか
って事ならバージョンアップには費用は不要なんじゃないのかとも思えてくる
179774ワット発電中さん:2014/02/21(金) 16:12:37.84 ID:3TjJHfLa
結局High Priority Accessって何?
ってことになりますね
180natu:2014/02/21(金) 16:26:09.62 ID:CF2DyNwr
私は、偶然にHPAの権利を使ったことが有ります。1回だけですが

1.コンパイラのバグを見つけたので、それが再現出来るソースファイルを送った(当時はHI-TECH)
2.「再現したので、ちょっと待ってね」とメールが来た。
...しばらくすると
3.バグを除いた実行ファイル"cgpic.exe"が送付されてきた。<--- HPAが有る時
 
HPAが期限切れの時は、「次のバージョンアップで解決しておくね」 の連絡だけになりました。
181774ワット発電中さん:2014/02/21(金) 16:27:00.23 ID:PtVPpufk
ぱっと見で、値段的にはmikroCが良さげですが、
XC8からの乗り換えって面倒でしょうか?
182774ワット発電中さん:2014/02/21(金) 16:34:12.07 ID:Bs8SuAow
>>180
まさに文字通りのHigh Priorityですね
183774ワット発電中さん:2014/02/21(金) 16:46:16.58 ID:/uwtVdNa
で、バージョンアップは期限無しなのかな?
そうなら純正扱いで$495ならそう高くはないな
184774ワット発電中さん:2014/02/21(金) 16:47:38.76 ID:RKwoycHG
>>181
CONFIGの書き方が違うのとI/Oの構造体定義が違うくらい
1<<8の値も違ってたな
185natu:2014/02/21(金) 18:05:58.56 ID:CF2DyNwr
HI-TECH時代は、無期限でバージョンアップ可能だったけれど
XCは、ダメなんじゃ無いだろうか。

ttp://www.microchip.com/pagehandler/ja-jp/devtools/mplabxc/highpriorityaccess.html

>HPAライセンスを更新しなくても、コンパイラの現在のリビジョンはそのままお使い頂けます。
>しかし、コンパイラの新しいリビジョンをダウンロードすると、そのリビジョンは無償エディションに戻ります。
186natu:2014/02/21(金) 18:13:55.87 ID:CF2DyNwr
書込み押してしまった orz

リビジョンってバージョンと同じですかね?
187774ワット発電中さん:2014/02/22(土) 00:58:25.89 ID:g7vz21Lx
バージョンは、大幅改版 Ver10.3 の、10
リビジョンは、ちょっとだけ改版 Ver10.3 の、3
だと思う。
188774ワット発電中さん:2014/02/22(土) 11:21:42.05 ID:OoLqCvON
PICの型番ってとても多いですが、なぜこんなに多いのでしょうか?

bit数×フラッシュROM容量×RAM容量×形状×ピン数×機能

各3としても、481…
189774ワット発電中さん:2014/02/22(土) 12:53:37.87 ID:dnw+YGKe
ルネみたいにただひたすら上位互換ばかり作ってないから。
USBやイーサを1チップに二つ積んだPICとか出ないかな…。
190774ワット発電中さん:2014/02/22(土) 15:00:41.25 ID:pGzmrcBW
>>188
なぜ各3なのか意味不明
特に「機能」は
191774ワット発電中さん:2014/02/22(土) 15:43:54.08 ID:GO5QUQ/e
PIC to PICのワイヤレスな通信で
参考になりそうなサイトのお勧めを紹介してください。
192774ワット発電中さん:2014/02/22(土) 21:52:31.01 ID:d5C8dehA
近距離でいいなら赤外線LEDと受信モジュール使ったリモコンの作例とか探してみれば?
193774ワット発電中さん:2014/02/23(日) 12:36:33.84 ID:xZt9kkO+
4倍固定のPLLを内蔵したPIC18Fで、
外付け水晶に16MHzを接続した場合、内部Clockは、
64MHzで動くのでしょうか?
それとも、1/2の32MHzで動くのでしょうか?

PICの、PLLを駆動させる入力周波数の上限が、16MHzになっている場合、
16MHzの水晶(上限ギリギリ)は、まずいでしょうか?
それとも、18MHzの実力があるが、スペック上は16MHzを謳っているのでしょうか?

宜しくお願いします。
194774ワット発電中さん:2014/02/23(日) 14:06:06.79 ID:evV9L8HQ
俺の知ってるPIC18はPLLのON・OFFをプログラムで設定できたけど君が使おうとしてるものは知らない
その仕様であればONにすれば64MHzになるしOFFで使えば16MHzとなる
データシートの内部ブロック図で確認してね
16MHzに多少誤差があっても動くから心配すんなし
195774ワット発電中さん:2014/02/23(日) 14:47:30.32 ID:xZt9kkO+
>>194
>その仕様であればONにすれば64MHzになるしOFFで使えば16MHzとなる
PIC18K46K22です。同じように、内部設定でPLLを通すか、直接か切替できます。

>16MHzに多少誤差があっても動くから心配すんなし
ありがとうございました。安心しました。
196774ワット発電中さん:2014/02/24(月) 03:04:51.69 ID:pI/hy9nr
教えてください。
初心者過ぎで、PICの開発環境がよくわかっていません。

PIC16F、18Fを、C言語でプログラムを作成し、
USBコネクタ経由でフラッシュに書込、デバッグがしたいです。
何を揃えれば良いのでしょうか? 名前がわからないのです。

MPLAB   統合開発環境のこと
XC8 XC16 Cコンパイラー
???    デバッガー
PIKkit2/3 ダウンロードケーブル
ICD    ???

デバッガーは、コンパイラーと同じで、MPLABからキックされるものと思いますが、
アプリの名前がわかりません。

ICDは、インサーキットデバッガーの略だと思います。これもデバッガーなのでしょうか?
197774ワット発電中さん:2014/02/24(月) 05:22:18.66 ID:G+Jzpnro
>>196
まずUSBを使いこなすことはあきらめたほうがいいよ。

XC8、pikkit3、16Fシリーズ、でLedを点滅させるとこから出発。
198774ワット発電中さん:2014/02/24(月) 06:27:42.75 ID:mITODx3q
199774ワット発電中さん:2014/02/24(月) 10:29:54.36 ID:7pwdWc90
デバッガというのは、ソフトウェアですよね?
デバッガというハードウェアは要らないのですよね?

pickitというのは、ダウンロードケーブルであって、デバッガではないですよね?

その辺がわかりません
200774ワット発電中さん:2014/02/24(月) 11:08:03.71 ID:F4sqRRYI
組込の世界は初めてかな?
デバッガを別ソフトウェアだと認識してるという事は、Javaの人かな?

この世界ではデバッガって言うと、どちらかというとデバッグ用のハードウェアの事を指す方が多いよ
PICkit3もProgrammer/Debuggerだし
マイコンにファームを書込む(Programする)には通常とは異なる方法で外部からマイコンに
アクセスするための仕組みが必要なんだけど、
この仕組みをファーム書込だけじゃなくてデバッグにも使えるようにしてるって事

PICなら要る物は >>198 が全て。これだけあれば業務も出来る
他に必要な物はキミのやる気と理解力だけ
201774ワット発電中さん:2014/02/24(月) 11:24:56.08 ID:KFIjLZFa
>>199
PICデバッガの構成

PICに内蔵されているデバッグ機能でCPUをコントロール
(たいていのPICにデバッグ機能が入っている)

↑↓ (デバッグ命令をデバッグPINで通信)

pickitやICD等(PIC内蔵のデバッグ機能との通信ハードウェア

↑↓(ブレークやメモリーの読み出し等)

MPLAB等のデバッグ機能は、PICにプログラム書き込みやソースとマシン語の対応付けた画面UI
pickitやICD等のハードウェアと通信

全部でデバッグ環境
202774ワット発電中さん:2014/02/24(月) 11:34:13.07 ID:P1VfBLWD
デバッグする人の頭がよくて、ブレークポイントが一つとか二つで
済むのならICDでおkッス。問題の切り分けが難しくて
(複雑な処理で)もっと多いブレークポイントが必要になってくると
十数万円出してICE(ハードウェア)買わなきゃいけなくなりますです…
203774ワット発電中さん:2014/02/24(月) 15:03:05.33 ID:aqg4NlXq
みなさん、ありがとうございました。
機能と現物とを対比して説明してもらって、よくわかりました。
電電のみなさんが、こんなに親切だと思いませんでした。

理解したことの確認の意味で、以下にメモします。間違いがあれば、ぜひ指摘をお願いします。

1. デバッガー機能は、ソフトウェアとハードウェアの連携で実現されている。
2. PICの中には、デバッガー用のハードウェアが、初めから入っている。
3. MPLABで、ブレークポイントやウオッチ登録を設定した後にコンパイルすることで
 通常のリリース版とは異なる「デバッガ機能を含んだHEXファイル」が生成される。
4. MPLABのソフトは、人間とのUIにより、デバッガ機能を含んだHEXファイルを生成する
 のが仕事。
5. それをMPLABにより、PICに書き込んでRUNさせるが、
 ブレークポイントで停止するなどの機能を直接行っているのはPIC内部のハードゥエア。
6. MPLABソフト側は、PICマイコンから「ブレークポイントで止まったよ」という連絡が
 来るまで、待っているだけ。PICから連絡を受けたMPLABは、PICと通信をして、
 必要な値などを取込み、値や現在の実行行を人間に表示してくれるだけ。
7. PicKit3などのダウンロードケーブルは、上記のやりとりの通信をする経路であって、
 デバッガの機能には参加していない。
8. PicKItとICDの違いは、製造販売が、MicroChipか、MALかの違いであり、やることは一緒。
 なぜかと言うと、デバッガの機能は、PIC内部のハードの機能で決まるから。
9. PicKit2と3の違いは、3の方が新型であり、上位互換バージョン。
204774ワット発電中さん:2014/02/24(月) 15:16:00.83 ID:P1VfBLWD
ブレークポイントの位置換えてもリビルドはしなかったと思う。
205774ワット発電中さん:2014/02/24(月) 15:25:26.31 ID:aqg4NlXq
>>204
ありがとうございます。
そうですね。
予想するに、停止する位置を、MPLABがPICに指示するのではないでしょうか?
あるいは、デバッグ用のHEXとは、MPLABとPICとの通信やりとりの部分だけ
だったりして。
206774ワット発電中さん:2014/02/24(月) 15:26:26.05 ID:aqg4NlXq
訂正
× あるいは、デバッグ用のHEXとは、MPLABとPICとの通信やりとりの部分だけ
だったりして。

Φ あるいは、デバッグ用のHEXとは、MPLABとPICとの通信やりとりの部分を追加しただけ
だったりして。
207774ワット発電中さん:2014/02/24(月) 16:39:19.49 ID:F4sqRRYI
ICDって純正ICD3じゃなくて、MALのサイトで売ってるヤツの事か
非純正品は専用ソフト(デバッガソフト)でないと使えなかったりするから注意ね
MALのICDがどうかは知らんが、MPLABから使えない物もある

個人的には、PICkit3があればこの辺のサードパーティ品に存在価値無い気がするんだけど
ICD2しかなかった頃の遺品か?
208774ワット発電中さん:2014/02/24(月) 16:49:27.04 ID:aqg4NlXq
>>207
ありがとうございます。
>ICDって純正ICD3じゃなくて、MALのサイトで売ってるヤツの事か
すみません、MALのページにも「ICD3はマイクロチップ社製」と、書いてありました。
つまり、ICD2, ICD3は、Microchip純正ということですね。
ありがとうございます。

すると、ICDの系列と、PicKitの系列は、何がちがうのでしょう。
当初はICDだったけど、後継機としてPicKitが発売された、とかでしょうか?

あと、PicKit3の6番ピン(LVP)の線を使う用例が、ネットであまり見かけませんが、
みなさん使わないのでしょうか?
「PicKit3の中に昇圧回路があって、約9Vの電圧作っているから、
  PicKit3を使う以上、LVPの線は使わないよ」とかでしょうか?
209774ワット発電中さん:2014/02/24(月) 17:31:48.76 ID:KFIjLZFa
pickitとICDの違いはmicrochipに載っているので必要な機能で選べばよいと思う
大きな違いは条件ブレークポイントが出来るか単純ブレークポイントの違いかな
http://www.microchip.com/stellent/groups/sitecomm_sg/documents/market_communication/%7Eexport/en534451%7E18%7EAppDezTTP%7EBasicLayout/171805-7.gif
210774ワット発電中さん:2014/02/24(月) 18:12:18.60 ID:XgqsWGhm
ICD3高すぎじゃね?
211774ワット発電中さん:2014/02/24(月) 18:13:07.81 ID:aqg4NlXq
>>209
わざわざ表まで、ありがとうございます。

MALのページを見ると、
・ICDが先行で出ていて、PicKitは後発で「書込器」の位置づけ。
  その後デバッガ機能が追加になった。
・ICDオススメ、PicKitオススメしない 的に書いてあります。
・金額も違いがあり、ICDは、PicKitが6-7個買えるみたいです。
212774ワット発電中さん:2014/02/24(月) 21:08:43.51 ID:r2RiO1ps
pickkitでとりあえず遊べばいいんじゃね? ICD使ってる人ってどれ位居るのだろう?
213774ワット発電中さん:2014/02/26(水) 09:22:11.41 ID:4T3+4eGl
ノ  ICD->ICD2->ICD3と変遷ちう。Pickit使ったことないっす。
214774ワット発電中さん:2014/02/26(水) 09:42:08.08 ID:Dng7zbb8
ICDは便利でしょうか? 使い心地はどうですか?
一度は使ってみたいと思う。
215774ワット発電中さん:2014/02/26(水) 10:06:38.84 ID:4T3+4eGl
昔はPICSTARTplus(書き込み機)で何度も焼きなおしながら
LED点灯タイミングなどをヒントにデバッグしてた時期もありますが
ICDを使い始めてからはICD一本です、便利ですお。

ただ、Pickitを使ったことが無いのでPickitとICDとで利用時に
有意の差があるのか?は、私にはわかりません。
ポケットマネーで買うならpickitにするかもです(^^;)
216774ワット発電中さん:2014/02/26(水) 12:23:52.61 ID:DShlvAMt
>>214
ICDとpickitの差は>209でわかると思う。
使い勝手は、ほとんど同じです。
ICD2,Pickit3と持ってます。
もうICD2使ってない。
価格差を考えて、pickit3をおすすめする。
217774ワット発電中さん:2014/02/26(水) 12:28:52.07 ID:ZSOsV8LO
使ってみると分かるけど、ICDはあの電話線が嫌
そんなに特性良いのか?
PICkit3で全然問題ナシ
218774ワット発電中さん:2014/02/26(水) 12:42:34.06 ID:4T3+4eGl
Pickit3とICD3の差のまとめ

・デバッグ用プログラム領域の有無
(Pickitは512kB必要、ICD3では不要)

・Complex ブレークポイントの利用可否
(Pickitでは不可能、ICD3では可能?)

・量産時書込み(Production programmer)の可否
(Pickitでは不可能、ICD3では可能)…公的にはICD3の方が書き込み時間が短いらしいが、異存の声も^^;

・値段
pickit3:実売8k円程度?  ICD3:実売20k円程度?
219774ワット発電中さん:2014/02/26(水) 13:47:31.40 ID:shEXxoPy
>>218
いいですね。保存しておきました。

>・デバッグ用プログラム領域の有無(Pickitは512kB必要、ICD3では不要)
この領域とは、どこに必要なのでしょうか?
PICのROMに? PicKitの中? PCに?

>・量産時書込み(Production programmer)の可否 (Pickitでは不可能、ICD3では可能)
量産時の書き込みは何か異なるのでしょうか?
PicKitで ひたすら書き込みすれば、いくつでもかけると思うのですが。

>pickit3:実売8k円程度?
秋月だと4300円ですが、これは何か違いでもあるのでしょうか?

確かに電話線はいやですね。線が堅いしコネクタも特殊だし。バラ線6本には負けると思う
220774ワット発電中さん:2014/02/26(水) 13:56:45.54 ID:4T3+4eGl
>どこに必要なのでしょうか?
デバッグ対象のターゲット基板のPIC(のプログラム空間)。
ICDも昔(1の頃)は特定のレジスタとかがリザーブされてますた。
デバッグしないなら自由に使えるんだけど、デバッグするときはそこを
明けとかないといけなかったです。

>何が異なる
一個当たりの書き込み時間、それもたぶんMPLAB IPEを
使った時の話だと思われ。当方Pickit持ってないので比較できず。
参考 P.177: http://ww1.microchip.com/downloads/jp/DeviceDoc/52027A_JP.pdf

8k円はデジキーでの話ですた。 電話線は自分で変換ケーブルつくればおkっす。
221774ワット発電中さん:2014/02/26(水) 14:40:37.69 ID:ITwIEtvU
512kB?
222774ワット発電中さん:2014/02/26(水) 14:44:12.78 ID:ZSOsV8LO
\8,000もそうだけど、良く知らんのに余計な事すると恥をかく例だな
Digi-Keyの\8,000はデバッグ基板付きだろう
単体なら\4,500-くらいであるはず
223774ワット発電中さん:2014/02/26(水) 15:03:52.33 ID:ZSOsV8LO
512kBのソースは >>209 の画像の「Program Image」だろうが
これはProgrammer-to-Goで使える容量の事で、デバッグ時にデバッガで消費する容量ではない
デバッグ時に消費される容量はPICkit3とICD3ではほぼ同じでフラッシュの末尾576B

そもそも同じ仕組みでデバッグ出来るようにしてるんだから変わるはずがない
ブレークポイントの違いは差別化のためで、技術的にはPICkit3でもできるはずだと思う
224774ワット発電中さん:2014/02/26(水) 15:14:04.31 ID:JIF1Xt0j
できてから言って
どうぞ
225774ワット発電中さん:2014/02/26(水) 16:33:39.70 ID:4T3+4eGl
あれ?そうなのか・・・そりゃスマンカッタ・・><;>223
226774ワット発電中さん:2014/02/26(水) 19:46:53.69 ID:Dng7zbb8
ということは、安くて小型なpickit3のほうが、メリットが高いということですか。
227774ワット発電中さん:2014/02/27(木) 00:31:33.25 ID:6YyMX5E+
12Fシリーズや16Fシリーズで遊ぶ分にはPICkit2でも十分なの?
>>209の画像以外の部分でPICkit2とPICkit3に差異ってあるのだろうか?ソフトのほうとか。

あと、PICkit2を選ぶなら、秋月のAKI−PIC2プログラマボード(PICkit2互換)も有りですか?
ピン数少ないPICだとICSP用に回路組むの面倒な時もあるしかえって便利?
228774ワット発電中さん:2014/02/27(木) 00:46:35.43 ID:3VLWV5Hh
少ピンPICの開発をするときは、
多ピンのPIC+PicKit3で開発、デバッグして、
ソースレベルで少ピンPICのほうに持って行くのはどうでしょう?

自分の中で、定番PICを決めて使うと楽だよね。
僕はPIC16F88と16F877A 最近のPICは使ったことない。
config設定が多すぎて、怖い感じがする。
229774ワット発電中さん:2014/02/27(木) 02:14:30.81 ID:ThfsoNmd
>>228
16F88は16F690にのりかえたほうがいいよ。安いしね。
あと電源がPICの左側によってて、16F680,12F675,と同じブレッドボードで
書き込みできるのが便利。
230774ワット発電中さん:2014/02/27(木) 04:07:03.87 ID:9J53HrSI
88→690はピン数も違っちゃうからケースバイケースだと思うけど
877Aは887でいいんじゃね、ピン数もおなじだし。
231774ワット発電中さん:2014/02/27(木) 05:40:21.90 ID:3VLWV5Hh
どこかに、PICの家系図はないのだろうか?
>>228>>229のよう「毎日がお得値」みたいな話が知りたい
232774ワット発電中さん:2014/02/27(木) 09:43:14.16 ID:GQEeWRBp
PIC専用のスレのテンプレに秋月で取り扱ってるPICの価格と性能の簡易比較表がある
233774ワット発電中さん:2014/02/27(木) 10:16:18.48 ID:3VLWV5Hh
ありがとう
確かに価格について分かりやすく書いてあるね。
世代変遷みたいなのは本家のページに行けばあるんだろうか。
例えば、
PIC○○は、PIC△△の後継機で、ピンコンパチで置き換えできるように開発した。
のような。
234774ワット発電中さん:2014/02/27(木) 10:39:52.78 ID:cWKV6o6Z
PICって何の略?
235774ワット発電中さん:2014/02/27(木) 11:24:26.20 ID:PtAAz/7w
Peripheral Interface Controller
その辺のマイコンと同じとは思わない方が良いと思う
236774ワット発電中さん:2014/02/27(木) 12:51:48.82 ID:ZFdhFjxe
>>229
ICEまで揃えていると、乗り換えるのに安いものでも
数万円(ほぼ10万円)程度のコストがかかる・・・
237774ワット発電中さん:2014/02/27(木) 21:03:37.32 ID:P+5zFj5k
PICのCCSってあまり話題に上らないのは値段が高いからかね?

ぱっと見ライブラリがじゅーじゅつしててarduinoなみにコーディングが簡単に見えるけど
238774ワット発電中さん:2014/02/27(木) 22:45:50.10 ID:Wtuhg/j1
>>233
そういう変遷とか知りたいけど無いんだよね
時代遅れの機種(Microchip語で「mature」)のページにはお勧めの代替品が書いてあるけど
239774ワット発電中さん:2014/02/28(金) 12:06:03.51 ID:vH58RazJ
>>238
matureですか。なるほど、わかる気がします。
ちなみに、そのページはどこにありますか?
Microchipのwebページを調べましたが、全然引っかかりません。
240774ワット発電中さん:2014/02/28(金) 14:51:42.43 ID:fc5MAchH
>>239
Microchipへ行ってmatureで検索すれば引っかかりますよ。
たとえばここ。
ttp://www.microchip.com/maps/microcontroller.aspx
ちなみに上に出てた PIC16F877A については、
PIC16F887 is recommended と書いてある。
241774ワット発電中さん:2014/02/28(金) 16:27:59.95 ID:vH58RazJ
>>240
ありがとうございます。
前回、そのページにはたどり着いたのですが、matureの文字もありませんでした。
再度今行って、recommendで検索しても見つかりませんでした。
すみません、どこに書いてあるのでしょうか?
242774ワット発電中さん:2014/02/28(金) 19:06:22.40 ID:w84Fxheg
Product Status 右側の+をクリックしてみな
243774ワット発電中さん:2014/02/28(金) 20:35:04.25 ID:vH58RazJ
ありがとうございます。
matureのチェックボックスが出て来ました。

出て来たので、チェックしても、何も変化しません。
PIC○○ mature PIC▽▽ とか表示されるのかと思っているのですが、
何も表示されないのですが。
よくわかりません。
244774ワット発電中さん:2014/02/28(金) 21:10:52.89 ID:t/2ewMvA
>>237
あいつ下位互換どころか上位互換もないから……。
と使った者の話、
ソフトウェアUARTが楽に構築できるのはいいんだけど、設定行とか一行入れ替えただけでエラー吐くし。
USBやらLCDは使ったことがないのでサンプルやライブラリが使えるかどうかは不明。

個人的には秋月でも取り上げ始めたDHT11の上手く動くサンプルがほしい。
どうしても1回目か2回目の起動チェックで引っかかる…入出力の入れ替えにそんなに時間が掛かるとは思えないんだけど。
245774ワット発電中さん:2014/02/28(金) 21:13:35.91 ID:w84Fxheg
>>243
ここが初心者向けスレであることは確かだけど、もっと自分でなんとかなんね?
おれは>240見てすぐに辿り着けたぜ?


Family:ALL、Prefix:PIC16F、8-bitにチェック、Matureにチェック(CurrentとFutureは外す)で、
>ちなみに上に出てた PIC16F877A については、
>PIC16F887 is recommended と書いてある。
が確認できるから
246774ワット発電中さん:2014/02/28(金) 21:28:01.85 ID:fc5MAchH
247774ワット発電中さん:2014/03/01(土) 01:53:17.16 ID:LfZx0xsF
>>245,246
ありがとうございます。
>>246の画像で「recommended」の表示位置がわかりました。どうもありがとうございます。
僕も同じ画面にしようと思い、チェックをはずして行くんですが、
なぜかチェックをはずしても、ちょっとすると勝手にチェックが戻ってしまいます。
これは正常なのでしょうか?
デジキーの部品検索のように、条件選んで、条件選んで、条件選んで、
「検索ボタン」とするのではないんでしょうか?

結果の見方としては、matureをチェックして、検索すると、
matureな品種のPICだけが右半分の一番上のリストに出るので、
その中から、自分の知りたい品種を選択して(黒くして)、その右にある「Reset Search」ボタンを押すと、
>>246の画像の赤枠のところにrecommendedなPICの品番が出る、
で良いのですよね?
248774ワット発電中さん:2014/03/01(土) 02:12:35.77 ID:r32fkBEN
microchipのサイトの使いづらさは天下一品だとはいえ、
チェックを1つ付けるたびに再読み込みしてることくらい気づいてほしい
249774ワット発電中さん:2014/03/01(土) 02:44:16.67 ID:LfZx0xsF
ありがとうございます。
わかりました。確かにカラーホイールがぐるぐるします。失礼しました。
RSと同じ方式ですね。ありがとうございます。

しかし、>>246の画面にできないです。チェックが勝手につけられてしまう。
matureのチェックは付きますが、Current, Futureなど、消しても付けられてしまいます。
もう少し自分でさわってみます。
250774ワット発電中さん:2014/03/01(土) 04:41:47.84 ID:KRIIGYUA
>その右にある「Reset Search」ボタンを押すと
そんなの押しちゃだめ
設定がリセットされちゃうよ
251774ワット発電中さん:2014/03/01(土) 07:40:46.12 ID:1F8mt5wW
プログラムやろうとすると入り口でまずつまずくんだよなー。
javaやろうとしてPATHが通らなくて断念したことがある。

なんでみんな初心者に厳しいんだろ。
252774ワット発電中さん:2014/03/01(土) 19:50:25.04 ID:ljUihyvs
海外のエロ動画検索する時 mature と入れると熟女さんが沢山出てくる。

豆知識な。
253774ワット発電中さん:2014/03/02(日) 14:04:23.09 ID:VM93nla3
>>251
それは皆様からのガンバレという「愛のムチ」です。
なお、お好みにより「愛のロウソク」、「愛の亀甲縛り」などもございます。
254774ワット発電中さん:2014/03/02(日) 22:52:40.59 ID:cOjxc4iT
外付けSRAMの回路で74HC4040を使ってるのを見かけますが
ピン数の多いPICを使う場合と比べて両方の長所短所を解説してください。
よろしくお願いします。
255774ワット発電中さん:2014/03/03(月) 02:31:21.35 ID:vgXCKSJr
74HC4040で、SRAMに何をするの?
関係がよくわからない。
256774ワット発電中さん:2014/03/03(月) 10:36:20.66 ID:X/QN63De
4040って、カウンターだっけ?
257774ワット発電中さん:2014/03/03(月) 11:05:54.60 ID:+yCLWOwe
SRAMのアドレスバスにカウンターをつなぐ
よくある手ですわ
258774ワット発電中さん:2014/03/03(月) 14:01:54.45 ID:x2ywFU/5
PICのピン数を節約するためにSRAMのアドレス指定にカウンターを使う。
ランダムに指定するわけじゃなくて順番にアドレスの指定値を増やしていけばいいから。

ということだと思うんですが、
カウンター使うのとPICのピン出力で直接指定するのとで速度的にはどうなんでしょう?
259774ワット発電中さん:2014/03/03(月) 14:29:55.54 ID:vgXCKSJr
そんな使い方があるんですね。初めて知った。
ランダムアクセスせずに、シーケンシャルアクセスばっかりで使うのかな?
それとも、ランダムアクセスの時は、4040リセットして、カウンター回す。
目的の番地になったらRead/Write、を繰り返すのかな。
スゴイ使い方だ。
260774ワット発電中さん:2014/03/03(月) 15:14:18.15 ID:qQspQet9
そういやむかし職業訓練校の先生が、ROMのデータバスを
ラダー抵抗の簡易D/Aにスピーカつなげて、音声再生基板にしてたなぁ。
(それを半田付け体験の来場者プレゼントに使ってらっしゃった。
組み立て後に、PCのレコーダを使って音声をサンプリングしてROMに焼いてあげてた)

俺も一枚欲しかったけど余らなかったじぇ…ギギギ><;  ↑シーケンシャルアクセスの一例
261774ワット発電中さん:2014/03/03(月) 22:30:51.37 ID:7EbHzfRZ
EEPROMの初期化で使われるマクロ __EEPROM_DATA(P1,P2・・・,P8)についてだけど
この処理はいつ行われるの?
例えばEEPROMのデータを書きかえてから電源を切って再び電源を入れたときこのマクロが実行されると
電源を切る前の保存内容が変わってしまうよね
262774ワット発電中さん:2014/03/03(月) 23:00:51.87 ID:l3ySw5pW
>>261
PIC書き込み時にEEPROM領域に書き込まれる。
263774ワット発電中さん:2014/03/03(月) 23:49:58.84 ID:ypulMAxh
>>259
PICじゃなくてAVRでインベーダ基板補修用の2708ライター作るときに4040使ったよ
基板がコンパクトになってなかなかよろし
スタートスイッチと4040のリセットとモニタLEDを兼用したり参照ROMのOEと4040のクロックを兼用したり
ピンの節約がまた楽しい
264774ワット発電中さん:2014/03/04(火) 03:55:10.86 ID:5xgB1Xgr
>>261
ようするにプログラム書き込むときに一緒に書き込む
265774ワット発電中さん:2014/03/04(火) 11:35:03.23 ID:VXTl7iHS
>>263
メモリアドレスを、4040でまかなえるほど低速か、シーケンシャル動作だったの?
266774ワット発電中さん:2014/03/04(火) 12:31:42.23 ID:DQzw+HhY
4040で、まかなえる速度ならI2CのSRAMのほうがシンプルだと思う
大容量RAMが必要ならH8とかの外部バスの有るチップを使ったほうがソフトも楽だよね
267natu:2014/03/04(火) 12:36:47.18 ID:O6mthcg5
>>261
もしもPIC16でXC8だったらですけれど...
char __eeprom saveData;
 
 saveData = 0x55;
 y = saveData;
EEPROMアドレスをコンパイラに任せた方が楽ですよ。配列も使えるし
268774ワット発電中さん:2014/03/04(火) 12:45:16.13 ID:hlxkjJJI
>>262
>>264
>>267
ありがとうございます
プログラムを書き込む時の処理なんですね
これでスッキリしました
269774ワット発電中さん:2014/03/04(火) 22:48:15.09 ID:VXTl7iHS
教えてください。

MPLABとXC8コンパイラーを使って、PICの勉強をしています。
RB5とGND間にLED+抵抗を接続し、RB5 = 1で点灯することを確認しました。
次に、5V電源とRA2間にスイッチ、RA2とGND間に1kの抵抗を接続し、
RA2ピンに、スイッチを押すと5V、離すと0Vになることをオシロで確認しました。
その上で、プログラムを作って動かしたのですが、SWを押してもLEDが点灯しません。
何が間違っているでしょうか?

#define on 1
#define off 0

main(){
  TRISA = 0b00000100;    // PORTAの入出力設定
  TRISB = 0x00;       // PORTBの入出力設定

  while(1){   // 以下の5種類を試しましたが、RB5のLEDが点灯しません。
    RB5 = RA2;
    RB5 = (RA2 == on)? on : off;
    RB5 = (PORTAbits.RA2 == on)? on : off;
    if (PORTAbits.RA2 == on){ RB5 = on; } else { RB5 = off; }
    if ((PORTA & 0b00000100) != 0){ RB5 = on; } else { RB5 = off; }
  }
}
何がいけないのでしょうか?
270774ワット発電中さん:2014/03/04(火) 22:57:33.23 ID:nxYFB1me
昔のはRAで読めた気がするけど
最近の石はポートの読み込みに使うレジスタ名が違った希ガス

なんて石をつかってるん?
271774ワット発電中さん:2014/03/04(火) 23:33:45.21 ID:VXTl7iHS
すみません、PICは、16F877です。

現行の18Fなどは、出力レジスタとして「LATCH....」とやるみたいですが、
16F877は、同じ変数名かな?と思っています。
ちなみに、XC8の、16F877.hのRAポートの構造体記述は、
このようになっています。

// Register: PORTA
extern volatile unsigned char PORTA @ 0x005;
#ifndef _LIB_BUILD
asm("PORTA equ 05h");
#endif
// bitfield definitions
typedef union {
  struct {
    unsigned RA0 :1;
    unsigned RA1 :1;
    unsigned RA2 :1;
    unsigned RA3 :1;
    unsigned RA4 :1;
    unsigned RA5 :1;
  };
} PORTAbits_t;
272774ワット発電中さん:2014/03/04(火) 23:54:37.52 ID:VXTl7iHS
すみません、動きました。

a_portは、DefaultでAnalog入力でした。
ADCON1 = 0b00000110;
の追加で、取り込めました。
どうもありがとうございました。
でも、なんで、Defaultがアナログなんだろう。
273774ワット発電中さん:2014/03/05(水) 00:17:23.56 ID:UyDwVqjA
じゃあデフォルトは何であるべきかな
まあデジタル出力のHIでいい気がするけど。
274774ワット発電中さん:2014/03/05(水) 03:55:37.24 ID:o5gBwXxI
デジタル入力で良いと思う。外部にプルダウン抵抗付けてね。
出力にするのは怖い
275774ワット発電中さん:2014/03/05(水) 04:46:03.09 ID:Oi2difvl
遅蒔きながら74HC4040のデータシートを見てみたんですが
CP to Q0 : 14ns
Qn to Qn+1 : 8ns
と書いてあって、これは12ビットで1回カウント値を変更するのに
14 + 12 * 8 = 110ns 必要ってことでいいんでしょうか?
メモリのアドレスは実際は16ビット必要なんで、さらに
14 + 4 * 8 = 46ns
結局、合計で145nsは、周波数では数MHz程度ってことで、
速いんだか遅いんだか…。
276774ワット発電中さん:2014/03/05(水) 13:59:59.81 ID:Q3w/tjfI
MPLABとXC8コンパイラーを使って、PICの勉強をしています。
昨日より、順調に動作をするようになりました。

ここで質問があります。

1. Configration bitとレジスタ設定
Configration bit と ADやUARTのレジスタ設定の処置として、
必要なものだけをセットして、他の設定は放置(Reset後の値を信じる)
というのは、いけないことでしょうか?
明示的に書き込んでやるのが「正しい」のでしょうか?
デバイスによっては、すごくたくさんの設定数があり、記述が大変だからです。

2. _xxx の記述について
xc8のincludeファイルを見ると、PORTA や RAなどの表記もありますが、
_xxxのように、先頭にアンダーバー(あんだースコア?)のついたものがあります。
_の意味は何なのでしょうか? 何か特殊な機能のために付けるのでしょうか?
他の変数とは、何か別の扱いがしたいから、わざと_を付けているようにも感じられます。
中には__と2つ続けているものもあったりします。

あるいは、マイクロチップだけの作法なのでしょうか?
unsigned char _kaisuu のように私も変数として使っても良いのでしょうか?

宜しくお願いします。
277774ワット発電中さん:2014/03/05(水) 21:11:48.57 ID:LlsxHfBe
>>276
1,すごくたくさんあって見逃してましたテヘってのが通用するならリセット後の設定とかデフォルト設定を信用してもいいかと。
自分の読み間違いやその他の要因を気にしなきゃ書かなくてもいいんじゃない?
ただバージョンが変わったとき動きも変わるかもって気がするけど

「正しい」かどうかじゃなくて、プログラムコード全部に自分が責任を取れる様になるというような感じ?

2,そうしていいコンパイラもあればそうしちゃいけないコンパイラもある
マイコン自体(というかそのマイコンに対応しているコンパイラすべてが)その記述に対応していない場合もある
頭に数字はダメとか、?マークはダメとか色々あるからマイコンに合わせて使ってください
278774ワット発電中さん:2014/03/05(水) 23:08:07.66 ID:02CDAXpZ
1.
Configuration Bitsはクリックして選んでコピペするだけだから全部書いてる。
SFRは必要な機能と関連したレジスタだけはは一応全部のビットを眺める。

2.
よくわからない。
コンパイラが叱ってくれるから気にしなくていいんじゃ?
279774ワット発電中さん:2014/03/05(水) 23:55:45.39 ID:Q3w/tjfI
>>277-278
どうもありがとうございます。
CONFIGは、8bitくらいの短いものなので、毎回書いても苦にはならないんですが、
特殊レジスタ(SFR)の初期設定は、関係するものだけ、ですよね。
データシートにリセット時は0になる、と書いてあるんですし。

_xxxの件、ありがとうございます。今度使ってみようと思います。
アンダーバーの数で、何通りにも使えて便利な気がします。
_delay_ms
__delay_ms
___delay_ms という感じ。

>「正しい」かどうかじゃなくて、プログラムコード全部に自分が責任を取れる様になるというような感じ?
たしかにそうですね。ただ、僕らは趣味だし、結果オーライという部分がありますが、
仕事でPICを製品に組み込んでいるようなプログラマーの人なんかは、
全数書いているんでしょうか、気になるところです。
280774ワット発電中さん:2014/03/06(木) 12:31:42.92 ID:q8W4lqJ4
>叱ってくれる
mjd? 予約語と偶然に一致していたら
どんな警告をしてくれるというの?

自分で命名する場合には避けとくのが無難だと思うよ…>アンダースコァから始まる変数名

>初期化
アセンブラのなら標準インスコ時には
C:\Program Files\Microchip\MPLABX\mpasmx\templates\Code
にテンプレがあるとおもうからそれ使えばいいんでね?
この案の場合、XC8内にアセンブラ書く方法は自分でしらべてちょんまげ

ansi準拠ならasm{ }で囲めばよかったような気がするけど
XC8がそうなのかは俺しらねぇYO
281774ワット発電中さん:2014/03/06(木) 22:42:54.22 ID:lEwYT0Nj
MPLAB Xのエディタでは予約語やコメントなどの色が自動的に変わります。
282774ワット発電中さん:2014/03/06(木) 23:54:37.92 ID:ZIpBbl77
こういうことじゃないの?
http://bbs1.fc2.com//bbs/img/_770300/770239/full/770239_1394117506.jpg

_PORTA_RA1_POSITIONはヘッダで定義されてるから青字
__PORTA_RA1_POSITIONは上で宣言してるから使える
___PORTA_RA1_POSITIONは宣言してないから叱られる

なんか言ってること変?
283774ワット発電中さん:2014/03/07(金) 03:19:24.63 ID:Wian589i
>>282
いや、変じゃないよ。合ってると思う。

それもそうだけど、MPLABは漢字が使えるから嬉しい。
でも等幅フォントにいいのがなくて、スペースで送った時とTABで送った時で、
位置がずれるのが困る。
284774ワット発電中さん:2014/03/07(金) 17:24:15.94 ID:Phzd3HoP
複数の入力を静電容量式センシング(CPSピン(CSM方式)とかANピン(CVD方式))で監視する場合
その入力に変化があった時だけスリープモードから復帰して装置を動かしたいのですが
このような入力方式の場合スリープモードから復帰する方法はありますか?
285774ワット発電中さん:2014/03/07(金) 19:44:01.93 ID:VDabWnHD
これからPIC始めようと思うのですが、
このスレでもあまり話題を見かけませんが
MikroCってメジャーじゃないのでしょうか?
286774ワット発電中さん:2014/03/07(金) 21:21:04.76 ID:YwIbgbvR
>>285
メジャーと言うほど紹介されてない、が正しいかな。
安いし、それなりのライブラリがあるはずだけどユーザー数が少ないのかねぇ…。
287774ワット発電中さん:2014/03/07(金) 22:24:31.19 ID:0sBKTCur
>>285
独自のライブラリが充実していてその範囲なら使いやすいというイメージ
自分がPICをやりはじめたとき
やりたいことに対応するmikroCのライブラリが無かった
ので、MPLAB系を使うようになった
一度使い始めちゃうとmikroCのソースをみかけても素通りするようになって…
288774ワット発電中さん:2014/03/07(金) 22:48:12.40 ID:wajaQWPq
おれ使ってる、むかしライブラリの充実ぶりを気に入って使い始めたけど
いまの純正もライブラリすごく出来上がってるとかどっかでみた、そんなん?
289774ワット発電中さん:2014/03/08(土) 01:34:41.75 ID:mYxbM2ok
>>284
なぜスリープにするのかによる?
290774ワット発電中さん:2014/03/08(土) 02:04:31.72 ID:4EyPCFrR
質問があります。教えてください。

XC8のCコンパイラーで、16F877の割り込みの勉強をしています。

webで検索してきたLEDチカチカのソースでは、割り込みの書き方が、
void interrupt isrTMR0(){
  T0IF = 0;
  TMR0     = CNT_DATA;
  (処理を書く)
}
と書いてありました。確かに動作しました。

ところが、XC8のユーザーマニャアルの書き方の例では
void interrupt tc_int(void){
  if (TMR0IE && TMR0IF) {
    TMR0IF=0;
    timer0の割り込み処理

  } else if( xxxIE && xxxIF ){
    この要因用の処理

  } else if( xxxIE && xxxIF ){
    この要因用の処理
    処理
  }

  return;
}
のように書いてありました。質問は以下のことです。

1. 割り込み関数の書き方は、void interrupt XXXXX(){ですが、
  XXXXXの部分はユーザーの任意の名前で良いように思います。
  しかし、割り込みの要因によって、名前が決まっているのではないのでしょうか?
  それなのに、自分の好きな名前で書けるのはなぜなのでしょうか?

2. XC8のユーザーマニュアルの書き方は、
  if()により、IEビットがセットされていて、かつ、IFフラグがonなら、
  この処理をする、のように書いてあります。
  前の例でif()が無い理由は、そのLEDチカチカの例では、
  割り込みはtimer0だけであり、他の割り込みが発生するはずがないので、
  if()無しで、time0の処理を書いている、という理解で良いでしょうか?

よろしくお願いします。
291774ワット発電中さん:2014/03/08(土) 03:51:23.83 ID:tmdwMHAa
>>290
任意の名前のものが1つ許されるって理解してます。
なので、その中で複数の割り込みに対応する必要があり、
マニュアルの例のような処理が必要になります。
逆に、もし割り込みの種類ごとに別々に出来るなら、
例のように条件分岐させる必要も無いはずです。
292774ワット発電中さん:2014/03/08(土) 04:09:57.11 ID:tmdwMHAa
>>290
発生する可能性のある割り込みがひとつなら、
もちろん条件文は不要です。
293774ワット発電中さん:2014/03/08(土) 04:23:06.10 ID:O+h0m2Vs
>>290
たぶん、他のマイコンを使ったことがあるから疑問なのだと思うけど、
PIC16Fには、割り込みの種類で飛び先が違うという方式ではないのです。
全ての割り込みIFがORになって1本になっている。
その割り込み関数は1個だけなので、その中で「どれかな?」って判定します。
割り込みの優先順位も、その書き方の順番でコントロールします。
294774ワット発電中さん:2014/03/08(土) 09:28:41.69 ID:vHGRVeBq
>>290
割り込みは関数として書くので名前は必要だが、名前は任意でよい。
8bitPICは 割り込みベクタが 16F1xxx 以下は1つ、PIC18は2つしかない。

基本は if(xxxIF){}のように、要因毎に処理を書いていくが、
割り込み許可してるのが1つだけの時は決め打ちでよい。

通常は if(xxxIF){}のように割り込み発生フラグ(xxIF)だげ見れば良いが、
UART-TX等のように、送信可能状態の時にフラグが立ちぱなしに
なる物があるので、許可フラグ(xxIE)も &&をとると確実。
295774ワット発電中さん:2014/03/08(土) 11:27:10.81 ID:yxKQC2Gf
>>289
電池駆動なので待機中の無駄な消費を減らすためです
296774ワット発電中さん:2014/03/09(日) 20:55:11.00 ID:1dkrw4kw
無印MPLABならPICKIT3を認識するのに、MPLAB Xに変えると認識できなくなるのは何故でしょうか?
297774ワット発電中さん:2014/03/09(日) 22:01:04.25 ID:YH8Pe9k5
>>296
エラーメッセージは何と?
298774ワット発電中さん:2014/03/09(日) 23:19:35.60 ID:1dkrw4kw
>>297
書き込みしようとすると
Connection Failed.とだけ表示されます。
299774ワット発電中さん:2014/03/09(日) 23:22:50.76 ID:1dkrw4kw
>>297
すみません、違うところを見てました
エラーメッセージは
The programmer could not be started:
Could not connect to tool hardware: PICkit3PlatformTool, com.microchip.mplab.mdbcore.PICKit3Tool.PICkit3DbgToolManager
300774ワット発電中さん:2014/03/10(月) 14:43:13.24 ID:9lOOlVCL
初心者です、教えてください。

PICを使って、1ms(1kHz)の正確な矩形波を出したいと考えています。
方法は、水晶発振のPICクロックを、タイマー割り込みで1ms周期を
作り出す考えです。

タイマー割り込みについて、以下のように理解しています。
1. タイマーカウンターが0xffffになると、割り込みフラグが立つ
2. 次のタイマーカウンター加算が来ると、割り込みに飛ぶ準備をする
3. 割り込みルーチンの最初で、フラグクリアとタイマーカウンターの初期値を再セットする。
4. 続けて割り込みルーチン内で、ポート出力を反転させる。
5. 割り込み終わり
上記のように理解していますが、0xffffになる瞬間と次の0xffffの瞬間は
1.00msだと思いますが、割り込みルーチンに飛んでポートを反転するまでの
クロック数は、いつもピッタリ同じなのでしょうか?
他の処理の都合で、1クロック遅れるとか、そういうことはないのでしょうか?
少し前のこの会議室の話で、割り込みの順番は、割り込み判定の順番でコントロールするとありました。
もし、タイマー割り込みよりも前にRS232C受信とか外部割り込み(RB0)とかが行われると、
その後の1ms処理に遅れが出ると思うのです。

もう一つ質問があります
タイマー割り込みルーチンの中で、対マーチを再セットしますが、
再セットを行うと、そこからのカウント起算になると思います。
すると、タイマー割り込みルーチンの先頭で行うのと、最後で行うのとでは、
時間遅れが起きそうな気がしますが、正しい考えでしょうか?
301774ワット発電中さん:2014/03/10(月) 15:05:56.37 ID:zcpeSsEA
石(なんというMPUなのか)や、
タイマの番号ごとに全然違うから、もっと具体的にどぞー
(16F877ではTMR0とTMR1とTMR2では構成がまるで違う)
877のTMR1ではオーバーフロー割り込みなのでFFFF⇒0のタイミングで
割り込みフラグが立ち、TMR1割り込みが許可されてて、かつ、GIEが1なら
割り込み処理発生で4番に飛ぶ。
(3.)では「一旦TMRを止めてから」初期値設定、そのあと再びタイマをONじゃね?
インストラクションサイクルは4分周なので1000Hzの水晶なら
Fosc/4=250Hzになって、タイマの入力は4m秒パルスだと思われ。

後段のご質問に関しては、仰る通り、シリアル通信処理や外部割込みの処理内容が分岐していると
初期設定されるまでの間隔が変わりえるので、
割り込み処理の先頭でタイマ処理するが吉
302774ワット発電中さん:2014/03/10(月) 15:07:35.73 ID:zcpeSsEA
ごめん

× 4番に飛ぶ

◯ アドレス4番地(Cなら interrupt修飾のある関数)に飛ぶ。
 
303natu:2014/03/10(月) 16:49:09.41 ID:hbkck56m
水晶の周波数によるけれどにCCPを使うのが楽です。
(E)CCPが付いて無いデバイスですか
304774ワット発電中さん:2014/03/10(月) 17:47:33.95 ID:9lOOlVCL
>>301,303
ありがとうございます。PIC16F877I/PというDIPのやつです。
タイマーは、TMR1です。

>(3.)では「一旦TMRを止めてから」初期値設定、そのあと再びタイマをONじゃね?
そうなんですか?
TMR1IFをクリアして、TMR1=0xXXXを実行するだけかと思っていました。

>インストラクションサイクルは4分周なので1000Hzの水晶なら
>Fosc/4=250Hzになって、タイマの入力は4m秒パルスだと思われ。
いえ、ポートの出力として1000Hzが欲しいので、水晶振動子は、16MHzとか20MHzとか、
分周に切りの良い水晶を使います。

>割り込み処理の先頭でタイマ処理するが吉
ありがとうございます。やっぱりそうですよね。
すると、RB0↑外部割り込みの最速補足と、正確な1kHzとなると、
1個のマイコンでは厳しいですね。
>>303の仰るように、CCPを使えばいいですね。一度データシート見てみます。
ありがとうございました。
305774ワット発電中さん:2014/03/10(月) 21:59:03.52 ID:ZSmUcWhx
PIC16F1827のRA0にLEDをつなげてチカチカ出来たので喜んでいる初心者です。
ハンディー・オシロスコープというフリーのソフトでRA0の様子をみたら
こんな感じになっています。
http://bbs1.fc2.com//bbs/img/_770300/770239/full/770239_1394456072.jpg
もっと直線的な感じを予想していたんですがこんなになった原因は何でしょう?
1秒おきに1と0を繰り返しているだけなのに…。
306774ワット発電中さん:2014/03/10(月) 22:29:34.00 ID:noLqNSh+
プルアップしてんの? それともプルダウン?
307774ワット発電中さん:2014/03/10(月) 22:39:26.92 ID:fLzeIW2c
えっと、何にもつながってません。
ハンディー・オシロスコープへの線だけがつながってます。
308774ワット発電中さん:2014/03/10(月) 22:40:27.59 ID:fLzeIW2c
あ、いえ、抵抗、LEDの先はGNDです。
プルダウン?
309774ワット発電中さん:2014/03/10(月) 22:47:49.08 ID:9lOOlVCL
>>305
LEDの点滅を、もっともっと速くして波形観察するとどうですか?
310774ワット発電中さん:2014/03/10(月) 22:54:42.67 ID:Y26o9+pW
>>305
元々オーディオ用だから直流に近いゆっくりした信号は崩れてもしょうがない
311774ワット発電中さん:2014/03/10(月) 22:54:43.31 ID:JQ44+BtZ
>>300
TIMER2とかで、インターバルタイマー作ったほうが良い。
PR2セットしとけば、勝手に一定周期で割り込みかかる。
312305,307,308:2014/03/10(月) 23:04:16.08 ID:fLzeIW2c
ありがとうございます。
50Hzにしたらこんな感じに直線的に(矩形波?)なりました。
ハンディー・オシロスコープの側の問題という理解でいいんでしょうか?
実際にはこの絵のような信号が出ていると?
http://bbs1.fc2.com//bbs/img/_770300/770239/full/770239_1394460102.jpg
313774ワット発電中さん:2014/03/10(月) 23:20:27.89 ID:0E9i8OiV
314774ワット発電中さん:2014/03/10(月) 23:36:59.62 ID:yC36qgyE
>>305
信号をマイク端子から入力するソフトですよね
その端子の入力部にコンデンサ(直列)が入っているはずだからその影響では?
315774ワット発電中さん:2014/03/11(火) 00:43:03.98 ID:S7/p/CsJ
>>313
それは非同期の割り込みの場合。
PIC内蔵のタイマーはCPUクロックと同期してるからずれない。
316774ワット発電中さん:2014/03/11(火) 18:21:24.23 ID:ov6csvrl
8ビットで最大ピン数って40ピンでしょうか?
317774ワット発電中さん:2014/03/11(火) 19:04:47.49 ID:rDrIzjTF
DIPならそう、かな?
318774ワット発電中さん:2014/03/12(水) 12:44:00.40 ID:UbyHQ8/W
AVRのmega164/644用(40ピン)のパラレルライタを作っていた時の話だけど、
配線終了後にチェックしたら、ICソケットのピンとの配線が
1ピンずつずれている部分があった。

「おかしいなぁ? 何度もピン番号を数えながら配線したのに」
と思ってよくよく見たら、なんとICソケットが42ピンだった!
1番ピンから数えたり、21番ピン(実際は22番ピン)から数えたりしたのがズレタ原因。

大昔に買った未使用品がそのまま残っていたのだが、
何用に使う予定だったかも完全に忘れてしまった。
319774ワット発電中さん:2014/03/12(水) 23:21:41.82 ID:6Xp+KKTW
ICを、上から見た図を、下から配線して焦った。
しょうがないから、ICの足を全部反対に曲げた。
当然、ICの型番は見えなくなる。
320774ワット発電中さん:2014/03/13(木) 02:45:28.13 ID:PmnZgWar
頭いいね。その発想はなかったわ。
321774ワット発電中さん:2014/03/13(木) 11:34:36.55 ID:vAc7wLFr
それセラDIPでやって泣きを見たわ。
322774ワット発電中さん:2014/03/13(木) 20:25:00.53 ID:XjjuFIQQ
>>321 こうしておけば良かったのでは?
ttp://ux.getuploader.com/mcnc/download/370/rev-ic.jpg
323774ワット発電中さん:2014/03/13(木) 20:29:08.61 ID:5TKDyzQc
素直に半田面に実装すりゃええのでゎ?
324774ワット発電中さん:2014/03/13(木) 20:41:57.02 ID:h8G9+qKF
>>322
ダイソーのカッティングマットか。俺も持ってる。
325774ワット発電中さん:2014/03/13(木) 20:50:57.38 ID:BWkMFmpt
すごいなぁ
おれなら絶対足もげた
326774ワット発電中さん:2014/03/14(金) 02:29:30.13 ID:BehQ9RB8
ていうか、地震があったね。
327774ワット発電中さん:2014/03/14(金) 02:36:01.01 ID:PAn2b2Eq
>>332
getuploader.comだとじゃねで直接見れない(´・ω・`)
328774ワット発電中さん:2014/03/14(金) 14:59:47.51 ID:swLBiJnK
初めてのPICは、16C84で、LED8個のナイトライダーでした。
その次に、学習赤外線リモコンをアセンブラで挑戦しましたが、挫折しました。
329774ワット発電中さん:2014/03/14(金) 20:22:25.71 ID:wcCWG2h/
16C84なんだ おらは16F84
まずPICライタを自作するところで挫折
リモコンで挫折
充電器で挫折
あと何で挫折したかしら(´・ω・`)
330774ワット発電中さん:2014/03/15(土) 01:32:20.72 ID:0xJm+58P
僕は人生で挫折。どん底を知っている男。
331774ワット発電中さん:2014/03/15(土) 09:35:09.73 ID:qx6Kld9s
>>328
そうだよね。独学は挫折するよね。
みんなどうやって習得してるんだろ。やっぱ学校いかないとだめなのかね。
332774ワット発電中さん:2014/03/15(土) 09:38:29.58 ID:ssACmP+D
>>328
アセンブラーは難しいからね。
俺はCしかできない
コードが長くなるのと、少しだけ処理が遅くなるけど、
Cは万能だと思う。
333774ワット発電中さん:2014/03/15(土) 13:48:47.97 ID:r1Kz4apN
うーん、生活がかかると誰でもマスター出来るんだけどねぇ。
趣味の電子工作なら熱中度が足りないのかな?
デートよりもデバッグの方を優先するなら見込みがあると思う。
334774ワット発電中さん:2014/03/15(土) 13:58:24.40 ID:U9+rbLY/
http://uni.2ch.net/test/read.cgi/denki/1387880298/673

673 774ワット発電中さん [sage] 2014/03/15(土) 12:19:23.44 ID:qx6Kld9s Be:
みなさんに質問なんですが
はたして独学だけでみなさんの領域まで到達できるもんでしょうか。
わたしは独学でPICを5年ほど学んできましたが、最近壁にぶちあたって先にすすめません。
ろくな教則本も売ってないし、ネットで検索してもいい答えがみつかりません。
もし先生がいたらなあと思うことしきりです。
やっぱり本格的にやるには学校に入らないといけないんでしょうか?
みなさんはどうやって学ばれたんでしょうか。よろしかったらおしえてください。
335774ワット発電中さん:2014/03/15(土) 18:30:50.13 ID:o7ectvNt
壁と言うのは、やりたいことが出来ないってこと?
336774ワット発電中さん:2014/03/15(土) 18:50:20.11 ID:U9+rbLY/
スランプに陥ったら全く関係ないことをやる
PICとか忘れて最新のフレームワークを使ったアプリを作ってみるとか
337774ワット発電中さん:2014/03/15(土) 18:58:32.26 ID:69hi0g4l
大学でC言語習ったけど、3年はかかるよね
338774ワット発電中さん:2014/03/15(土) 19:23:44.49 ID:5Fu8bOvI
Cはポインタが壁です・・・・

俺レベルのPICいじりだとポインタ使わないから再勉強してない
339774ワット発電中さん:2014/03/15(土) 19:53:39.73 ID:W6AYC1yp
黄色い背表紙のエキスパートCプログラミングっていう解説本がわかりやすいですお
340774ワット発電中さん:2014/03/15(土) 21:01:57.61 ID:JigU8qaL
ASM時代にポインタ相当の使い方したことあるけどCでそんなコード書いたことない
頭の固いおっさんだからバグったとき(多分バグる)結局書き直すことになるから

みんなはPICでポインタ使わなければならないほど大量のデータ使うの?
それともジャンプ先をポインタで変更とか?(他にあるかな)
341774ワット発電中さん:2014/03/15(土) 21:44:20.30 ID:a7q7IaPr
24以下のPICでポインタって使いにくいだろ。
データじゃなくてコードや関数のポインタならなおさら。
他のマイコンならガシガシ使うけどな。
342774ワット発電中さん:2014/03/15(土) 22:47:30.71 ID:o7ectvNt
壁は出きる人にしか来ないそうだ
だからもがけ

俺にはまだ来ないや
343774ワット発電中さん:2014/03/15(土) 23:41:35.96 ID:p+FTuNZj
>>338
LCDとかUARTに文字列表示しようとしたら、ポインタの使用は必須。
344774ワット発電中さん:2014/03/16(日) 00:26:35.64 ID:vctCyjR+
>>343
素直に配列とindexにしとけ
その方がアドレス計算の最適化の可能性も高い
345774ワット発電中さん:2014/03/16(日) 09:00:29.31 ID:4pyXfkVt
>>344
printf("Hello world \n");
とかを使うなって事?
めんどくさいだろ?
346774ワット発電中さん:2014/03/16(日) 14:08:32.53 ID:anIs0HD7
>>345
ポインタを触るのと使うのの区別ついてない人だったか。
347774ワット発電中さん:2014/03/16(日) 16:35:54.36 ID:+avWaov6
教えてください。

C言語で
putchar( 'A' );
putchar( 'B' );
putchar( 'C' ); などと、1文字を送信する記述で、
「'」を書きたいときは、どのようにするのでしょうか?
putchar( ''' );と書いたら、エラーで叱られました。
16進数で書くのは知っていますが、上記のような書き方では、どうなるのかな、
と思いました。
348774ワット発電中さん:2014/03/16(日) 17:11:49.27 ID:nY2PmtCz
349774ワット発電中さん:2014/03/16(日) 17:31:45.19 ID:7NC0YV/+
putchar( '&'+1 );
350774ワット発電中さん:2014/03/16(日) 19:51:29.14 ID:ep3Cji3e
putc('\'');
だと思うけど念のためにぐぐってみる > "文字定数"
http://www.c-lang.org/constant.html
あってるみたいね。
351774ワット発電中さん:2014/03/16(日) 20:17:00.82 ID:+avWaov6
みなさん、ありがとうございました。
putc('\''); で、動作を確認できました。どうもありがとうございます。

\自身を出力するときは、\\というのに感激しました。

ありがとうございます。
352774ワット発電中さん:2014/03/16(日) 21:52:41.01 ID:e6UQ/Ibw
エスケープシーケンスってやつだ
353774ワット発電中さん:2014/03/16(日) 23:35:13.81 ID:ag+tPyDy
>>346
printf ってポインタ操作の塊だろ?
354774ワット発電中さん:2014/03/16(日) 23:45:53.99 ID:1x65bjCP
>>346
言いたいことは分からないでもないがそれを「触る」と「使う」で言い分けるのには無理があるだろ
355774ワット発電中さん:2014/03/17(月) 01:42:54.24 ID:n8bnrbWO
PIC初心者ですが質問があります。

先日、割り込みの話が出ていましたが、
PICの場合は、どの割り込みでも一定の番地に飛んで、そこでどの割り込みかを
調べて処理するように書く、とのことでした。

ここで、質問があります。
割り込みルーチン内で、優先度の低い割り込みを処理中に、
優先度の高い割り込みが発生した場合、どのようになるのでしょうか?
優先度の低い割り込みは放っておいてでも、優先度の高い割り込みを処理したい
と願っても、どのような動きになってしまうのでしょうか?

1) 優先度の低い処理は中断されずに、最後まで行われる。
  それが終了した後に、優先度の高い割り込みのフラグは残っているので、
  再び割り込みがかかり優先度の高い割り込みが、やっと実行される。
2) 優先度の低い処理は中断され、優先度の高い割り込みが実行される。
  それが終了した後に、優先度の低い割り込み処理に戻りって処理を続行

割り込みの飛び先が1つしかないので、このような問題が起こるような気がします。
割り込み毎に飛び先が違っていれば、3の割り込み処理中に、
5の割り込み処理を割り込ませることができ、終わり次第、3の割り込み処理に戻って続行
できるのではないかと思います。

こういう場合、PICではどのようにするのでしょうか?
356774ワット発電中さん:2014/03/17(月) 02:26:19.57 ID:vP6avFdj
5-3
357774ワット発電中さん:2014/03/17(月) 02:35:16.70 ID:A7puTvXk
>>355
どのクラスのPICを想定してるのか分からないけど割り込みベクターが1つ
ということはミッドレンジ以下かな。

PICに限らず割り込みが発生すると割り込み禁止状態で割り込みサービス
ルーチンに飛んでいきます。優先度の高い割り込みを受け付けたかったら
サービスルーチンのなかで割り込み許可をすることになります。

だから割り込み優先度を持っているCPUでもサービスルーチン内で割り込み
を許可しなければ1)の動作になるし、サービスルーチン内で割り込みを許可
すれば2)の動作になります。それを使い分ければいいだけです。

割り込みベクターが1つしかないこととは関係ないです。
割り込みベクターが1つしか無くてスタックも無いようなチップで多重割り
込みを使うメリットがあるとは思えないけど。
358774ワット発電中さん:2014/03/17(月) 09:39:20.57 ID:GTfDoWM5
>サービスルーチンのなかで割り込み許可を

 ・・・たしかに過去ログではそんなこと言ってたひとがいるけど
そんな処理をして堅牢なコードを書けるとは 到 底 思 え な い。

・PIC{のミドルクラス以下?}はスタックがおっそろしく貧弱。八個ぐらいだっけ?
 ⇒非割り込み処理中のサブルーチン呼び出しでもスタックを消費してしまうのだから
 それで多重割り込みなんて極めて限定的な仕様でもないかぎりスタックオーバーフローの危険ありまくり

・どうやってGIEをイネーブルするつもりか知らないが、仮に
 bsfでビット操作するとしても内部ではリード・モディファイ・ライトになるだろうから、偶然にその
 タイミングで設定される他のフラグを壊す危険性があるのではないか(という気がする、が、ごめん、証拠はない)。

こういうデメリットのなかで多重割り込み使うのは、異常動作しても構わない用途に限定されると思う…
単に試して遊んでみるというだけなら挑戦する価値はあるかもしれないけれど^^;
359774ワット発電中さん:2014/03/17(月) 14:01:32.79 ID:Eo1gm4/u
スタックが無いからレジスタを保存する場所も割り込み要因ごとに用意しなきゃならん
大して速くならんけど全部アセンブラで書けるならどうぞご自由に
360774ワット発電中さん:2014/03/18(火) 00:28:27.33 ID:UgpuIEKe
初心者のうちは割り込み処理があたかも魔法のように感じてしまうかもしれないが、
実際はオーバーヘッドの大きい処理で、
リターンアドレスを保存して
割り込みを禁止にして
ステータスとレジスタ を保存して
やっと開始される鈍重なシステムでしかないのだ。
361774ワット発電中さん:2014/03/20(木) 23:01:50.40 ID:BNr74vmT
>>358
8bit PICにそんな複雑な処理させる方が間違えてるよな。
362774ワット発電中さん:2014/03/22(土) 12:39:54.97 ID:a2tRpJHo
TEST
363774ワット発電中さん:2014/03/22(土) 14:49:54.51 ID:rXRAdIWe
初心者ですが教えてください。
MPLAB IDE、XC8で、

#define SW RA0 として、

if( SW==1 ){ 処理 } だと、エラーが出ます。
if( RA0==1 ){ 処理 } だと、通ります。

defineで置き換えた「SW」では使えないのでしょうか?
364774ワット発電中さん:2014/03/22(土) 16:26:55.42 ID:FTQ7dLD8
>>363
どんなエラーがでるの?
365774ワット発電中さん:2014/03/22(土) 17:20:33.29 ID:8aX4wzK0
よくわかんないけど、ひとつ気になったのは、1==SW みたいに数字を左側に
文字定数やら変数類は右側に書く癖を はやめにつけておいたほうが無難だヨ。
366774ワット発電中さん:2014/03/22(土) 17:57:27.30 ID:V8ZTmifM
>>365
ヨーダ記法は賛否両論あるから、利点欠点を説明せずに勧めるのはあまり感心しない
367774ワット発電中さん:2014/03/22(土) 18:40:05.47 ID:t13xRqGw
MikroCの配列ですが、 int a[10]; などと宣言してプログラム中で[ ]の中って変数は使えるのでしょうか?
368774ワット発電中さん:2014/03/22(土) 19:59:09.76 ID:VvORlvg3
>>365 >>366
相手が定数の場合、今ならその辺はコンパイラがやってくらないの?
369774ワット発電中さん:2014/03/22(土) 20:58:03.27 ID:8aX4wzK0
>>366
==と書いたつもりで、乃至はコードを眺めている際に
誤操作で片方を削除してしまい代入にしてしまう場合が
生じたときにデバッグする際に無駄に悩むことが生じえる。

ヨーダ記法って言うのか、その呼び名は初めて聞いたわ。
賛否があるとの話でググってみたが、
webでは(定数に限らず)最近のコンパイラでは過去の記法だと
豪語している人もいるようですね・・・

でも、RA0ビットに1を出力したいのか
RA0ビットが1かどうか判定したいのに間違えたのか
コンパイラが判定する術が 最近のものにはあるとは思えないなぁ。。。

>368 定数への代入なら昔のでもコンパイラがエラーはいたと思いますお
370774ワット発電中さん:2014/03/22(土) 21:03:21.83 ID:BYcp0liV
SWがすでになにかに使われてるとか
371774ワット発電中さん:2014/03/22(土) 22:45:54.13 ID:zt2MmtWx
>>363
エラーがでるのはおかしいね。別に理由があるぞ。0とOの間違いとか。
372774ワット発電中さん:2014/03/22(土) 23:49:30.68 ID:ay8mKn/3
そもそもエラーメッセージを出し惜しみしてるし
373774ワット発電中さん:2014/03/23(日) 00:50:35.53 ID:qhFSRHUy
>>367
配列を宣言する時は変数使えない。
(コンパイル・リンク時に領域が決定されてしまうので)
宣言後の代入や参照時は使える。
(というか使えなかったら配列の意味無い)
374774ワット発電中さん:2014/03/23(日) 09:30:06.46 ID:21OwVEk6
>>372
わかる。だがエラーメッセージの意味もわかってないんだと思うからいじめんなや。
375774ワット発電中さん:2014/03/23(日) 11:24:06.77 ID:nqWy/e4t
はじめてPICだからね。
とんでもない勘違いしてるんでしょう
376774ワット発電中さん:2014/03/23(日) 13:07:41.57 ID:21OwVEk6
PICの電源としてお手軽で安いので、携帯充電用のUSB規格のACアダプターを使っている。
これってどうなんだろ?やっぱまずいのかね。

いまのとこたいしたもの作ってないから不具合はないけど。
377774ワット発電中さん:2014/03/23(日) 14:01:41.57 ID:zPD5Kf94
>>376
あまり電気食わない仕事させるならいいんじゃない?
厳密に言えば電圧の安定度とか問題あるだろうけど最近の石はガッツあるし
ただ謎の作動不良が出るかもは頭のすみにおいた方がいいかも
378774ワット発電中さん:2014/03/23(日) 16:26:22.90 ID:yAOJUdSS
WindowsXPでMPLABと無料のコンパイラで勉強して、違った、遊んできたのですが
かすかな春風の噂によるとXPもそろそろ終わりとか。S478の時代のシングルコア
のPCで動く無料のLINUXやubunntuなどのOS上でソースコードの互換性や操作性が
ある程度維持されたもので、私のような貧乏人に対して愛のあふれる開発環境は
世の中にないのでしょうか。
379774ワット発電中さん:2014/03/23(日) 17:44:48.92 ID:XraeSA6N
>>377
不可が小さすぎて電圧高くならないか心配(元が5.2Vだけに)
最近のは5.5V以上でも動くの?

>>378
現行のHDDをイメージ化してVirtualPCで動かす方法ってないものかしら
380774ワット発電中さん:2014/03/23(日) 19:17:14.28 ID:Pu2VO+e/
Win7でもMPLAB 8うごきますがな
381774ワット発電中さん:2014/03/23(日) 20:14:44.42 ID:QqoPZfpe
>>376
某携帯充電器メーカーの試験機はPICで動いてるのを知ってる人です。

リップルもノイズも多いしよく壊れて賠償問題起こすけど、秋月の5Vアダプタなみには
使って使えないことないですよ。
382378:2014/03/24(月) 01:42:14.80 ID:qfam28eT
皆様、ありがとうございました。
>>379
オラクルかどこかに仮想マシンのソフトがあったようですが…
>>380
Windows7は1万円ちょっとします。開発環境を維持するためだけに
それだけの出費はちょっと無理でして…
XPを完全スタンドアロンで使い続けるしかないようですね
383774ワット発電中さん:2014/03/24(月) 08:58:22.00 ID:acEPnllI
Linux上で動く仮想PCならVirtualBoxかなー…って思ったらそれがOracleのか
あとはWineで直接Windowsソフトを動かせないか

まああれだ、金が無いなら手を動かして、
それで得た知見を是非還元してほしい
384774ワット発電中さん:2014/03/24(月) 12:44:15.54 ID:9IUcFC77
>>383
VirtualBOXとかの仮想PCで、ちゃんとUSBでデバッグってできます?
昔は挫折したのですが。
385774ワット発電中さん:2014/03/24(月) 13:43:44.07 ID:EOpn2L5z
ぎゃーぎゃーさわぐならMPLAB XとXC使っとけ
386774ワット発電中さん:2014/03/25(火) 02:51:15.23 ID:TkVdp91W
教えてください。
MPLAB + XC8 + PicKit3 + PIC16F877 で勉強しています。
基板は自分で作りました。1日ではできずに大変でした。

MPLABのテキストエディタとデバッガーの使い方で質問があります。

MPLABのテキストエディタで、複数のファイルをタブで切り替える表示にしています。
多くの操作はキーボードショートカットでできるみたいですが、
テキストエディタのタブ切替は、ショートカットでできないのでしょうか?
いちいちマウスに持ち替えてタブをクリックするのが面倒に感じます。
よくありがちなのは、Windowsのソフト切替のように「CTRL+TAB」だと
思います。やってみましたが、できませんでした。

デバッガーの使い方で質問があります。
変数の内容を表示するのに、ウオッチウインドウ(時計ウインドウ?)を表示して
見たい変数を登録して、見ています。
この内容を、Logに取ることは出来ないでしょうか? 時間と共に変化していく値を
過去のものから記録に取りたいことが多いです。状態遷移の変数とかRS232で受けた文字とかです。
いつもは、printf()でハイパーターミナルに表示して、過去の値を見るようにしているのですが、
RS232Cのピンが1組しかない、I/Oの数が少ない、などで、困っています。

宜しくお願いします
387774ワット発電中さん:2014/03/25(火) 14:52:57.03 ID:wvczc8YL
MPLABXだとCtrl+0 でエディタ領域にフォーカスが移り、
エディタ領域にフォーカスが効いている間ではCtrl+Tabでどのファイルかを選ぶポップアップメニューが表示されマんもス
388774ワット発電中さん:2014/03/25(火) 15:08:11.60 ID:8VIAxfZh
MPLAB IDEだと、CTRL+TABでTextWindowのタブが移動できるけど、
最後(右端)のタブまで行くと、次はウインドウの移動になってしまう、変態仕様。
389774ワット発電中さん:2014/03/25(火) 22:09:40.72 ID:Z7DfZtyX
SHIFT+CTRL+TABでもどれ
390774ワット発電中さん:2014/03/28(金) 22:51:07.06 ID:dasTYuyR
MPLAB IDE + XC8で、PICを勉強しています。
C言語で使用できる言葉(PORTA)とかで、PICの品種によって、
LATなんとか、と書く物もあれば、PORTAでOKの物もあります。
この「言葉使い」は、何を見れば書いてあるのでしょうか?
データシートに出て来る言葉をそのまま使えばよいのでしょうか?
以前16F8xで作ったCソースを、18Fで使うと、エラーの嵐です。
こんなに、言葉使いが変わってしまうのでしょうか?
391774ワット発電中さん:2014/03/28(金) 23:02:42.55 ID:D5Wa0DZF
石ごとに定義されてるヘッダファイルがあるんじゃないの?
392774ワット発電中さん:2014/03/29(土) 00:17:18.59 ID:So/8HrVC
こうゆうのありですかね。全然うまくいかないけど。

for(i=0;i<3000;i++){
__delay_ms(1);
if(SW1==0){i=3000;}
}
3秒という時間つくっている間に、SW1が「押されたらさらに3秒追加。
393774ワット発電中さん:2014/03/29(土) 00:37:11.92 ID:gI9tR6rg
>>392
>SW1が「押されたらさらに3秒追加。
なら、
if(SW1==0){i=0;}
じゃね?
394774ワット発電中さん:2014/03/29(土) 09:14:08.10 ID:4AcAqMZ7
クソワロタ
395774ワット発電中さん:2014/03/29(土) 11:18:27.83 ID:wL0xGt8p
さらに追加なら、数値が増えないといけないと思う。
数値が最初に戻るだけではだめでは?
396774ワット発電中さん:2014/03/29(土) 11:52:52.46 ID:C119ThjS
こうかな?

int i, j;

for(i=0, j = 3000;i<j;i++){
__delay_ms(1);
if(SW1==0) {
if(i > 3000)
i -= 3000;
else
j +=3000;
}
397774ワット発電中さん:2014/03/29(土) 12:03:12.28 ID:So/8HrVC
おーそうか。すげー勘違い。これで二日悩んでた。
みなさんどうもありがとう。
398774ワット発電中さん:2014/03/29(土) 12:04:09.03 ID:Ftomgdon
なんでわざわざi>3000で分けてるのか分からん
常にi-=3000でも同じ事だろ

ちなみに押し続けてる間何回も3秒追加されるからこれは駄目
399774ワット発電中さん:2014/03/29(土) 18:04:46.60 ID:vmwPMBDA
delay_ms(1); の()の中って変数使えないのですか?
MPLAB IDE の場合とMikroCの場合ですが。
400774ワット発電中さん:2014/03/29(土) 20:40:17.72 ID:wS6li/5h
使えません
401774ワット発電中さん:2014/03/29(土) 22:12:31.36 ID:P+GzyXr2
教えてください。
PIC18F46K22のconfigで、P2Bというのが出てきますが、これが何だかさっぱりわかりません。
データシートのpdf中で検索しても、P2Bを説明しているところがないです。
402774ワット発電中さん:2014/03/29(土) 22:30:30.37 ID:no2WWqpR
>>401
多分PxBで表記されてる。
PWMxのBch
403774ワット発電中さん:2014/03/30(日) 01:24:55.26 ID:U8H/XbMN
>>402
どうもありがとうございました。検索で大量に引っかかるようになりました。
とてもよくわかりました。ありがとうございました。
404774ワット発電中さん:2014/03/31(月) 14:06:08.13 ID:4y4L51o3
PIC勉強中の、素人ですが、教えてください。
PIC18F46というPICを使ってMPLABとXC8で勉強しています。
データシートを読んでいて、クロックのところでわからないことがあります。
教えていただけないでしょうか?

1つ目
クロックのブロック図で、PLL使う/使わないの切替えの1と0が
反対のような気がします。いかがでしょうか?
以下↓の部分です。
http://img.wazamono.jp/pc/src/1396241766704.jpg

2つ目
この図の、矢印で示した部分は、どのように解釈すればよいのでしょうか?
AND記号の入力に、○が付いているので、反転という意味ですよね?
そうすると、
~(FOSC<3:0>の4bitが、1000または1001) と読めます。
それが正解なのでしょうか? 以下↓の部分です。
http://img.wazamono.jp/pc/src/1396241850446.jpg

宜しくお願いします。
405774ワット発電中さん:2014/03/31(月) 14:42:30.02 ID:hfKcmyjd
丸が無ければ、bit3が1 かつ bit2が0  かつ bit1が0 です。この場合、
丸があるので、論理式を展開すると(たしかド・モルガンの定理とかいうやつで)
「bit3が1以外」または「bit2が0以外」または「bit1が0以外」
の意味になります。
406774ワット発電中さん:2014/03/31(月) 15:44:21.11 ID:4y4L51o3
>>405
ありがとうございます。
>丸があるので、論理式を展開すると(たしかド・モルガンの定理とかいうやつで)
>「bit3が1以外」または「bit2が0以外」または「bit1が0以外」
>の意味になります。
私の書き方が悪くてすみませんでした。
>~(FOSC<3:0>の4bitが、1000または1001) と読めます。
と、()の前に~(チルダ)を付けてありますので、それで正しいのですね。
ありがとうございました。

連続した質問ですみませんが、もう一つ教えてください。

PICの水晶発振子として16MHzを付けて、PLLをONにして、システムクロック64MHzで動かしています。
確認のために、main()で、RA0=~RA0;とやって、オシロで見ても、8MHzしか出ません。
64MHzは出ないにしても
32MHzとか、16MHz以上でon/offしても良いと思うのですが、なぜか8MHzです。
PLLがonになっていないのでしょうか、それとも私はPICを壊してしまった可能性があるでしょうか?
407774ワット発電中さん:2014/03/31(月) 16:05:44.44 ID:hfKcmyjd
…チルダ(補数演算子)だと、011Xの場合「だけ」にならない?

011xは
0xxxと
x1xxと
xx1xの和集合のなかの一部分だけど、全体と一致はしないんじゃないかな…
(例:0100とか0000とか1111とか0010とか)

>RA0=~RA0;

TRISAとANCON0の設定は?
408774ワット発電中さん:2014/03/31(月) 16:34:08.49 ID:4y4L51o3
>>406
指摘、ありがとうございます。そうですね。
~() ではなくて、!= ()でした。

>RA0=~RA0;
>TRISAとANCON0の設定は?
以下のように、defineで定義しています。
#define RA0 PORTAbits.RA0
409774ワット発電中さん:2014/03/31(月) 16:36:21.44 ID:DbsoDnaJ
>>408
PIC18の命令実行サイクルは FOSC/4です。
64MHz/4=16MHz

>RA0=~RA0;
のの処理に2命令かかってる計算です。
410774ワット発電中さん:2014/03/31(月) 16:37:38.99 ID:hfKcmyjd
ポートの入出力方向の設定をTRISレジスタでおこないます。

また、AD入力のピンを兼ねているのでI/Oポートに使うのか
アナログ入力に用いるのか?の設定をPORT-AはANCON0で行います。

アナログ入力設定になっていると、RA0に何を書いても出力されません・・・
411774ワット発電中さん:2014/03/31(月) 17:21:06.28 ID:hfKcmyjd
ごめん、8MHzは出てるんだからTRISは問題ないっすね、
ぶっちゃけ>409さんが正解みたいですね。しつれいしますた
412774ワット発電中さん:2014/03/31(月) 18:33:02.99 ID:3L69HgKO
PICのプログラムの勉強中なのですが、一つ質問があります。

ランダムな間隔でLEDの点灯を行い(結果的に不定期点滅)たいと思っています。
>>339さんの質問でもあったdelay_ms(1);のカッコ内が変数OKならランダムを得て、
点灯の命令、消灯の命令と組み合わせてループで万事OKなのですが、
それは出来ないのは自分でも実験して解りました。

そこで、 forループを使ってループ内にdelayを入れて、繰り返し回数をランダムにと考えました。

xがランダムとすると
for (i = 0; i < x; i++)
と言う感じです。

しかし、これも、変数は使えないようなので、他によい方法を探しています。

使っている環境はMikroCです。
もしかして、MPLAB IDE なら出来たりするのでしょうか?
無理なら、こういう場合どの様な書き方がよいのでしょうか?

先輩方のアドバイスをお願いします。
413774ワット発電中さん:2014/03/31(月) 18:43:43.63 ID:DbsoDnaJ
>>412
変数でdelayしたいなら、

void DelayMs(int val)
{
for (;val;val--) {
_delay_ms(1);
}
}
の関数を作成して、呼ぶのはだめなの?
414774ワット発電中さん:2014/03/31(月) 22:32:09.07 ID:3L69HgKO
>>413
そういう方法があるのですね。

for (;val;val--)のところですが、
自分の理解ではfor (式1;式2;式3)で
式1 1度だけ読まれる(初期値)
式2 終了条件(真の間繰り返される)
式3 再初期化(加算や減算で初期値から終了条件までの動きを制御)
と思っているのですが、
for (;val;val--)の場合、初期値はどうなるのでしょうか?
また、終了条件と同じ数だけ減算で再初期化すると言う事でしょうか?
415774ワット発電中さん:2014/03/31(月) 23:18:54.83 ID:LDQFSQAi
valが0でループを抜けるからこれでOK

void DelayMs(int val) {
int i;
for (i = 0; i < val; i++) delay_ms(1);
}
ってやってもいいけど それは無駄だよねー っていうコード
416774ワット発電中さん:2014/03/31(月) 23:35:57.00 ID:4y4L51o3
>>409
どうもありがとうございました。
なるほど、納得です。すでに64MHzになっていたんですね。

>RA0=~RA0;
は、
L→Hするのに1clock必要、
H→Lするのに1clock必要。都合半分のトグル周波数になるのですね。ありがとうございます。

ただ、せっかくPLLで4倍の64MHzにしたのに、1/4になって16MHzですか。
なんで1/4になるんでしょう。もったいない感じがします。

ありがとうございました。
417774ワット発電中さん:2014/03/31(月) 23:46:15.29 ID:4y4L51o3
>>414
>自分の理解ではfor (式1;式2;式3)で
>式1 1度だけ読まれる(初期値)
>式2 終了条件(真の間繰り返される)
>式3 再初期化(加算や減算で初期値から終了条件までの動きを制御)
>と思っているのですが、
それが正しいと思います。
for (;val;val--)という書き方もできる、と覚えて置く程度で良く、真似をする必要は全く無いと思います。
通常のif()文にしても、
if(a)
  b=5;
とも書けますが、
if(a != 0){
  b=5;
}
と書いた方が、勘違いが無くて良いと思います。
特に、{ }を省略する書き方は、2行以上の処理になると、{ }を付けなくてはならないので、
1行だろうが、2行だろうが、常に{ }を付けるようにすれば、間違いはなくなり、
結局楽ちんだと思いまする
418774ワット発電中さん:2014/03/31(月) 23:46:54.57 ID:9n68amP3
1命令に4クロックかかるのがPICの仕様だから仕方がない。
別に周波数を1/4にして使っているわけではない。
これでもPICが出た当時は早い方だったっぽい。
419774ワット発電中さん:2014/04/01(火) 01:14:55.58 ID:kYThmYEO
>>416
1命令1クロックにしようすると、ゲート規模
でかくなってコストがあがる。
420774ワット発電中さん:2014/04/01(火) 01:33:45.19 ID:nrLWliwj
>>418,419
>これでもPICが出た当時は早い方だったっぽい。
そうなんですか。ありがとうございます。

すると、H8などはシステムクロック=原振周波数なので、かなり速いんですね。25MHzとか平気でありますし。
なんでPICは1命令4クロックもかかるのでしょうね。ハーバードアーキテクチャのせい? RISCのせい?でしょうか。
これほど品種が多くて、ツールもIPも無料なのに、とても残念です。
今主流のPIC24Fxxxxでは、どうなのか、今度調べてみます。
421774ワット発電中さん:2014/04/01(火) 02:50:48.18 ID:kjn44nWi
遅いといってもメモリから読み出してメモリに書き戻す処理をやっているんだから
レジスタ間演算がメインのマイコンと比べちゃダメ
422774ワット発電中さん:2014/04/01(火) 07:42:19.90 ID:2vgEYaOs
>>420
32MXからはMIPSアーキテクチャ使用になって
命令パイプラインが深くなってるから
一クロック1命令じゃね?
厳密にいうと違うけど・・・
423774ワット発電中さん:2014/04/01(火) 07:44:42.81 ID:2vgEYaOs
>>420
それと最近のは外付けのクリスタルつけないでも内部PLL(逓倍器)つかえば
内部CR発振回路でも40MHz以上は出るんじゃね?
424774ワット発電中さん:2014/04/01(火) 13:52:11.66 ID:mdxBd2MT
アフォの子を寝かしつけるのは苦労するからな。
どのH8かと思ったが25MHzとか言ってるってことは・・・。
メモリアクセスとか周辺モジュールアクセスとかアドレッシングモードとか。
理解してからじゃなきゃ無理か・・・。
425774ワット発電中さん:2014/04/01(火) 22:23:29.76 ID:2ak7YLJx
>>421
レジスタがたくさんあると、割り込み処理でレジスタ退避に
時間がとられる。
426774ワット発電中さん:2014/04/01(火) 22:52:34.03 ID:BOXcfKBx
>>424
はいはい勿体つけマンはねんねしようねー
427774ワット発電中さん:2014/04/01(火) 22:53:03.15 ID:A8oZloe6
MCLRはふつう物理的なスイッチで使うようですが、
RC3=0;
というふうにプログラム上でMCLRをONできないんでしょうか。
428774ワット発電中さん:2014/04/01(火) 23:27:54.01 ID:2ak7YLJx
>>427
MCLRをポートに使える奴も、入力しか出来ない。
429774ワット発電中さん:2014/04/01(火) 23:33:13.78 ID:A8oZloe6
ありがとうございます。
430774ワット発電中さん:2014/04/02(水) 03:16:50.81 ID:H9IH/wAV
ボートのI/Oするときに、変数が構造体てのために、長い名前の変数です。例えば
LATAbits.RA0 = PORTA.bits.RA1;
とかです。
みなさん、このように長い名前のまま使っているのでしょうか?
RA0 = RA1; と書くと、エラーが出ます。
431774ワット発電中さん:2014/04/02(水) 04:02:04.47 ID:rBC1lU75
俺も全く同じ事思ってる。
でも、やり方わかんないので長いまま書いてる。
短くする方法があるなら知りたい
432774ワット発電中さん:2014/04/02(水) 09:22:17.20 ID:MZ8bzocS
>>431

#define LED LATAbits.LATA0
#deifne SW PORTAbits.RA1

LED = SW;

とか?
433774ワット発電中さん:2014/04/02(水) 10:51:07.85 ID:JvBre5TD
それって、やってもいいのか?
434774ワット発電中さん:2014/04/02(水) 13:40:44.57 ID:MZ8bzocS
>>433
やっちゃいけない理由でもあるの?
435774ワット発電中さん:2014/04/02(水) 16:07:20.17 ID:lMS/B8CH
>>430, >>432
短くするメリットってあるんだろうか
メモリが節約できるとかは無いよね
436774ワット発電中さん:2014/04/02(水) 20:27:10.49 ID:n/2BTl/E
タイプ量を減らす。
タイプミスを減らす。
あ、仕事だと減ると困るのかw
437774ワット発電中さん:2014/04/02(水) 21:19:11.19 ID:H9IH/wAV
なんで、LATAbits.LATA0 とか、Aポートであることを2回も書く必要があるのか。
LATAbits.LATB0 とか、間違いの元だと思う。
MicrochipのXC8の構造体の名前を考えた人のセンスを疑う。
LATA.b0でいいと思う。
みなさんどう思いますか?
438774ワット発電中さん:2014/04/02(水) 21:19:38.38 ID:z3Rp94Cn
それだけですか。
じゃ、あとで分かりやすいように
LATAbits.RA0
式の方がいいですね。
439774ワット発電中さん:2014/04/02(水) 21:21:43.61 ID:z3Rp94Cn
>>437
LATAbits.
まで入力すると
LATA0
はエディタが出してくれるんで
どっちでもいいです
440774ワット発電中さん:2014/04/02(水) 23:33:56.34 ID:vpFbXnvw
>>437
たしか、前身のHI-TECH Cからこの様な名前だったと思う。
441774ワット発電中さん:2014/04/03(木) 10:30:01.32 ID:E3FK5jjX
>>439
入力の時より、修正の時に間違える。

同じことを二箇所修正するのを忘れる。
エラーで上がってくるとはいうものの。
442774ワット発電中さん:2014/04/03(木) 19:12:07.39 ID:7rsdIk7u
>>441
確実にエラーになるから間違えようが無いよね。
つまり
>LATA.b0でいいと思う。
有意な理由は存在しない。
443774ワット発電中さん:2014/04/04(金) 10:23:47.61 ID:LGljf3b3
しかし、全くの無意味でもない
・タイプ数が少なくて済む。
・ポート変更時の修正ミスが削減できる。
・イライラしなくて済む
444774ワット発電中さん:2014/04/04(金) 15:48:05.71 ID:8hxgCRIy
・タイプ数が少なくて済む。---IDEが自動で吐くからタイプしなくて済む
・ポート変更時の修正ミスが削減できる。---IDEの置換機能で一括書き換するから間違えない
・イライラしなくて済む---以上からそもそもイライラしない
445774ワット発電中さん:2014/04/04(金) 18:45:01.88 ID:lVrDqyDX
基本、長い変数名は見にくいし、ソース中に出てくると、読みにくい。
446774ワット発電中さん:2014/04/04(金) 19:06:01.55 ID:DzOl70V2
ヘッダファイルの
#ifdef

#else

ってどんなときにつかうん?

#define  で定義する文を自分で書き換えて多目的に使うってことなの?
447774ワット発電中さん:2014/04/04(金) 19:20:35.14 ID:SysJ8C8r
構造体と共有体で
自分でつくればいいだけなのに
文句言う人
448774ワット発電中さん:2014/04/05(土) 00:05:43.05 ID:YReE34os
>>445
自己完結乙
449774ワット発電中さん:2014/04/05(土) 02:19:06.29 ID:EFvb/e5o
活発な意見が出ているところ、すみません。教えてください。

MPLAB XC8 で、PIC18F46Kを勉強しています。
printf()を使いたいのですが、RS232Cが2chあるので、どちらのUARTに対するprintf()か、
どのように区別するのでしょうか? fprintf(UART1, "xxxx") などと使えればよいのですが
450774ワット発電中さん:2014/04/05(土) 08:39:46.88 ID:wVvUthUL
>>446
PICじゃない例だけど

#ifdef _MSC_VER
#define _USE_MATH_DEFINES
#endif
#include <math.h>

円周率を定義したマクロ M_PIってやつがmath.hに
定義されてるんだが どういうわけだか Microsoft の C
では _USE_MATH_DEFINES を defineしないと有効に
ならんのよ Windowsでもlinuxでも動くコード書きたい
ときとかによく使う
451774ワット発電中さん:2014/04/05(土) 09:36:19.16 ID:wVvUthUL
>>449 XC8をインストールすると Compiler Manualもいっしょに
インストールされる そこの3.5.7節を読むべし

You can get printf to send to one of several destinations by using a global variable
to indicate your choice. Have the putch function send the byte to one of several destinations
based on the contents of this variable.

printfが呼ぶ1文字出力関数putchは自分で書かないといけないが
そこの中で大域変数を使うなどして出力先を切り替えなさい と
452774ワット発電中さん:2014/04/05(土) 10:17:33.47 ID:uEYH3ojl
同時に2ch開設したいときはどうするの?
453774ワット発電中さん:2014/04/05(土) 12:10:49.27 ID:5LX7I+sc
>>450
それインクルードガードとかいうやつが上段に入ってるんじゃないの?
454774ワット発電中さん:2014/04/05(土) 12:16:45.38 ID:wVvUthUL
>>452 まめまめ切り替えるんだと思いますよ
どうせシングルタスクでしょ
void putch_ch1(char data) { ... }
void putch_ch2(char data) { ... }
...
char output_ch; // select output channnel
void putch(char data) {
switch(output_ch) {
case 1: putch_ch1(data); break;
case 2: putch_ch2(data); break;
}
}
とかやって
output_ch = 1; printf("hoge");
output_ch = 2; printf("tara");
とか
以下はVCではとおるな XC8ではどうかしらん
char output_ch;
#define PRINTFCH1 output_ch=1; printf
#define PRINTFCH2 output_ch=2; printf
void main(void) {
PRINTFCH1("%d\n", output_ch);
PRINTFCH2("%d\n", output_ch);
}
455774ワット発電中さん:2014/04/05(土) 12:27:52.83 ID:AO1nDS1T
PICはアセンブラしか使ってないからPICのCは、ようしらんけど
threadやプロセスの並列処理なんて関係あるん?
シリアルに送りたいならマルチタヌキでもfputcで
標準入出力じゃなくて出力ストリームを指定するんとちゃうの?
456774ワット発電中さん:2014/04/05(土) 12:29:02.78 ID:wVvUthUL
>>453 いや これの場合は非標準だからという理由のようで
ttp://msdn.microsoft.com/ja-jp/library/4hwaceh6.aspx
うーでもこれgccとかSunOS時代のCでも普通に入ってたから
標準にしなかった理由がよく分からない
インクルードガードってのは
#ifndef __HOGE_H__
#define __HOGE_H__
...
#endif
ってやつで ヘッダファイルの2回読み禁止するためのテクニックね 
Objective-Cだと#importとかあって便利ですね
VC++では違う意味になっちまいますが
457774ワット発電中さん:2014/04/05(土) 12:36:02.31 ID:pKPQJO8r
VCには #pragma once があるけど、みんな
ふつう(>>456)のインクルードガードと併用してるから
何の役にも立ってないw

#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
458774ワット発電中さん:2014/04/05(土) 13:32:19.73 ID:wVvUthUL
>>455 関係ないんでこんなラフな方法でもOKということ
そうでなきゃしっかりミューテックスだのセマフォだの
資源管理せにゃならんですばい
出力ストリームなんてものもあるわけなし
PIO直でたたくか せいぜいAPIが用意されていて
それぞれのポートごとに違う関数を呼ぶぐらいでせう
XC8の場合 usart.hにputc1USARTとかputc2USART
とかあるようですからこれを使うのかな
459774ワット発電中さん:2014/04/05(土) 20:27:21.27 ID:c8f2Pc0J
#ifdef DEBUG
デバッグ用の main() を書く
#else
通常動作用の main() を書く
#endif

なんてしません?
460774ワット発電中さん:2014/04/06(日) 17:42:34.66 ID:BBlizDrj
>>459
なるほろ
461774ワット発電中さん:2014/04/06(日) 18:45:58.41 ID:Ycb16Mc/
>>459
ヘッダでしか使わないからわからんのだけど
ライブラリ用のファイル作ったほうがわかりやすくないの?
462774ワット発電中さん:2014/04/06(日) 22:34:11.53 ID:s7EHignW
デバッガなどといふ近代兵器が使へない環境では
#ifdef DEBUG
fprint(stderr, "hogetara\n");
#endif
でデバッグしとったのう(遠い目)

マイコンでもLED1個つけとけば
#ifdef DEBUG
LED_ON(); // or LED_OFF();
#endif
とかやってどこまでうまく動いているかみたりできる
463774ワット発電中さん:2014/04/07(月) 00:05:28.91 ID:gsreOvni
PIC初めてです。教えてください。

C言語で、8bitの中の特定ビットが1か0か調べる方法は、
if( ( a & 0b10000000 ) != 0 ){ ... という記述しか無いでしょうか?
と言いますか、もっと高速に判断できる方法はないでしょうか?

というのは、SPIの部分を作っていて、シリアル出力をもっと早くしたいのです。
例えば8bitのMSBから順番にデータ線に乗せて、クロックを↑↓するのですが、
以下の用に書いています。

if( ( a & 0b10000000 ) != 0 ){ dat = 1; } else { dat = 0; }
a <<= 1;
同上を8回行い
clk = 1; clk = 0;
という感じに書いています。

a <<= 1; のシフトも、もっと速く動く記述方法はありますでしょうか?
464774ワット発電中さん:2014/04/07(月) 00:44:20.66 ID:aIndK8LV
C言語使ったことないけど、レジスタ内の特定のbitを指す書き方無かったっけ。
まあa&0b10000000!=0でもコンパイラが頭よければ同じ結果になりそうだけど。

あとdatをセットする時は
dat=0;
if(〜){
dat=1;
}
にするとちょっと速いかも。
465774ワット発電中さん:2014/04/07(月) 01:03:32.34 ID:vxbMVhk0
>463

普通そういう感じじゃないでしょうか?でも式の値が 0 なら偽でそれ以外が正なんだから
こういう感じにはできるでしょう。

for(i = 0; i < 8; i++) {
if(a & 0x80)
clk = 1; // or clk(1);?
else
clk = 0; // or clk(0);?
a <<= 1;
}
466774ワット発電中さん:2014/04/07(月) 01:08:00.07 ID:mCMVq88h
I2Cなら使ってるからわかるけど
まあ似たようなプロトコルだからおそらくだけど
SPIXCON使ったほうがいいんじゃね?
バッファとか通信シーケンス用のレジスタが入ってるから
融通きくし、いいとおもう(´・ω・`)
467466:2014/04/07(月) 01:12:09.50 ID:mCMVq88h
>>463
おそらく通信速度もレジスタで自由自在に簡単に変えられるからSPIXCONつかって
そんで関数組んでライブラリにしてここでオープンソースにして俺に使わせてたもれw
(´・ω・`)
468774ワット発電中さん:2014/04/07(月) 01:48:30.76 ID:gsreOvni
みなさん、ありがとうございます。

>>464
>あとdatをセットする時は
>dat=0;
>にするとちょっと速いかも。
ありがとうございます。そうですね。確率の高い方をセットすることにします。

>>465
>if(a & 0x80)
>clk = 1; // or clk(1);?
>else
>clk = 0; // or clk(0);?
>a <<= 1;
ありがとうございます。
でもその書き方だと、送信dataが1のときしかclkを打たないので、マズイと思います。

>>466
>SPIXCON使ったほうがいいんじゃね?
なるほど、ハードウェアにやってもらうのはいいですね。忘れていました、というか
使ったこと無いのでした。ありがとうございます。
おっと、待ってください。24bit連続させたいのですが、できましたっけ? 8bit専用とか。

考えているのは、
・forなどの繰り返しを使わない。(繰り返しと判定で、遅くなるから)
・if()より、= ( a & 0b10000000 )? 1 : 0;の方が速い(?)かも、なので、
dat = ( a & 0b10000000 )? 1 : 0; clk↑↓
dat = ( a & 0b01000000 )? 1 : 0; clk↑↓
dat = ( a & 0b00100000 )? 1 : 0; clk↑↓ と、全bitを繰り返す。これを3回やって24bit。
・a<<=1;など、シフトは予想外に遅い。
・clkの↑↓を、以下に速くやるかを考える。
  clk=1; clk=0; より、clk=~clk; clk=~clk;の方が速い?

MPLABでアセンブラ結果が見えれば、クロック数が数えられるのですが、.asmが生成されないようで。
さらにPICだと、水晶発振の1/4になってしまうので、マイコンを変えるのも手かもしれませんね。
SPI方式のシリアルD/Aコンバータの駆動です。

ありがとうございました。
469466:2014/04/07(月) 02:04:35.45 ID:mCMVq88h
>>468
I2CXCONでできたからできるんじゃないかな?
ただDAコンバータなら
4ビットでいいならcvrefをピン出力すればでるんじゃね?
470774ワット発電中さん:2014/04/07(月) 09:38:17.05 ID:R83ZgDuM
>>469
8ビットを三回送ると言っているから、
たぶん24bitのDAではないかな
471774ワット発電中さん:2014/04/07(月) 12:29:44.77 ID:e7xWgPwm
シリアルを使ったADやDAって、配線には利点があるけど、
転送に時間がかかるので、迷う所だね。
FPGAだとMHzオーダーでガンガンI/Oできるけど、マイコンでは辛いと思う。

16bitD/Aでも、ゲインとかchセットとかがあって、24bit送る必要があったりして。
44.1kHz × 10点/波 × 24bit/点 = 10.584MHzで繰り出す必要がある。
SPIのハードコアを内蔵していても、8bitだろうから、1/8に短縮されても
1.3MHzのスピードで割込の手当しないといけない。
マイコンでこのスピードは辛いと思うけど、どうでしょうか?
472774ワット発電中さん:2014/04/07(月) 15:13:44.22 ID:mCMVq88h
USB用にPLLと高速レジスタが内蔵されてるんだから
速度求めるなら
そっちじゃね?
473774ワット発電中さん:2014/04/07(月) 16:20:37.45 ID:Ed50SybR
転送速度もあれだがそんな大量のデータを演算する余裕はあるのかね
474774ワット発電中さん:2014/04/07(月) 16:33:25.19 ID:HVzrEPWZ
通信の速度がものすっごく大きくても
だからといって通信が発生する頻度も必ずしも大きいとは限らないんでね?
475774ワット発電中さん:2014/04/07(月) 17:17:27.85 ID:e7xWgPwm
ちなみに、PICでシステムclockの一番速いのって、何だろうか。
PLLで64MHzに逓倍しても1/4しない品種があったかなぁ?
476774ワット発電中さん:2014/04/07(月) 17:32:32.21 ID:omg4XEU0
実際のところ、何Mくらいで動作させたいの?
必要とするサンプリング周波数はいくつ?
ADの有効桁数とか演算処理はどうなのか?
とかの検討が要るんじゃないかな。

演算もそうだけど、ビット出力でクロックとデータ生成するんならそっちだって
ビット演算が1ステートでできるわけでもないように思うので、トータルで考えないと
いけないんじゃね?

そういうことやってくと、案外サンプリングの速度とか遅くせざるをえなかったりすると思うが。
というか、実際問題としてFPGAを使うという選択は普通にある。
477774ワット発電中さん:2014/04/07(月) 18:52:08.53 ID:bSjRgOgu
最近秋月で扱い始めた12F1501ってどうなの?
478774ワット発電中さん:2014/04/07(月) 20:54:12.13 ID:mCMVq88h
>>475
PIC32MZ
でぐぐってみ(´・ω・`)
479774ワット発電中さん:2014/04/07(月) 22:00:46.22 ID:Z3Ne6dfQ
PICでandroid用USB-Bluetooth HIDアダプタ作ってみた。
http://sohta02.web.fc2.com
480774ワット発電中さん:2014/04/07(月) 22:44:57.67 ID:BCXrPkQw
>>475
PIC32MZ が最速。
481774ワット発電中さん:2014/04/07(月) 23:00:03.39 ID:AyyNAYxc
12ビットくらいのDA内蔵のPIC出ないかしら
482774ワット発電中さん:2014/04/07(月) 23:22:18.74 ID:p/0g2Qat
SSPを使って複数バイトを早く送ろうと思ってもSSPxIFが立つのが1バイト
送り終わってからだから、どうしても間隔ができちゃうんだよな。
UARTみたいにダブルバッファになっていれば連続して送れるんだけど。

もっともSPIの場合は送信と受信がワンセットになってるから密に送ると
いうのは想定していないんだろうけど。D/Aにデータを送るとかDDSの周波
数をセットするとか送信だけを使う場合が結構多いので、そういうモード
も用意して欲しいな。
483774ワット発電中さん:2014/04/07(月) 23:47:50.32 ID:BCXrPkQw
>>482
たしか、PIC24やPIC32には 8段位のバッファ付いてたはず。
484774ワット発電中さん:2014/04/08(火) 00:44:08.76 ID:5EmjjiZZ
18F4550でSDカードのSPIモードの読み書きした時は、
>>468 のようなコード書いてみたけど
ハードに任せたほうが速かった。
どんくらいの差だったか忘れたけども
485774ワット発電中さん:2014/04/08(火) 00:52:50.14 ID:IpCyp2Xj
スレの趣旨通り、みなさんは超ハイレベルな初心者なんですねw
486774ワット発電中さん:2014/04/08(火) 02:31:49.95 ID:HVcIXyZD
なんでここに書き込むんだろ。あっちに書けばいいのに。
これも荒らしの一種なのか。
487774ワット発電中さん:2014/04/08(火) 07:24:14.20 ID:a233+8Cw
あっちが初心者スレというかネタスレになってるな
488774ワット発電中さん:2014/04/08(火) 08:47:14.62 ID:zAC0Cl3w
自治嵐怖いよ
489774ワット発電中さん:2014/04/08(火) 08:50:41.51 ID:+PQVqRmZ
このスレ、結構内容がいいので、よく見てる。
質問者の素朴な疑問が、いい。
490774ワット発電中さん:2014/04/08(火) 10:54:28.80 ID:GKQepP2n
>>474
SPIは送る側がクロック決めるんだからのんびりでいいなら
通信の速度ものんびりでいいんだよ。
491774ワット発電中さん:2014/04/09(水) 00:04:12.58 ID:8n6H6+U7
>>482
自力でクロックを数えてタイミングよく書けばいいんじゃないかな
492774ワット発電中さん:2014/04/11(金) 03:24:50.76 ID:WEaMSgkk
質問させてください。

PicKit3というアダプターを使ってプログラムをPICに転送していますが、
そのUSBコードを、USBハブ経由で挿すと、PCがアダプターを認識しません。
直接PCに挿せば、認識します。
何をしたらUSBハブでも認識するようになるでしょうか?
アダプターは赤色です。(黒色ではありません)
よろしくおねがいします
493774ワット発電中さん:2014/04/11(金) 06:13:44.72 ID:a9bsKIta
USBの電源供給能力が足りないとだめ
494774ワット発電中さん:2014/04/11(金) 06:29:58.41 ID:a9bsKIta
>>492
ww1.microchip.com/downloads/jp/DeviceDoc/51795B_JP.pdf
p43 7.2-4
495774ワット発電中さん:2014/04/11(金) 08:33:54.67 ID:Cr7Nu5kR
PICの開発環境って
MSDOS期時代のような無意味な排他性価値観があるし、それも機能不全がかなり残ってる
496774ワット発電中さん:2014/04/11(金) 10:57:32.07 ID:fx5gcJVa
排他性価値観って何?初めて聞く言葉だ
497774ワット発電中さん:2014/04/11(金) 13:05:35.60 ID:FuATeZYM
なにいってんだかぜんぜんわかんねーよなww
498774ワット発電中さん:2014/04/11(金) 14:03:05.61 ID:a8/vytT/
>>492
493の言うとおり、基板が電源を供給してもらっているかも知れない。
Pickit3の電源供給機能をoffに設定すれば良いと思う。
499774ワット発電中さん:2014/04/11(金) 15:54:39.46 ID:9x3Htd8j
>>496
排他的経済水域、排他的既得権とかふつう使うよ。
500774ワット発電中さん:2014/04/11(金) 23:06:27.36 ID:TKiS8HJP
普通と思えるなら、多分お前は、日本人じゃない。
日本語の不自由な韓国人とかじゃね?
501774ワット発電中さん:2014/04/11(金) 23:12:04.83 ID:z6F+OA84
俺様こそ日本標準
そういう考えは捨てたほうがいい
502774ワット発電中さん:2014/04/12(土) 00:12:33.75 ID:SlFyq6H+
>>500
まさに排他的
503774ワット発電中さん:2014/04/12(土) 00:23:27.63 ID:iaKt6gXD
排他的PIC専用のスレ、なんちゃって。
504774ワット発電中さん:2014/04/12(土) 00:32:00.62 ID:HS94oeyB
吐いた
505774ワット発電中さん:2014/04/12(土) 03:18:55.34 ID:4rM13ZAL
盛り上がっているところ、すみません。教えて欲しいことがあります。

XC8でC言語でプログラミンをしています。
変数の中の特定ビットの1,0を知るのに、
if( (a & 0x08) != 0 ){ ..... とか
b = ((a & 0x08) != 0)? 1 : 0; とかを使っていますが、
構造体という方法で書くと楽ちんなのを知りました。
if( PORTA.bits.B0 == 1 ){ ....とか
b = ( PORTA.bits.B0 != 0)? 1 : 0; とか です。
構造体は、特定bitを簡単に表記できますが、
結局は、8bit読み込んで、0x01 をやって、書き戻しているのでしょうか?
506774ワット発電中さん:2014/04/12(土) 03:22:45.48 ID:4rM13ZAL
盛り上がっているところ、すみません。教えて欲しいことがあります。

XC8でC言語でプログラミンをしています。
変数の中の特定ビットの1,0を知るのに、
if( (a & 0x08) != 0 ){ ..... とか
b = ((a & 0x08) != 0)? 1 : 0; とかを使っていますが、
構造体という方法で書くと楽ちんなのを知りました。
if( PORTA.bits.B0 == 1 ){ ....とか
b = ( PORTA.bits.B0 != 0)? 1 : 0; とか です。
構造体は、特定bitを簡単に表記できますが、
結局は、8bit読み込んで、0x01 をやって、書き戻しているのでしょうか?
だとすると、どの方法でも処理速度は同じになるでしょうか?
507774ワット発電中さん:2014/04/12(土) 03:58:49.19 ID:Xdr0BDoH
>>506
どうなんかな?
とりあえずアセンブラ命令みてみると
bit処理命令っていうのがあって
BTFSSとかBTFSCっていうのがあるよ(´・ω・`)
MIPSアーキテクチャは多分違うけど・・・
コンパイラがどんな風に書きかえるかによってちょーぴいと多少違うんじゃない?
508774ワット発電中さん:2014/04/12(土) 04:06:22.87 ID:Xdr0BDoH
コンパイラを自作で作って勉強してみるのも手じゃね?(´・ω・`)
509774ワット発電中さん:2014/04/12(土) 05:03:13.21 ID:YAOvR3pk
>>506
構造体とやらの方しか知らんかった。
おいらが変なのかな。
510774ワット発電中さん:2014/04/12(土) 11:37:56.30 ID:KlM+rqJp
>>501
では、このスレ住人00人でも、身近な100人いいが、そのうち、日常会話で

 「排他性価値観」

とか言ってる奴が何人居るか、考えてみ?
511774ワット発電中さん:2014/04/12(土) 11:57:08.47 ID:DpIH6dUa
XC8の作るファイルで、
アセンブラのファイルの拡張子は、何になりますか?
xxx.asmを探したのですが、見つかりません。
512774ワット発電中さん:2014/04/12(土) 13:05:46.50 ID:yqhLS7Dx
.lst ファイルなら作られるけど
自分で書く場合は.asmファイルを自分で作る
513774ワット発電中さん:2014/04/12(土) 13:31:20.64 ID:iaKt6gXD
>>510
おいおい日本語がおかしいぞ。それに100人に聞いてみろ、なんて発想がこども。
514774ワット発電中さん:2014/04/12(土) 13:52:03.86 ID:KlM+rqJp
>>513
日本語読めないのかw
身近にいる100人を想像してみろと言ってる。
あ‘ニートだったか、すまん。
515774ワット発電中さん:2014/04/12(土) 14:08:18.21 ID:iaKt6gXD
>>514
だから、自分の文章よく見てみろ
「スレ住人00人でも、身近な100人いいが」
って日本語おかしいだろ。まずはそこからだ。
516774ワット発電中さん:2014/04/12(土) 14:16:09.74 ID:KlM+rqJp
別に
517774ワット発電中さん:2014/04/12(土) 14:20:54.46 ID:iaKt6gXD
>>516
別に、ってなに?こどもじゃないんだからさ。
518774ワット発電中さん:2014/04/12(土) 14:27:35.55 ID:iaKt6gXD
>>510
> スレ住人00人


ってどうゆうこと?
519774ワット発電中さん:2014/04/12(土) 14:28:56.34 ID:KlM+rqJp
>>517

516の「別に」は、>>515の「て日本語おかしいだろ」に対する返答だ。
これで理解出来たか?

ちなみに俺は子供。
520774ワット発電中さん:2014/04/12(土) 14:30:02.39 ID:iaKt6gXD
>>510
> 身近な100人いいが


これどうゆう意味?
521774ワット発電中さん:2014/04/12(土) 14:33:04.43 ID:iaKt6gXD
>>519
なるほど
「別に俺の日本語おかしくない」
っていう意味?
522774ワット発電中さん:2014/04/12(土) 14:35:48.10 ID:KlM+rqJp
>>518
>>520

すまん。タイプミスだわ。
でも、説明するの、めんどくさいから適当に理解してくれ。別に理解しなくても良いが。
PICの話題なら、ある程度まじめに書く気も起きるかもだが、あまりにも時間が無駄と感じる。
523774ワット発電中さん:2014/04/12(土) 14:44:04.90 ID:iaKt6gXD
タイプミスはよくあるよね。そこは忘れよう。

で、おれの意見はスレ住人100人に入るのかい?
524774ワット発電中さん:2014/04/12(土) 14:52:54.22 ID:KlM+rqJp
>>523
そこも忘れてもらって良いよ。
525774ワット発電中さん:2014/04/12(土) 14:56:23.75 ID:iaKt6gXD
>>524
じゃ君の意見は100人に入るのかい?
526774ワット発電中さん:2014/04/12(土) 15:01:00.12 ID:iaKt6gXD
あ、意味とりちがえた。

全部わすれてね。
--オワリ--
527774ワット発電中さん:2014/04/12(土) 15:06:44.16 ID:yqhLS7Dx
>>506 XC8だとちゃんとビット演算使ってるね
PSoC1だとM8はビット演算なくてGPIOのアクセスは8bit単位
だから誤書き換えに気を使う
528774ワット発電中さん:2014/04/12(土) 15:31:53.05 ID:n5RDhppW
>>506
そこまで考えだすくらいなら(インライン)アセンブラ使った方が幸せになれるんじゃないかなあ
C言語はそんなCPUごとの違いまで考えなきゃ分からないようなことをするためのものではない
529774ワット発電中さん:2014/04/12(土) 15:45:45.59 ID:DpIH6dUa
>>512
ありがとうございました。フォルダー内をよく探したら、
.asというファイルがありました。Cの文章の下に、アセンブラーが書かれていました。
これでクロック数を計算するのでしょうか。もう少し勉強します。

あと、質問いいでしょうか?
RS232の送信バッファーを作っています。
・配列変数を30個宣言して、
・書込数、読出数の変数を置き、
・書込数 != 読出数のとき、TXREGレジスタに8ビット書込ます。
・読み出し数を++して、
・%= 30 で、数字が超えたら小さくする
という方法ですが、質問は、

1) %= で、読込数の超えを、毎回チェック市内といけないでしょうか?
  %= を使うと、処理がとても時間がかかり、書込に追いつかれてしまいます。
  if()にすると、少しは早くなりますが、チェックなしで実現できないでしょうか
2) 送信配列を256個取れば、1)のチェックなしで、常に++すれば良いと思うのですが、
  その方法は、いけないことでしょうか?
3) 256個も取るとメモリーが無くなってしまうので、16個(4ビット分)とか 32個(5ビット分)とかにしたいですが、
  それだと++だけでは済まず、if()が必要になると思います。
  やっぱり、そういうものでしょうか? 5ビットの変数とかは作れないでしょうか?
530774ワット発電中さん:2014/04/12(土) 16:02:24.17 ID:KEy42ThG
>>529
32とか2のべき乗にして0x1fでマスクすれば少しは早くなるかな。

書き込みに追い付かれるというのはデータの発生量に対して送信スピード
が遅いのでは?
531774ワット発電中さん:2014/04/12(土) 17:26:32.99 ID:byIEe+Lx
>>529
%=30だとmod関数呼ぶけど%=32って書けばコンパイラは0x1fとのANDにしてくれるよ
532774ワット発電中さん:2014/04/12(土) 19:48:19.53 ID:DpIH6dUa
>>530
ありがとうございます。
なるほど、&=で済ませて、判定なしなら速いですね。

>送信スピードが遅いのでは?
はい、ご指摘の通り遅かったので、通信ボーを921.6kに上げました。
2倍の速さで取り出せるようになりました。ありがとうございます。

>>531
ありがとうございました。
なるほど、そういうことですね。
試しに以下のソースで、RA1のon-off時間を実際に計ってみました。

RA1=1;
D[p++] = '0';  p %= 0x0c;  // 12で%=  ← 170us
RA1=0;

RA1=1;
D[p++] = '1';  p %= 0x0f;  // 15で%=  ← 137us
RA1=0;

RA1=1;
D[p++] = '2';  if(p >= 16){ p = 0; } // if()の方式 ← 4us
RA1=0;

2のn乗の%=は、使えそうです。
どうもありがとうございました。
533774ワット発電中さん:2014/04/12(土) 23:42:34.64 ID:Gu5JEcwC
>このスレ住人00人でも、身近な100人いいが、
こいつは何をあわててるんだ?
534774ワット発電中さん:2014/04/13(日) 00:03:32.20 ID:610dZRce
世界が百人の村だったら・・・ ってやつ?(ちがう)
535774ワット発電中さん:2014/04/13(日) 01:10:32.05 ID:2BSSIabY
>>532
ちっっがーーーーう!!
0x0Fで%とってどうする、0x10だよp%=0x10;

あとアセンブラ的にはbcfで4bitめをクリアするのが最速なんだけど
C言語でどう書いたら出せるかな。p&=0b11101111でいける?
536774ワット発電中さん:2014/04/13(日) 07:25:51.91 ID:yMSCFo29
問題
排他性価値観、および排他的経済水域や排他的既得権を日常的に使うか?

俺(1/100)の答え
排他的経済水域、排他的既得権はたまにニュースで聞く。自分では使わない。
排他性価値観は知らない。

ところで、
俺の取引先の社長W氏は簡単な事を難しく言う天才だ。
おかげで会議の終わり頃には参加者はグッタリしている。
537774ワット発電中さん:2014/04/13(日) 09:06:54.77 ID:lSHyDOj+
日常的に使わなければ2chで使ってはいけないとか
日常会話で使ってはいけないという俺様ルールの方が異常
538774ワット発電中さん:2014/04/13(日) 09:51:49.45 ID:Y2n6ZNSr
またお前か
539774ワット発電中さん:2014/04/13(日) 10:02:48.37 ID:Io+2KS4+
>>535 どちらでもおけ コンパイラ賢いなあ

268 ;main.c: 70: c &= 0b11101111;
269 00013C 9821 bcf main@c,4,c
270
271 ;main.c: 71: LATDbits.LATD4 = 0;
272 00013E 988C bcf 3980,4,c ;volatile
540774ワット発電中さん:2014/04/13(日) 10:55:42.39 ID:RALzEIz8
>>533
>>537
まだやってんのかよ。基地外。
会話ってのは、相手と意思疎通を図るためにするもんだ。
だれも知らないような単語を意味不明な文章に散りばめても成立しないんだよ。
541774ワット発電中さん:2014/04/13(日) 11:19:09.60 ID:2BSSIabY
>>539
あ、LATDbitsみたいな書き方があったのか
そしてコンパイラ賢いなあ
542774ワット発電中さん:2014/04/13(日) 12:51:36.77 ID:XMSQMwvC
排他的でいいものを厨二的にかこつけて
価値観をつけちゃったのが失敗w
543774ワット発電中さん:2014/04/13(日) 13:46:24.79 ID:VtMyuJ+v
という排他的価値観全開の巣窟
544774ワット発電中さん:2014/04/13(日) 14:35:28.72 ID:WIUInivK
「排他的価値観」とはうまいこという。

俺はpic初心者だけど。ここで質問するときが一番緊張するわ。
なるほど、排他的価値観全開の巣窟だもんな。
545774ワット発電中さん:2014/04/13(日) 14:43:47.30 ID:Ewk3mb6P
入れてと言えない
で検索すると、症例が沢山出てくるから、参考にしたまへ
546774ワット発電中さん:2014/04/13(日) 15:18:57.78 ID:610dZRce
>会話ってのは、相手と意思疎通を図るためにするもんだ。
そのとおり!

そして意思疎通なんてだれとでも成立できるわけはないんだ、
だから皆さん!「基地外」なんていう単語を見た瞬間に、発言者をNGしませう☆
547774ワット発電中さん:2014/04/13(日) 15:41:00.26 ID:luH8iUKZ
conversation
http://ejje.weblio.jp/content/conversation

conversation
音節con・ver・sa・tion 発音記号/k&#8048;nv&#602;s&#233;&#618;&#643;&#601;n|k`&#596;nv&#601;‐/音声を聞く
【名詞】

1 【不可算名詞】 [具体的には 【可算名詞】] 会話,談話,対話,座談 〔with〕.

用例
conversation in English 英(語)会話.

2 【可算名詞】 (政府・政党などの代表者による)非公式会談.

【語源】
ラテン語「(頻繁な)つき合い」の意 (CON‐+vers&#257;r&#299; 「従事する」); 【形容詞】 conversational
548774ワット発電中さん:2014/04/13(日) 16:04:19.80 ID:P5ywkwC1
学校行け
549774ワット発電中さん:2014/04/13(日) 16:09:04.62 ID:yMSCFo29
>>545
俺は「入れたい」とはなかなか言えない。
何しろ排他的嫁だからな。決して俺が排他的弱気だからじゃないぞ(大笑
550774ワット発電中さん:2014/04/13(日) 18:20:27.75 ID:G1s+TGcd
http://ai.2ch.net/test/read.cgi/denki/1396708999/
このスレにも何か書いてよー;
551774ワット発電中さん:2014/04/13(日) 18:37:49.86 ID:Ewk3mb6P
>>549
俺は「入れたい」と言われるがなかなか実現しない。
何故か血流が排他的に流れているようだ。
552774ワット発電中さん:2014/04/13(日) 19:51:15.58 ID:lFz4IByG
なんだ
排他的って言葉を初めて知ったようなガキどもか
553774ワット発電中さん:2014/04/13(日) 21:36:38.27 ID:WIUInivK
理系の人は国語・社会が弱いって聞くけど、どうやら本当みたいね。
この程度の文章でつまずいていたら社会科学系の本とか読めないんだろうな。
554774ワット発電中さん:2014/04/13(日) 21:46:59.31 ID:RQVR2tJr
電気、電子板で社会科学とかw
555774ワット発電中さん:2014/04/13(日) 21:55:56.85 ID:WIUInivK
簡単に言うと歴史の本とか経済とか。
556774ワット発電中さん:2014/04/13(日) 22:15:31.79 ID:610dZRce
はい、よめません! 草書体の史料とか全くムリゲです!!
557774ワット発電中さん:2014/04/13(日) 22:28:19.30 ID:WIUInivK
>>556
いやいや、草書体の史料とか俺も読めないから。

ところで一つだけ質問があるんだが
よくデータ読め、って言われるけど、これってどう思う?
データってたまには日本語もあるけど、基本英語だよね。俺はとっても無理なんだけど。
558774ワット発電中さん:2014/04/13(日) 22:32:17.97 ID:7Npw9wjr
>>557
社会科学系の英文は読まないのか?
559774ワット発電中さん:2014/04/13(日) 22:40:11.56 ID:WIUInivK
>>558
ほとんど日本語に翻訳されてるから英語読む必要はない。学生レベルはね。
560774ワット発電中さん:2014/04/13(日) 23:12:23.02 ID:610dZRce
データじゃなくてデータシートだぬ。
たまに読まなきゃどうにもならない事態にも晒されるけど、
短文は専門用語はたいてい共通だからなんとなく読めるもんだし、
長文については機械翻訳先生に依存してるお。

つうか社会科学ってどんな教科書よむん?
今でも空科とかチンカリとか読んでるん?
561774ワット発電中さん:2014/04/13(日) 23:22:05.22 ID:O0Hofjkn
下手に日本語になってるのを探すより、そのまま英語で読み下した方が手っとり早い。
ただ英語を読むのは気合いを入れないとだめだから疲れるんだよなぁ。
562774ワット発電中さん:2014/04/13(日) 23:29:53.05 ID:WIUInivK
>>560
へー、機械翻訳先生なんて使ってるんだ。
おれなんか電気の知識がないからさっぱりだけどね。

授業で使う教科書的な本は大きな本屋さんでもあまりおいてないんじゃないかな。
大学の生協の書店なんかいってみれば一目でわかるよ。
563774ワット発電中さん:2014/04/13(日) 23:33:45.09 ID:WIUInivK
>>561
そうだよね。おれも英語は30分が限度。ぜんぜん進まない。
英語は勘弁してほしいよ。それこそ排他性データ。
564774ワット発電中さん:2014/04/14(月) 00:21:41.90 ID:aNwvriy0
教えてください。

Pickit3を使っています。
調子が良いときはいいんですが、一旦調子が悪くなると、なかなかPICと接続できません。
PC----Pickit3はだいたい認識するんですが、Pickit3----PICがダメで、
Device IDが00000だ、と言ってみたり、4 byte....とか、赤色の文字で表示されます。
USB抜いて挿して、とか、Programmerを一旦noneにして、再度Pickit3にしたり、
MPLAB再起動、PC再起動など、いろいろやってしのいでいます。

そこで質問ですが、
1) みなさん、Pickit3の接続認識は、調子いいですか?
2) Pickit3自身が壊れる事って、ありますか?
3) Pickit2の方がいいと言う人もいるようですが、どうなのでしょうか。
  (現に秋月で、まだ売ってるし)
壊れやすいのだったら、予備としてもう1台買おうと思います。
夜中に壊れたら大変ですし。
565774ワット発電中さん:2014/04/14(月) 00:36:36.31 ID:+D5/C6VD
シーケンサーを買って筐体バラして使うのがベスト
566774ワット発電中さん:2014/04/14(月) 01:38:14.19 ID:qjJU1sLF
それでは排他的価値観とはどのような意味なのかご高説願いましょうか。
567774ワット発電中さん:2014/04/14(月) 02:21:47.76 ID:zwXCMRy5
>>564
最新版のMPLABX(たしかbar2.05)にすると認識しなくなるから
アーカイブスにある古いバージョン(1.85)使って安定させてる(´・ω・`)
568774ワット発電中さん:2014/04/14(月) 05:00:23.48 ID:FWLvt9Qd
>>564
1.いい
2.使い方によるよね
3.おいらは3、2はEEPROMに書き込めるらしい
PICkit3<--->PICはどうやってつないでる?

>>567
2.05だけど問題無いよ
569567:2014/04/14(月) 05:44:53.01 ID:zwXCMRy5
>>568
なんかファームウエア書き込みでバグってステータスの赤ランプが消えなくなるから
1.85使ってる(´・ω・`)
PICkit3の型版とか関係あんのかな?
570774ワット発電中さん:2014/04/14(月) 06:43:29.14 ID:NcAbKA2e
俺の場合
1.PC本体のUSBポートで使う限りは問題なし
  外付けUSBハブ経由だと不調なことがあった
  (外部給電型ハブでもだめな場合がある?)
2.?
3.AKI-PIC Ver.4→PICkit3の移行なんで、2は使ったことがない
PICkit3<--->PIC 秋月ICSP書き込みアダプターキット(改)
MPLAB X IDE v2.00
571774ワット発電中さん:2014/04/14(月) 09:56:29.13 ID:q2z/557y
MPLABの Xなし を使ってるけど、>>564と全く同じ症状になる。

MPLAB Xって、使いやすいですか?
XなしからXへの移行って、簡単でしょうか?

簡単なら移行しようかな
572774ワット発電中さん:2014/04/14(月) 10:54:14.89 ID:859lpZOt
>>571
どうせ無料なんだから使ってみるのが吉。
使い辛いけど。
573774ワット発電中さん:2014/04/14(月) 19:44:57.64 ID:FWLvt9Qd
書き込みもMPLABからやってるってことかなあ。
おいらはMPLAB X 2.05だけど書き込みはPICkit 3 Programmerでやってる。
全く問題ないよ。
574774ワット発電中さん:2014/04/14(月) 22:05:45.76 ID:aNwvriy0
MPLABから書き込むと、コンパイル成功後、自動的に書き込みしてくれるから便利。
575774ワット発電中さん:2014/04/14(月) 22:19:41.55 ID:57B+lLRa
PICkit 2 ProgrammerにもHEXファイルが更新されると自動的に書き込む機能
はあるよ。アセンブラでも自動的に書き込んでくれる。
576774ワット発電中さん:2014/04/14(月) 22:53:36.36 ID:zwXCMRy5
>>573
MPLAB X 2.05から書き込みやるとどうなるかやってみて(´・ω・`)
577774ワット発電中さん:2014/04/14(月) 23:37:24.62 ID:NcAbKA2e
>>576
イジワルなヤツだw
578774ワット発電中さん:2014/04/15(火) 02:53:35.55 ID:volvWZUO
MPLAB X 2.05とPickit3の相性まだ悪いのか
579774ワット発電中さん:2014/04/15(火) 03:06:21.15 ID:pyqlTH5+
>>576
うん、気になったのでやってみたけど
特に問題なかったよ
580774ワット発電中さん:2014/04/15(火) 04:30:22.63 ID:7wW44FwQ
>>579
じゃあOSにもよるのかな?(´・ω・`)
581774ワット発電中さん:2014/04/15(火) 13:55:03.37 ID:bqutN/A8
環境も書かずに言い合ってても無意味かもね。

うちは
Windows 7 PRO 64BIT
MPLAB X IDE 2.05
PICkit3のバージョンとかは調べ方がわからない
ちなみにPICkit 3 Programmerは3.01

言われたので久しぶりにやってみたら問題なかったってだけで
IDEでの書き込みを常用してないので再現性は不明だね
普段はPICkit 3 Programmer 3.01でHEXを指定して書き込んでるよ
この方法ではもうずっと問題なし
582774ワット発電中さん:2014/04/15(火) 15:40:22.96 ID:7wW44FwQ
>>581
ついこないだやったらMPLABX bar2.05でRunやって書き込もうとしたら
PICKIT3のステータス赤ランプが切れなくなって書き込めなかった(´・ω・`)
だから1.85つかって  HEXから書き込むときはMPLAB IPEつかってる。

そういえば  プログラマーTOーGO  機能いまはじめて使ったんだけど
書き込みにパソコンいらないんだね
電池でも書き込みできてびびったw
583582:2014/04/15(火) 15:42:40.18 ID:7wW44FwQ
>>581
Windows8.1
584582:2014/04/15(火) 15:45:08.27 ID:7wW44FwQ
Windows8.1 64BIT

MPLAB X IDE 2.05

RUNでの書き込みができなかった(´・ω・`)
HEXファイルが生成されてたかは見てなかったからわかんないけど
とにかくRUNで32MXが書き込めなかった。
585774ワット発電中さん:2014/04/15(火) 16:20:53.51 ID:bqutN/A8
んじゃあWindows 8.1との相性が悪いって事じゃ?
Microchipのフォーラムで話題になってたような気がする
うちは7なんでスルーしたけど
586774ワット発電中さん:2014/04/15(火) 16:22:36.12 ID:bqutN/A8
http://www.microchip.com/forums/m774279.aspx
読んでないから内容はわからんけど
587774ワット発電中さん:2014/04/15(火) 17:17:26.98 ID:bqutN/A8
588774ワット発電中さん:2014/04/15(火) 23:25:08.35 ID:6ejrKd+T
PICマイコン PIC12F1501−I/Pって最近秋月で扱い始めたけどどんな感じ?
12F863から乗り換えに便利?
589774ワット発電中さん:2014/04/16(水) 00:36:25.67 ID:TRW33t4h
>>588
UARTが入っていないのが残念。
上位の1508/1509だと、入ってる
590774ワット発電中さん:2014/04/16(水) 03:08:45.63 ID:TRW33t4h
PIC16Fxxxや18Fxxxは、水晶発振周波数の1/4で動きますが、
24Fxxxは、1倍で、しかもPLLで高速に動いてくれるでしょうか?
・やはり16bitがいい
・クロックも高速に、PLLでさらに高速で動かしたい。
・USBを直接接続したい
・メモリは、分割されていなくて、一直線のアドレス。
・割込ベクターがあり、割込判定不要で
・UARTにパリティチェックはハードでやってくれて、
・10bitくらいのD/Aを積んでいて、
そんなPICは、24Fxxxということでよいでしょうか?
591774ワット発電中さん:2014/04/16(水) 04:44:09.71 ID:rinsHkPf
http://awabi.2ch.net/test/read.cgi/psycho/1393514224/5
↑  ↑  ↑    ↑  ↑  ↑
592774ワット発電中さん:2014/04/16(水) 08:38:06.94 ID:zhm0534i
つデータシート
593774ワット発電中さん:2014/04/16(水) 18:30:00.99 ID:DeAehObe
>>589
15xxって、入出力端子は昔の8ピンの様にGPでなく16Fシリーズの様にRAとか書くんだよね?
なんか使いづらいなー。1822もそれで使ってないけど、慣れたらいいことある?
594774ワット発電中さん:2014/04/16(水) 21:27:40.73 ID:TE29Qvbz
>>593
名前なんて再定義すれば良いだけ。

以前は675とかよく使ってたけど、今は1822。速度も速いし使いやすい。
1823とプログラムが共用出来るし、若いなら使ってみるべき。
595774ワット発電中さん:2014/04/18(金) 18:28:40.02 ID:IXSq5w2D
8ピンで言えば3桁の物と4桁の新しい物だと、俺も3桁派だわ。
便利な事はあるんだろうが、困っていない。
こういう人多いからメーカーも移行仕切れないんだろうなと思ったりする。
596774ワット発電中さん:2014/04/18(金) 19:47:16.44 ID:nS8/7H8p
Microchipは古くなっても廃番にしないらしいよ
597774ワット発電中さん:2014/04/18(金) 19:49:04.61 ID:oEaSJXwR
今までは8ピンはPIC12Fだったけど、次の5桁型番からは
8ピンでも16F始まりなんだね、PIC16F18313
598774ワット発電中さん:2014/04/19(土) 00:40:56.72 ID:XuGG73Fw
>>596
どこかの半導体メーカさんもディスコンにはならないけど、
納期を問い合わせると「6ヶ月」とか平気で言ったりする
599774ワット発電中さん:2014/04/19(土) 02:04:17.34 ID:COxe1ouF
上位交換ならそんなに困らないんだけど、調べないとわっかんねーの多い
600774ワット発電中さん:2014/04/19(土) 04:13:37.00 ID:x3+L0qL+
>>597
なんで今さら変えるんだろう

というかまず5桁になることに驚いた
601774ワット発電中さん:2014/04/19(土) 05:46:57.10 ID:AUU0lPQ0
MOLEXのコネクタじゃないんだから、5桁の品番って・・・
602774ワット発電中さん:2014/04/19(土) 06:55:02.17 ID:OHCxAszX
PICは千代に八千代に続くものであり型番が不足せぬようあらかじめ余裕を見ておるのでは と推測いたしまする
それでは皆様方御唱和をお願いします PIC 万歳! マイクロチップ・テク ノロジー 万歳!
603774ワット発電中さん:2014/04/19(土) 09:29:00.89 ID:+oOY/Ouo
テストテスト
604774ワット発電中さん:2014/04/19(土) 11:07:17.41 ID:mRv+uEZz
>>602
PICに変なイメージつけんな!

それよりヘーパイストスの息子が
パーン な件
について
どぅーおもう?(´・ω・`)
605774ワット発電中さん:2014/04/19(土) 16:14:03.50 ID:9tKGbWcO
>600
新型から型名をファミリー別に整理するってことでしょ。
PIC18/24/32はBIT数できちんと分かれているのに
PIC10/12/16はピン数の違いってのは表記上分かり難い。

PIC16F18313だと
5桁の先頭"1"は Enhanced Mid-range
"83"がファミリーかな
"1"がピン数っぽい 1→8p , 2→14p , 3?→18p , 4→20p
最後の"3"はFLASHサイズかな 256Wx2^3 = 2kW
606774ワット発電中さん:2014/04/19(土) 20:55:56.28 ID:NPjc8Ozw
どうしてもワードじゃなくてワットに見えてしまう
607774ワット発電中さん:2014/04/19(土) 21:20:04.90 ID:x3+L0qL+
>>605
なるほど、そういうシステマチックな名前になるってのは便利ではあるな
「なんで今さら」感はぬぐえないが…
とりあえずそういうことなら5桁は納得だ

そういやそれで思い出したが、12Fがベースラインで16Fがミッドレンジだと
思ってるっぽい記述をたまに見かけるんだがあれ何なんだろ
12Fの大半がベースラインで16Fの大半がミッドレンジだった時期でもあるのかな
608774ワット発電中さん:2014/04/21(月) 18:35:16.54 ID:FX5rpyYL
PIC16F877Aで、行き詰まっています。

RS232 I/Fの設定の部分に、CRENというのがあります。データシートには、
  非同期モード
   1 = 連続受信はイネーブル
   0 = 連続受信はディセーブル
  同期モード
   1 = イネーブルビットCREN がクリアされるまでは連続受信可能
   (CREN はSREN をオーバーライドする)
   0 = 連続受信はディセーブル
と書かれています。
別の機能として、フレーミングエラーやOverRunエラーがあったときに、
CREN=0; CREN1;を実行すると、それらをクリアすることもできるようです。
私の予想ですが、Continues Receiving ENableの略ではないかと思います。

質問ですが、
この「連続受信」の意味がわかりません。
  RS232Cで、連続に受けないことって、あるのでしょうか?
  対になる「単発受信??」でもあれば、想像できそうな感じがしますが。
  それよりも、UARTリセット信号のような気がします。
  受信ブロック図を見ても、CRENはRSRレジスタの四角に矢印が行っているだけですし、
  RSRの受信データは、2段のFIFOに接続されているので、
  CRENに関係なく転送されると思います。

よろしくお願いします。
609774ワット発電中さん:2014/04/21(月) 19:46:18.18 ID:DY947fer
CREN: Continuous Receive Enable bit
http://ww1.microchip.com/downloads/jp/DeviceDoc/jp011789.pdf

>連続に受けない
1バイト(というか7bit通信なら7bit)の受信ごとに
受信禁止にする用法だってしたってええやん。
610774ワット発電中さん:2014/04/21(月) 20:13:00.06 ID:FX5rpyYL
>>609
ありがとうございます。

>受信禁止にする用法だってしたってええやん。
はい、もちろんいいと思います。

すると使い方は、以下の感じでしょうか?
1) 一旦CREN=1にして、続いてCREN=0にする (UARTクリアのイメージ)
2) 1文字受信する (RCIF=1になる)
3) ポーリングか割込でRCREGを取り出す (RCIF=0になる)
4) 1)に戻る

3)をする前に、次の受信が来たら、
それは無視(=RSR不変)ということでしょうか、あるいはOERR=1でしょうか。

どうも、そのような使い方をする局面が想像できないのです。
611774ワット発電中さん:2014/04/21(月) 20:51:41.77 ID:GzmB69ID
>>610
半二重通信の時に便利じゃないの?
612774ワット発電中さん:2014/04/21(月) 20:53:27.52 ID:DY947fer
たとえば、TCP/IPでいうとことのブロードキャスト送信は
パケットが欠けても構わず後続情報を垂れ流すやん?

そういうテケトーな情報の扱い方も有効な場合もあるだろうけど、それとは
逆に、一バイトたりとも欠けてもらっては困る><; っていう情報の
扱い方だってあるやん。

SIOの場合、ハードウェアフローを使うとRTSとかCTS線で、
相手が「まだ受け取れないよ!」とか「もう受け取れるよ!」ってのを
知ることができるから、一バイトずつ着実に通信する必要がある場合
(たとえば通信内容によってその後の通信の内容が豹変する場合などは)
バラバラと先行して通信しておくのはまずいことも生じえます。
(たとえば先行して貯めてしまうと、三個前に送った信号へのACKを
最新の通信へのACKだと混同してしまいかねませんデス><;)
613774ワット発電中さん:2014/04/21(月) 21:25:58.12 ID:8Y43lN9W
非同期シリアル通信というと1対1のRS−232Cが有名ではあるが、
マルチプロセッサ通信ののRS−485なんてのもあって
614774ワット発電中さん:2014/04/21(月) 21:31:37.64 ID:FX5rpyYL
>>611
半二重通信にしても、1フレームにある程度のbyte数は送るのではないかな。
1byteごとにやりとりしてたら、スループットが落ちると思うし。

>>612
なるほど、そういうこともあるんですね。
これを機に調べてみたいと思います。
ありがとうございました。
615774ワット発電中さん:2014/04/21(月) 21:58:32.88 ID:DqYbIYpF
>>612
RTS,CTSってモデムとのフロー制御であって受信側の都合は聞いてないというか接続できる規格じゃない
原則として受信は待ったなし
616774ワット発電中さん:2014/04/21(月) 22:01:40.07 ID:DY947fer
ごめん、DataTerminalReadyのDTRだったかな^^;
617774ワット発電中さん:2014/04/21(月) 22:46:55.23 ID:DY947fer
Dsub9ピンとかDsub25ピンとかの典型的なシリアルケーブルには
TXDとかRXDピンは当然として、RTSやCTSピンも含まれていて、
昔ながらの16550みたいな通信ICには接続ピンが用意されてるんだけど
datasheetみるとPIC16F877にはCTSとかのピンは、
ないみたいですね・・・さーせん><;
618774ワット発電中さん:2014/04/21(月) 22:49:21.77 ID:tLiHOW1M
>>617
マイコンなんだから、空きポート使って、自分でなんとかすればいい。
619774ワット発電中さん:2014/04/21(月) 22:51:06.41 ID:QYwJ5+BC
RS232Cって1969年制定でしょ メモリがくそ高かったことを
考えると 1文字分だけのバッファを用意して 1文字受信→
テレタイプのハンマーを動かす をコンピュータなしで
(電子回路のみで)やろうとするなら 連続通信禁止の
フラグは当然ついてないといけないだろうと
620774ワット発電中さん:2014/04/22(火) 00:18:52.30 ID:0lNNstGr
CTS使って相手が止められるならむしろ連続受信可能にしておいても問題
ないと思うな。俺も>>610同様使う場面が想像できないな。

>SREN: Single Receive Enable bit
>Asynchronous mode:
>Don’t care.
ということなんだから、CRENは単に受信イネーブルなんだろう。
CREN: Continuous Receive Enable bit
Asynchronous mode:
1 = Enables continuous receive
0 = Disables continuous receive

実際16F690のデータシートを見るとcontinuousなんてどこにも書いてない。
>CREN: Continuous Receive Enable bit
>Asynchronous mode:
>1 = Enables receive
>0 = Disables receive
621774ワット発電中さん:2014/04/22(火) 01:43:40.16 ID:rg6JGucj
>>619
>1文字受信→テレタイプのハンマーを動かす をコンピュータなしで
>(電子回路のみで)やろうとするなら 連続通信禁止のフラグは当然ついて
ありがとうございます。とても納得できました。
そうですね、機械動作を混ぜ込むと、1文字毎に止めたいですね。
なるほど、そういう時代もありましたか。大変勉強になりました。
ありがとうございました。

>>620
ありがとうございます。
>実際16F690のデータシートを見るとcontinuousなんてどこにも書いてない。
調べていただいて、ありがとうございました。
納得です。現在の実情には合わない、つまり、>>619の言う時代のころの
機能のためなのですね。
どうもありがとうございました。

質問してよかったです。みなさん、ありがとうございました。
622774ワット発電中さん:2014/04/22(火) 01:52:37.29 ID:0lNNstGr
>>621
>現在の実情には合わない、つまり、>>619の言う時代のころの
>機能のためなのですね。

そうじゃなくて、そもそも非同期で1文字ずつ受信なんてないということ。
623774ワット発電中さん:2014/04/22(火) 03:26:14.29 ID:e2UEZWdg
すると、堂々巡りだが、連続とは何のことを言うのか、って事になるな
624774ワット発電中さん:2014/04/22(火) 04:21:30.39 ID:0lNNstGr
PIC16F877Aのデータシートが誤記というか分かりづらいということじゃないの?
SRENが無効なんだから連続しかない。
625774ワット発電中さん:2014/04/22(火) 08:48:32.21 ID:y1nGRyuI
>>622

日頃非同期しか使わんから同期式をようしらんけど
信号の区切りを示すクロック線も通信ケーブルを
走らせる(つまりもう一本クロック線が必要になる)のが
同期式じゃないのけ?

非同期だと一バイトずつに受信する用法があり得ないと本気で思うのけ?
「非同期で1文字ずつ受信なんてない」と考える根拠についてkwsk
626774ワット発電中さん:2014/04/22(火) 08:55:22.21 ID:m4oZwdgT
>>619
ボーレートを落とせばいいだけ。35から75bps程度なら機械式でも充分。
ラジオテレタイプなんて、いまでもそれで普通にやってる。
627774ワット発電中さん:2014/04/22(火) 09:42:06.67 ID:0lNNstGr
>>625
言葉が足りなかったかも知れないけど、用途の話じゃなくてUSARTが非同期
モードのときは1文字受信して終わるようなモードを持ってないという意味。

CRENがディセーブルなら受信しないし、イネーブルなら連続受信になる。
628774ワット発電中さん:2014/04/22(火) 10:57:13.50 ID:CRp9ahpM
>>627に、同意。
629774ワット発電中さん:2014/04/22(火) 11:13:46.21 ID:y1nGRyuI
>627-628
いやいや、16F877Aは、ハードウェアではリングバッファとかを
持ってないんだから、さういふバッファやらフロー制御信号は
XON/XOFFをソフトウェア的に実装するか、
CTS/RTSをIOポートから制御するかたちで
うーざーが工夫して用意するってだけでそ。

念のために【電子工作のためのPIC活用ガイドブック】のUSARTの章を
開いてみたら、CTS/RTSは、PC側のをそのままループバックしてるや…orz
630774ワット発電中さん:2014/04/22(火) 12:05:53.07 ID:rg6JGucj
>>629
日本語が変ですが、言ってる内容も論点がずれているように思います。

CRENの「連続」の意味を考えているのであって、
フロー制御の話ではないです。
631774ワット発電中さん:2014/04/22(火) 15:27:19.66 ID:GX7muTdb
877AはFIFOをもっているわけだが
632774ワット発電中さん:2014/04/22(火) 23:51:13.13 ID:pfM9iBpj
>>631
つりか?
633774ワット発電中さん:2014/04/22(火) 23:57:11.17 ID:8J/7P0t3
USARTの受信データの格納レジスタは
二バイトサイズだけど一応FIFOだぬ。
634774ワット発電中さん:2014/04/23(水) 00:03:16.17 ID:hBt40RZO
たしかにマニュアルにはFIFOってあるなー
ふつうに二重バッファーだよな

俺的にはFIFOっていうと8レベルだとか16レベルだとかいうイメージ・・・orz
635774ワット発電中さん:2014/04/23(水) 00:23:07.39 ID:WYf0GcFv
>>634
OS積んでたら、16レベル位ないと取りこぼし起きるが、
8bit PICレベルでそんなに重たい処理させないしな。
636774ワット発電中さん:2014/04/23(水) 04:24:16.83 ID:+cg2B/VR
RCIFは、FIFOに1つでもデータがあると1になるの?
それとも、受信レジスタに1byte入った段階で1になるの?
637774ワット発電中さん:2014/04/23(水) 05:42:12.43 ID:WYf0GcFv
>>636
データが存在してれば、フラグが立つ。
TXIFは送信完了(空)なら立つ。
638774ワット発電中さん:2014/04/23(水) 09:24:50.98 ID:o79O1bHN
そりゃもちろん

7bit通信なら7bit
8bit通信なら8bit
9bit通信なら9bit

ワンフレーム(っていえばいいのか?)揃ったらフラグが立つのだと思われ。
頭の1bitだけで立たれたら困る><;
639774ワット発電中さん:2014/04/23(水) 13:00:32.06 ID:eomunuRq
>>632
君を一本釣り
640774ワット発電中さん:2014/04/23(水) 18:30:40.42 ID:rMDutY5+
>>683
でも、受信レジスタの他に2byteのFIFOがあり、
RC7□-------RCREG------FIFO1------FIFO2-----内部バス という構成だから、
RCREGに整った時にRCIFが立っても、バスにデータが乗るまでに2つのレジスタを
くぐらないといけないですよね?
それなのに、RCREGに入った段階で、RCIFが立つのでしょうか?
FIFO2に入った段階でRCIFが立っては、遅れが出ますしね。
641774ワット発電中さん:2014/04/23(水) 18:52:31.32 ID:hBt40RZO
マニュアルにFIFOとは確かに有る
四角い枠も2つ有る

しかしてFIFO1/FIFO2とは書いてない
本当に2段有るのか???
俺のマニュアルが古い??

古式のSIOと対比して
受信シフトレジスタ←→RSRレジスタ
読み出しバッファ←→RCREGレジスタ←←←←コレをFIFOと書いてあるだけ??
にすると考えやすいが・・・

本当にFIFOが2段有るのか????
642774ワット発電中さん:2014/04/24(木) 02:39:49.60 ID:StLKPAuz
>640
16F877Aのデータシート見ると(P117)
ttp://ww1.microchip.com/downloads/en/DeviceDoc/39582C.pdf

>RC7□-------RCREG------FIFO1------FIFO2-----内部バス
じゃなくて
RC7□-------RSRreg-----RCreg(0?)
         内部専用? RCreg(1?)----内部バス

となっていて、RCregからRCIFに繋がっている。
ワンフレーム分のデータを受け取って、RSRreg→RCRreg
この時点でRCIF立っても、RCregはバスに繋がってるから
遅れとかも問題ないはず。
図ではRCreg(0?)がRCRreg 、 RCreg(1?)が内部バスに繋がってる様に
見えるが、同じ枠なので2バイトのリングバッファになってるかと。

>It is possible for two bytes of data to be received and
>transferred to the RCREG FIFO and a third byte to
>begin shifting to the RSR register. On the detection of
>the Stop bit of the third byte, if the RCREG register is
>still full, the Overrun Error bit, OERR (RCSTA<1>), will
>be set.
2バイト受け取って、3バイト目をRSRregで受信できる
3バイト目のSTOPビットでオーバーランエラー
とのことなのでバッファは2段でしょう。
643774ワット発電中さん:2014/04/24(木) 03:44:54.05 ID:iSz6Os6B
その10-4の図は、何度見てもわかりにくい図だよね。
>>642の説明も、わからないでもないけど、

>RCregからRCIFに繋がっている。
そうだけど、RCIFの接続先は、RX9Dなのか、RCREGのどれかのbitなのか? わからない。

>RCregはバスに繋がってるから遅れとかも問題ないはず。
しかし、その図ではRCREGが2つ書いてあり、バスに近い方と遠い方があるので、
RSR→FIFO1→FIFO2の経路でシフトされると予想される。
すると、
1) RSR  - → FIFO1 - → FIFO2 - → data bus
2) RSR  A → FIFO1 - → FIFO2 - → data bus RCIF=1でもdataなし
3) RSR  B → FIFO1 A → FIFO2 - → data bus RCIF=1でもdataなし
4) RSR  C → FIFO1 B → FIFO2 A → data bus RCIF=1ならAが読み出せる
となってしまう。
644774ワット発電中さん:2014/04/24(木) 03:59:07.60 ID:iSz6Os6B
マニュアルを読むと、PICって、パリティジェネレータが無いのね。
自分で計算せぇ、ってか? 重荷だね。
645774ワット発電中さん:2014/04/24(木) 06:27:40.73 ID:2/G5iTvW
>>644
パリティって余り使う事無いからな。
1bitの誤りを検出する事しか出来ないし。
誤りが2bit以上あったら、検出出来ない場合あるし。
646774ワット発電中さん:2014/04/24(木) 07:02:31.67 ID:StLKPAuz
>643
二つのRCregはわざわざ押し出して移動しなくても、交互に読み出せばいいだけでしょ
RSRからの持ってくるときも交互に書き込めばいいだけだし。2バイトでリングバッファ
っていうのも気が引けるがまあそんなもの
2個のRCregにそれぞれデータ有無フラグ(RSRから来たら1、読み出されたら0)用意して
ORすればRCIFになる。

あくまでも概略図なのだから、リングバッファ用のカウンタ、データ有無BITは省略してる
だけでしょ。
647774ワット発電中さん:2014/04/24(木) 07:07:09.54 ID:RnamUigu
通信の相手側も自分で作るならBCCやCRCなどで好きに対処できるけど、
世の中には垂直パリティ単独で、あるいは他のエラー検出と組み合わせて
使っている機器も多いよ。
やはりパリティジェネレータは有ったほうがいいな。
648774ワット発電中さん:2014/04/24(木) 07:19:17.82 ID:RATia/sq
>>642
それだと単なるシフトレジスタだよね。
FIFOと言うからには入り口から入ったデータが即出力に見えてると考えないと。
649774ワット発電中さん:2014/04/24(木) 08:30:34.53 ID:4wf+tVrk
違うチップだけど16F1938のマニュアルが解り良い
RCREGが2重になっている模様

タイミングはFIGURE25-2で解る
DS40001574C-page294
650774ワット発電中さん:2014/04/24(木) 10:53:21.88 ID:iSz6Os6B
>>646
>2個のRCregにそれぞれデータ有無フラグ(RSRから来たら1、読み出されたら0)用意して
>ORすればRCIFになる。
ORだとおかしくない?
RCIFは、「来たぞ!」フラグでしょう?
だとすると、Bufferに1byte残っていると、RCIFは立ちっぱなしになりそう。
651774ワット発電中さん:2014/04/24(木) 11:06:11.06 ID:cFTndXUQ
>650 >>649さんの示された294ページチャートが答えになってる。
 (つまり、残っていれば読むまで立ちっぱなし)
652774ワット発電中さん:2014/04/24(木) 11:57:56.72 ID:RnamUigu
つまり、2回連続して受信割り込みがかかることがある、
それでも構わないだろうけど、避けたいなら
割り込みの中でリクエストフラグをチェックした方がいいって事かな?
653774ワット発電中さん:2014/04/24(木) 14:27:39.25 ID:47yXSFCH
>(つまり、残っていれば読むまで立ちっぱなし)
ということは、
RCIFは「在庫あり」のフラグという感じですね。
654774ワット発電中さん:2014/04/24(木) 14:47:12.29 ID:47yXSFCH
連投、すみません。教えてください。

PICKit3の押しボタンSWで書き込む方法についてです。

試したことがないのですが、
この機能は、
・書き込みたいhexファイルを、PICKit3の中に記憶させて、
・PICKit3の押しボタンSWを押すだけで書込が出来る
・また、それはUSBの5V電源さえあれば、PCとの接続なしで書込が出来る
つまり、初回はPCで書き込んで、その後PICKIt3をPCから取り外して、
USB_5V出力のエネループ電池を電源として、現場で、複数台に書込する、
という使い方が出来るのでしょうか? あるいは、やっぱりPCはいつも必要なのでしょうか?
655774ワット発電中さん:2014/04/24(木) 16:53:49.10 ID:i4O1Oatn
>>654
モバイルバッテリーでOK
Programmer-To-Go でググれば日本語ユーザーズガイドが見つかると思うよ
656774ワット発電中さん:2014/04/24(木) 17:10:18.08 ID:6hq1M2QQ
>643
なんかFIFOのバッファをところてん方式で、後ろから押し出されないと
読めないと勘違いしていない?
バッファに溜まっている分は、(あふれない限り)プログラム側の好きな
タイミングで好きなだけ読めなければ意味が無い。
そうでないと 結局1バイト来るたびに割込発生してしまう。
まあMidrangeのPICだとバッファが2バイトしかなく、実際1バイト毎に
割込がかかるので、バッファは割込のオーバーヘッド分の保証の為にしか
なってないけど。

PIC24やdsPICのUARTだとだとバッファが4バイトになっていて
割込を発生させるタイミングも指定できる
1)RSRからバッファへ送られ、4バイト全部埋まった時
2)RSRからバッファへ送られ、3バイト埋まった時
3)RSRからバッファへ送られたt時
当然1,2は1回の割込処理内でバッファが空になるまで取り込む
結果割込回数を1/3〜1/4に減らせる。まあ最後の端数データの
取り込みとか考えなきゃいけないけど
657774ワット発電中さん:2014/04/25(金) 04:54:16.62 ID:p3H/q07/
>>654,655
すごいな、そんなことができるのか、PICは。
ルネサスとかでもE8とかE10で、同じ事ができるの?
658774ワット発電中さん:2014/04/25(金) 14:16:18.24 ID:gFWpxyZK
PICの初期不良品の確率どのくらいなの?先日買った16F688の内部クロックが40%もずれてて、あせった。
659774ワット発電中さん:2014/04/25(金) 14:32:11.05 ID:1KglLix7
mjd? 校正用パラメータ消したりしてない?
660774ワット発電中さん:2014/04/25(金) 14:35:04.21 ID:gFWpxyZK
>>659
どうゆう意味?
661774ワット発電中さん:2014/04/25(金) 14:40:25.58 ID:1KglLix7
まぬあるP.26の 3.5.2.1 OSCTUNE Register に変な値を書いちゃってない?ってハナシ
662774ワット発電中さん:2014/04/25(金) 14:52:55.41 ID:1KglLix7
言い訳:
昔別のPIC使ったときはFLASHの特定番地に較正値が格納されてて
プログラムオプションを間違えて底を消しちゃうと内部発振がずれちゃう
トラブルを経験したんだけど、その石のマヌアル読んでみると該当する記述が
見当たらなかった。
663774ワット発電中さん:2014/04/25(金) 14:56:59.38 ID:gFWpxyZK
>>661
OSCTUNE Register は使ってないです。
664774ワット発電中さん:2014/04/25(金) 14:57:59.33 ID:gFWpxyZK
>>662
それ知ってる。12F675には書いてあった。
665774ワット発電中さん:2014/04/25(金) 16:00:50.29 ID:whL6sMNc
>>663
では使ってないからずれてんじゃないの?
666774ワット発電中さん:2014/04/25(金) 16:11:05.26 ID:1KglLix7
さっき斜めに読んだときは、8Mの方は1%以内に較正されてて
31k(でしたっけ?)の方は較正されてないような・・・ でも後者だとしても40%はデカいっすね^^;
667774ワット発電中さん:2014/04/25(金) 16:19:51.02 ID:MZNmDZLB
40%ってのが1/4の誤記ならそれで会ってますよ〜
データシートに書いてないですがOSCOUTの出力は1/4になるみたいです
668774ワット発電中さん:2014/04/25(金) 16:38:49.34 ID:1KglLix7
>データシートに書いてない
P.6にCLKOUTはCMOS出力で FOSC/4 outputだって表に書いてありますし
P.21にもINTOSCに設定するとInternal oscillatorで
OSC2とOSC1/CLKINに FOSC/4 outputを伴うって明記されてますし
P.25にもIn INTOSC mode, OSC1/CLKIN is available for general
purpose I/O. OSC2/CLKOUT outputs the selected
internal oscillator frequency divided by 4.
つまり4で割った周波数で出力されるって書いてありますお。
669774ワット発電中さん:2014/04/25(金) 20:38:56.78 ID:kfJIcWm0
REGISTER 11-2: CALIB ? CALIBRATION WORD (ADDRESS: 2008h)
670774ワット発電中さん:2014/04/26(土) 00:56:02.68 ID:EBOi2dUU
OSCTUNEは微調整用だから、使わなくても1%以内に較正済み
OSCCALがある機種だと、正しく補正値を書いて初めて1%以内になる

31kHzの方なら40%ずれは不思議じゃないと思う
31kHzオシレータのデータは見つからなかったが、同様に較正なしのWDTは
PIC10F200のデータシート見ると全温度・電圧範囲で11ms〜47msにばらついてる
671774ワット発電中さん:2014/04/26(土) 03:01:41.28 ID:31GVspE3
>>657
E1は出来る
672774ワット発電中さん:2014/04/26(土) 05:11:19.07 ID:XdRO73x3
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
673774ワット発電中さん:2014/04/26(土) 10:54:48.19 ID:HV+In6yS
>>665
Base Line は起動時にOSCTUNE設定する必要あるが、
Mid range以上は、特に設定する必要ない。

---
Base LineはリセットベクターがFlashの最終番地になっている。
最終番地に、工場でWレジスタに校正値を入れる命令が書き込まれる。
674774ワット発電中さん:2014/04/26(土) 12:46:32.66 ID:1hqfBSWZ
にんがら目ってなに
675774ワット発電中さん:2014/04/26(土) 13:06:35.60 ID:Rv6eF2Z1
すみませんが、ここは、はじめてPICをさわるような初心者のスレです。
みなさんの知識自慢や、高度な話題は、上級スレでお願いします。
初心者の僕たちが質問書き込みしにくいです。
宜しくお願いします。
676774ワット発電中さん:2014/04/26(土) 15:50:59.82 ID:8P/i/jY9
>>675
まず初心者として質問をぶつけてみてから言えよ
677774ワット発電中さん:2014/04/26(土) 16:02:12.06 ID:EBOi2dUU
>>673
いや、ミッドレンジにもOSCCALがあるやつあるよ
そしてOSCTUNEじゃなくOSCCALね

ところでOSCTUNEとOSCCALもそうだし、
最近はCLKOUTとCLKRが意味的に逆な気がして分かりづらい
チューンよりキャリブレーションの方が細かく合わせそうな気がするし
OUTならそのままの周波数を出せそうでリファレンスなら1/4でもいいかなみたいな
678774ワット発電中さん:2014/04/26(土) 17:34:51.74 ID:1hqfBSWZ
pic初心者のスレ その2
http://ai.2ch.net/test/read.cgi/denki/1384440032/
679774ワット発電中さん:2014/04/27(日) 03:59:46.55 ID:5spYYlt5
>>676
相変わらず、偉そうな上から目線な態度ですね。
680774ワット発電中さん:2014/04/27(日) 07:12:20.21 ID:ilKSKupr
そりゃ怒玄人サンは目玉が上に5mぐらい飛び出た
個性的な風貌をお持ちの奇特な人士(火星人?)なので
視点は人より高い位置にくるのは当然だけど・・・
上から目線だなんていう身体的特徴で文句いうのはやめようよ・・・
それ、ぶっちゃけ人種差別だお! ><;
681774ワット発電中さん:2014/04/27(日) 12:12:40.30 ID:5spYYlt5
すみません教えてください。

MPLAB IDEとPICKit3とPIC16F627Aで、PICの勉強をしています。
PICKit3が、MPLAB IDEでは正しく書き込み出来ていました。
昨日、PICKit3でをPICKit3 Programmerという書き込み?ソフトで使用しました。
ちゃんと書けました。そこで、
今日、もう一度MPLAB IDEで書き込もうと接続したのですが、PICKit3を認識てくれません。
念のためPICKit3 Programmerでやると、ちゃんと書けます。
MPLABで使えるように戻したいのですが、どのようにしたら良いでしょうか?
682774ワット発電中さん:2014/04/27(日) 13:04:48.07 ID:4QSBQ/nH
>>676
> まず初心者として質問をぶつけてみてから言えよ


PIC専用のスレ、閑古鳥が鳴いてますよ。ベテラン同士の質の高いやり取り見せてくださいよ。
683774ワット発電中さん:2014/04/27(日) 15:05:16.77 ID:J09ducmL
>>681
僕も初心者ですが、同じ事で填まりました。
以下↓のところが参考になると思います。
http://okwave.jp/qa/q8255027.html

結局のところ、PICKit3の内蔵PICのプログラムを書き替えるらしいです。
なんでこんな面倒な仕様にしたのか、ちょっと疑ってしまいます。
MPLAB X だと、どちらでもできるようでもあります。
参考にしてください。
684774ワット発電中さん:2014/04/27(日) 15:17:28.24 ID:J09ducmL
>>681
あと、PICKIt3関連で、僕が間違えて焦ったことでは、
Programmerで、PICを自動で見つけてくれない、というのがありました。

いろいろと半日もかかって調べたら、PICのグループを「手動で」設定しないと、
見つけてくれないみたい。
そのグループ設定がしてないと、手動のデバイス設定の表にも目的のPIC型番が出てこない。

自動でPIC調べてくれるなら、全シリーズを調べてくれればいいと思うんだけど、
ユーザーにグループを設定させるという、変な仕様のソフトだと思いました。
ご参考まで。
685774ワット発電中さん:2014/04/27(日) 18:05:35.62 ID:2DiJvVqB
電子工作入門者・初心者の集うスレ 56
http://ai.2ch.net/test/read.cgi/denki/1398416404/
こっちみたいに香ばしくなってもね・・・
686774ワット発電中さん:2014/04/28(月) 02:40:49.11 ID:uuuEHFjY
>>683,684
ありがとうございました。やっぱり皆さんも経験していねんですね。
ちょっと安心しました。明日一度やってみます。
質問して良かったです。どうもありがとうございました。
687774ワット発電中さん:2014/04/29(火) 03:22:49.57 ID:xkqyH5Us
現在は、ゼロプレッシャーを使ってPICに書き込みしてるけど、
何か楽しそうなので、PICKitを買おうと思うです。
PICKitは、秋月に 2 も 3 も売ってるけど、何が違うんでしょうか?
688774ワット発電中さん:2014/04/29(火) 05:44:19.30 ID:rVNgAh12
2は古くて3は新しい
689774ワット発電中さん:2014/04/29(火) 13:41:46.63 ID:9XnvCnnV
PICKIt3を買えば、全部を包含しているので、2を買う必要はありません。
逆にPICKit2は、新しいデバイスに対応していないので、使いにくいです。
690774ワット発電中さん:2014/04/29(火) 13:42:13.31 ID:sHBiFrC3
ゼロプレッシャーとなにを組み合わせて書き込んでたのがわからんが、
2と3はIDEの対応状況やPICの対応状況、書き込み以外の機能が違う。
特筆すべきは書き込み以外の機能で3>2ではないところだ。
691774ワット発電中さん:2014/04/29(火) 13:46:31.29 ID:O1XymH9/
書込以外の機能なんて、誰か使ってるの?
誰も使わないからなくなったんだと思ってたけど
ちなみに現行のMPLAB-Xでは2は使えないよ
692774ワット発電中さん:2014/04/29(火) 17:23:58.81 ID:9XnvCnnV
書き込み以外だと、デバッガーとしてブレークして変数を見るとか。
693774ワット発電中さん:2014/04/29(火) 18:56:43.13 ID:pchWLV3V
>>691
え゛っ
694774ワット発電中さん:2014/04/29(火) 19:04:58.57 ID:dl6UuDpq
>>687
もし、PICKit2で満足してるなら秋月のAKI−PIC2プログラマボード(PICkit2互換)買えば、
ゼロプレッシャーソケットも使えるし、横についてる白いコネクタでICSPも使えるので便利だよ。
695774ワット発電中さん:2014/04/30(水) 05:23:32.30 ID:lVcRHtny
PICkit2よりお高いんですのね
696774ワット発電中さん:2014/04/30(水) 11:33:45.90 ID:xUeJvIUM
皆さんいろいろありがとうございます。
秋月で、PICKit3を、注文しました。ありがとうございました
697774ワット発電中さん:2014/04/30(水) 13:49:17.14 ID:gNUTEsec
先日客先で、マイコン何使ってるの?って聞かれたので
「PICです」と言ったら、「PICか〜、趣味のマイコンだな」って言われました。
ちょっとムッとしました。

そこで質問です
・PICを仕事で使う人はいない、というか PICでは仕事にならないんでしょうか?
・PICは、他のマイコンに比べて、機能的に何か劣るところがあるんでしょうか?
698774ワット発電中さん:2014/04/30(水) 14:06:53.02 ID:4WNIasFc
仕事に使い物にならないマイコンでデバイスの会社が成り立つほど趣味の市場は広くないと普通は思うけどね。
699774ワット発電中さん:2014/04/30(水) 14:18:36.04 ID:5jaXWkeE
医療、鉄道、航空、宇宙機器向けであれば、確かにPICマイコンは不向きだと思う。
機能的にはまったく問題ないけど、製造品質、長期供給保証、不具合発生時の
解析体制とか考えると厳しいかな。
そういったクライアントであれば、まだATMELの方が受け入れられやすいはず。
700774ワット発電中さん:2014/04/30(水) 14:23:05.84 ID:bGAYs0Cf
え?
701774ワット発電中さん:2014/04/30(水) 14:26:33.95 ID:W0czL13f
>>697
お客様は神様だからムッとしちゃあきまへんお。

趣味でも使えるくらいの敷居の低さはPICの長所だし
イニシャルコストの抑制に大きく貢献してくれるけれど、それは
逆に言えばハッキングというかクラックされ易さでもあるお。

福島の事故直後にPICは、放射線には他のマイコンと比して
比較的つおいとか話題になってましたお(理屈は忘れたけど)。

ちなみに、おいらも同窓会でPIC(も)使ってるっつったら
あからさまにバカにされたお!(^ω^#)ピキピキ!!
702774ワット発電中さん:2014/04/30(水) 15:12:30.91 ID:pteeZkZA
ARM9系のカスタムプロセッサのアプリケーション開発!
とか書いておけばNitendoDSのソフト開発とは気づかれまい!

俺はやってないけど。
703774ワット発電中さん:2014/04/30(水) 16:00:23.73 ID:gNUTEsec
>>699
>機能的にはまったく問題ないけど、製造品質、長期供給保証、不具合発生時の
>解析体制とか考えると厳しいかな。
なるほど、そういう見方もあるんですね。だったら、そう言われてもしょうがないですかね。しくしく(泣)

製造品質、長期供給保証、不具合発生時の解析体制とかが良いメーカーって、
自動的に日本国内のメーカー、しかもルネサスということになりますよね。
  三菱・・・・M32、今でもやってるのかな
  富士通・・・FMC、今でもやってるのかな
今なら、ARMが旬なんでしょうか
704774ワット発電中さん:2014/04/30(水) 16:32:37.65 ID:W0czL13f
>製造品質、長期供給保証、解析体制

…PICで異常品がどうこうという噂は、今のところ記憶に、な…いや、あった、あったな。
初期ロットのバグが改訂されて云々ってのは騒いでたのはあったな^^;

でも他は、CPUほどじゃなくて基礎的な部品(1815やTLP123とか)ですら
メーカーが一方的な都合でディスコン指定してくるわけで
ルネサスさんだって(特に旧日電系のは?)どうなることやら…って感じだし

万一、不具合おきたとしてもいちいち解析要求するクレーマーが
プロだというならおれぁずっとアマチュアれべるでイイって感じだし

パソコンのマッキントッシュとかエプソンのプリンタ(などで
PICが使われていたという報告がwebに転がってるけど
そういったメーカーすら趣味レベルと断ぜる)ハイクオリティーなお仕事って
どんな産業なのだろう・・・ 防衛畑のお話なのかな・・・
705774ワット発電中さん:2014/04/30(水) 17:50:02.21 ID:Ki2vGbJH
>>697
うちは、組込では、ARMから東芝4bitまでやってるけど、8bit小ロットでいけるのはPIC使ってるよ。

今のところ、PICは三菱の74ファミリと同じくらいノイズ耐性や過負荷に強い。
両者とも他のCPUがころっと暴走する過酷なノイズ環境でも平気で動いてくれるので捨てられない。

CPUの機能や能力はバカでもデータシートや風評でわかるが、そういう要素はわかってる人にしか
なかなかわからないみたいだよ。
706774ワット発電中さん:2014/04/30(水) 18:30:10.91 ID:uD9gusKW
>>697
そういう時は
「ロットが小さいと手間が掛かるだけでマスク版のCPU使う意味が無いんですよねー。初期2万個、年間10万個以上の発注下さいよ」
と言ってみ?
707774ワット発電中さん:2014/04/30(水) 19:16:32.20 ID:gNUTEsec
>>705
>今のところ、PICは三菱の74ファミリと同じくらいノイズ耐性や過負荷に強い。
ぼくも、そういう印象があります。

PICについて言えば、内蔵発振器の性能がいいです。誤差も音特もいいし、
内蔵発振器が停止したことまでわかるようになってるし、
日本のメーカーでそれほどのところって無いような。

マイコンに限らず、3端子レギュレーター、EEPROM、デジタルポテンショメーター、など
価格も安いのに、性能はいいし、Microvhip好きなんですけどね。
供給が悪いでしょうか? 16F84がなくなっても、それをカバーしうる製品がたくさんあるし、
前品種を考慮した代替品が多いのは、いいことだと思います。

>>706
いや、ルネにしてもマスクではなくて、Flashに書いて納品ですので、
Microchipと同じです。
単に食わず嫌いのイメージだけでしょうか。
708774ワット発電中さん:2014/04/30(水) 20:32:18.26 ID:MrPBHBAZ
>>707
ルネはいつなくなるか分からないので新規採用しにくいのだが(´・ω・`)
709774ワット発電中さん:2014/05/01(木) 00:48:43.33 ID:z4fspoVI
>>701
>福島の事故直後にPICは、放射線には他のマイコンと比して
>比較的つおいとか話題になってましたお(理屈は忘れたけど)。

プロセスルール的に有利じゃなかった?
特にベースラインやミッドレンジが。
710774ワット発電中さん:2014/05/01(木) 01:24:12.44 ID:Aqkuv2hs
突然失礼します。
PICで初めて目的が出来、書籍、Web両方探している最中です。
デモボードでLEDチカチカまでは独力でたどり着きました。



Hitec-Cの古漬けのとか、CCなんとかやら
巫女なんとかの情報が多く、自分が使いたいMPLAB-Xv2.1+XC8v1.31で使えば
#include<xc.h>以外は全部の文に「〜」「!」マークが付く状態、
そんな私を助けてくれるサイトやPDFなどはありますか?
711774ワット発電中さん:2014/05/01(木) 02:58:13.53 ID:fIxj2prK
>699
長期供給保証って Microchipはディスコンせずに供給を維持している
イメージがあるけど。直販でPIC16F84を今でも入手できる @$4.55
Atmel の 90Sシリーズはディスコンで入手不可じゃないか?

Microchipは日本法人もあるし(アトメルジャパンは撤退?)
悪くないポジションだと思うけどね。
ルネサス品なんか会社の状況考えるといつディスコンになったって
おかしくないし
712774ワット発電中さん:2014/05/01(木) 03:23:22.54 ID:7/RHhzV6
>>710
>Hitec-Cの古漬けのとか、CCなんとかやら
>巫女なんとかの情報が多く、自分が使いたいMPLAB-Xv2.1+XC8v1.31で使えば
>#include<xc.h>以外は全部の文に「〜」「!」マークが付く状態、
>そんな私を助けてくれるサイトやPDFなどはありますか?
遠回しに言わずに、普通に直接言えない? 何いってるのかサッパリわからないよ。

>>711
ルネサスの代理店、ある時から急に対応が悪くなったので、使わない。
713774ワット発電中さん:2014/05/01(木) 05:10:53.55 ID:LZgfGhH3
>>710
とりあえずはサイトを検索して落ちてるプログラムをかたっぱしから実行してみれば。
PICってあまりいい本とか売ってないしね。なんでも中途半端。

どうやらみなさん学校で習ってるみたいだし。
714774ワット発電中さん:2014/05/01(木) 08:55:24.35 ID:IzrYNg7o
そりゃコンパイラが違えばライブラリや関数名も違うでしょうから
ソースがそのまま使えないってのは当然でそ・・(^ω^;)
715774ワット発電中さん:2014/05/01(木) 10:49:46.67 ID:7/RHhzV6
>>710
言葉の意味を教えてくれ、頼む。

>Hitec-Cの古漬けの →
>CCなんとか →
>巫女なんとか →
>全部の文に「〜」「!」マークが付く状態 → 
716774ワット発電中さん:2014/05/01(木) 11:57:54.11 ID:eA7sYF86
717774ワット発電中さん:2014/05/01(木) 17:56:15.30 ID:z4fspoVI
>>710
コンパイラがどれを使うプログラムか解ってるなら、コンパイラのほうをそれに合わせればいいんじゃね?
718774ワット発電中さん:2014/05/01(木) 22:49:27.29 ID:6H0vnfbp
>>715
想像するに、
Hitec-cの旧バージョン
ccs-c
mikro-c
じゃないかな。

まぁこういう日本語使って喜んでるやつには何も教えたくない。
719774ワット発電中さん:2014/05/02(金) 03:17:50.29 ID:R+dYUX2t
見てると苛つくな。
720774ワット発電中さん:2014/05/02(金) 03:46:43.88 ID:MgYMLmZY
>全部の文に「〜」「!」マークが付く状態 →
は、何を表しているんだろうか。
~は、bit反転
!は、論理反転
721774ワット発電中さん:2014/05/02(金) 05:32:03.44 ID:u+bLSbIa
>>710
あんたが使いたいMPLAB-Xv2.1+XC8v1.31で検索すりゃあいいじゃねえかよ
なぜ他のコンパイラで検索したのをぶち込もうとすんの
しかもXC8のソースだって探せば十分な質と量があるぜ
722774ワット発電中さん:2014/05/02(金) 14:29:34.76 ID:R+dYUX2t
確かに、コンパイラー毎に「親切表現」は、わかりにくいね。
CCSはbit操作が楽ちんにできるけど、それに慣れてしまうと、
普通のコンパイラーのソースが読めなくなる。
723710:2014/05/02(金) 23:10:27.08 ID:j06yPQTW
色々失礼しました。2chとはいえ適当すぎました。

MPLAB+XC8の比較的新しいバージョンを、Cで使いたい、けど、
WEBで探すプログラム例や構文、ライブラリは古すぎ、使おうとすると改変を受け続けた
コンパイラがほぼすべての文に対し、〜や!のエラーマークを貼り付けてくる。
それ以前にコンパイラの種類やバージョンでコマンドが違うので、片っ端から探して貼り付けても
泥沼化するだけの状態です。
(__config が最新版は使えないと知らず悩む、など。)

一覧は無理ですが、何とかまとまった良い情報ないですか?
PIC16、PIC16F1系列の本は買いましたが、大半アセンブラの話してるみたいです。

手持ちのPICは16F88 16F1827 16F887 Pickit3付属の18F45K20デモボード、
現状、探して手に入る開発環境がMPLABX+XC8。書籍も凡例も一番多い旧バージョンの
HitecCはダウンロード出来る場所が見つからず。本家は古いからXC8使えと・・・。
どこまで使えるようになるのか未知数な状態でMikroC、CCS、高額な教育キット
を買うだけの勇気は、手持ち金の関係もあり出せず。

当面の目標は、1602系列のLCDに簡単な計算結果を出すことです。

>721
”言われた通り”に検索かけてみたら>721さんの文章が出てきて終了でしたよ。
724774ワット発電中さん:2014/05/03(土) 01:24:22.35 ID:pOvlk0i1
>>723
MPLAB X XC8 PIC SC1602BS
で検索
トップはここ
ttp://neo-sahara.com/wp/2013/12/28/pic16f84a-sc1602bs-xc8/
725774ワット発電中さん:2014/05/03(土) 01:35:46.99 ID:tNQGRvv9
MPLAB X IDE の最新は v2.05 で、確か v2.1 はまだ出てない。
そんな基本すらろくに確認もしないでふざけた書き様で質問するから
自分で検索してみろよという意味で書かれたんだよ。

最も好ましい検索ワードは MPLAB X XC8 HD44780 と思われるが、
英語のサイトが多く、結局、日本語は上の書き込みのサイトがトップに出てくる。
726774ワット発電中さん:2014/05/03(土) 01:43:06.84 ID:AP1t3Qfi
>>723
>>710のイラつく文章とは別人のような文章で、気持ち良く読めました。最初から、その書き方なら・・・
さて、本をご紹介します。この2月に初めてMPLAB IDE, XC8 で、18F26K22などを使ったのですが、
以下の本が、大変参考になりました。
http://www.7netshopping.jp/books/detail/-/accd/11029475

どうもMicrochipは、Hitec Cを買ったみたいで(?)、XC8 = HitecC だと思います。
私も以前はCCSを使っていて、その「CCS方言」が身に染みていて、XC8が最初は億劫でした。

しかし、以下のことに気づいてから、スラスラとできるようになりました。
1. PICマイコンのデータシートのレジスタ名称が、そのまま使える。
2. ウィザードを使ってプロジェクトを作成すれば、デバイス毎のヘッダは不要
3. intは16bit
↓こんな感じ
727774ワット発電中さん:2014/05/03(土) 01:46:02.87 ID:AP1t3Qfi
(つづき)
#include <xc.h>
#define _XTAL_FREQ  16000000 // 16.000MHz

#pragma config BOREN = 1
#pragma config CPD  = 0
#pragma config DEBUG = 0
#pragma config WRT  = 0
#pragma config FOSC = HS
#pragma config WDTE = 0
#pragma config CP  = 0
#pragma config LVP = 0
#pragma config PWRTE = 1

#define TMR1_set_data 65535-495

void interrupt interrupt_routine(){
  if(TMR1IE && TMR1IF ){   // Timer1
    TMR1IF = 0;
    TMR1 = TMR1_set_data;
  } else if(xxxx && xxxx ){

  }
}

void main(){
  unsigned char aaaa = 0;

  TRISA = 0b00010000;
  PORTA = 0b00000000;
  ADCON1 = 0b00000110;
  TXSTA = 0b01100000;
  RCSTA = 0b11010000;
  SPBRG = 12;
  T1CON = 0b00110101;
  TMR1 = TMR1_set_data;
  TMR1IE = 1;
  PEIE = 1;
  RCIE = 0;
  GIE = 1;

  while(1){
    if( aaaa == 1 ){
      RA3 = 1;   // bit単位でのon/off
    } else if( RA0 == 1 ){
      RA3 = 0;   // bit単位でのon/off
    } else {
      PORTA = 0x5c;  // ポート単位での置数
    }
  }
}
728774ワット発電中さん:2014/05/03(土) 04:17:01.69 ID:iY7b3Yzy
#pragma config は、1行でたくさん書く方法があったはずだけど
729774ワット発電中さん:2014/05/03(土) 07:05:35.77 ID:olGSjCAv
>>725
>MPLAB X IDE の最新は v2.05 で、確か v2.1 はまだ出てない。

v2.1出てますよ。
ダウンロードページの表示はv2.05なんだけど、実際にダウンロードされるのはv2.10
730710:2014/05/03(土) 07:28:20.73 ID:ELnDEyKr
色々ありがとうございます!

とりあえず仕事ですので、あとでやってみますね。
731774ワット発電中さん:2014/05/03(土) 08:32:19.91 ID:FtA9LLbX
上司は大変だなと心底思う。
732774ワット発電中さん:2014/05/03(土) 15:25:16.06 ID:tNQGRvv9
そうやってスレを過疎らせるような書き込みして
何が楽しいのかと心底思う
733774ワット発電中さん:2014/05/03(土) 17:39:37.05 ID:AP1t3Qfi
MPLAB IDEを使ってるけど、MPLAB X が、なかなか使えない。
IDEのほうで不満がないし。
734774ワット発電中さん:2014/05/03(土) 18:08:20.51 ID:t1Z4iZVx
Windows7に乗り換えたときにMPLAB IDEが未対応だという話で
Xに乗り換えたけどなんでおまえらんとこの7だと使えるんだっ ><;
735774ワット発電中さん:2014/05/03(土) 19:50:09.87 ID:tNQGRvv9
すまんが名称を整理してくれないか。
現行の正式名称は「MPLAB X IDE」では?
「MPLAB X」とか「MPLAB IDE」とかはどういうもの?
736774ワット発電中さん:2014/05/03(土) 20:14:02.46 ID:AP1t3Qfi
すみません。
X無しをIDEと言っていました。
737774ワット発電中さん:2014/05/03(土) 20:14:56.87 ID:kGXW45Re
それマジで言ってんの?
738774ワット発電中さん:2014/05/03(土) 20:15:49.57 ID:kGXW45Re
↑は
>>735
739710:2014/05/03(土) 23:00:58.00 ID:ELnDEyKr
>731

仕事と言っても電機屋ではないですよ。
あくまで趣味です。本業でも役に立つ所はないでしょうね。
740774ワット発電中さん:2014/05/04(日) 04:36:23.86 ID:ipfH05IF
数字が全角なところからすると、技術屋さんでもないみたいね。
741710:2014/05/04(日) 06:21:05.13 ID:SSdzjkfJ
過疎ってる煽りスレに質問しといてなんだけど、まあ、5年ぶりくらいに2chやりますんで、作法なんか全部忘れてます。
742774ワット発電中さん:2014/05/04(日) 09:13:53.48 ID:0zMsQiCa
技術屋というと作業服のポッケに計算尺差しててやたら気難しいヒトというイメージ(^ω^ )
743774ワット発電中さん:2014/05/04(日) 11:35:52.66 ID:sqq4JNmQ
作業服の上着の上腕部に、
150oの金属製定規(シンワ製)が、定番
744774ワット発電中さん:2014/05/04(日) 11:43:57.92 ID:V9/fdHfF
それ、現場作業員
745774ワット発電中さん:2014/05/04(日) 13:58:52.41 ID:ipfH05IF
>>741
2chに作法らしい作法なんて無いですよ。強いて言うとすれば、
・英数は半角で書かないと、嫌われる
・いろいろな所に同じ質問を投げる「マルチポスト」は嫌われる
・自分あるいはローカルな人たちの間で使われている言葉を平気で書き込んで
  悦に浸っている書き込みは、嫌われる
・後出し上家なの質問は、嫌われます。
・説明の下手な質問には、まともな回答は付きません。
・回答者は、初心者の気持ちをわかってやり、質問の真意をうまく引き出すこと。
くらいかなぁ。
746774ワット発電中さん:2014/05/04(日) 14:05:09.18 ID:7S5Na/FS
>>745
>・後出し上家なの質問は、嫌われます。

誰か翻訳してくれ。
747774ワット発電中さん:2014/05/04(日) 14:08:56.87 ID:0zMsQiCa
俺も全角で書いててボロクソに罵られたけど
こちとら、其処を改める気など更々無いし、どちらかというと
2chなんてIDのある板で、IDを工作しないままに 同一IDで
堂々と自作自演できるようになって初めて一人前、と思っているのだが
近頃の若者は同調圧力に闇雲に呑まれ安すぎて困る、と思われ(^ω^)
748774ワット発電中さん:2014/05/04(日) 16:26:50.50 ID:3X54Oo3T
>・英数は半角で書かないと、嫌われる

これは、嫌われるじゃ無くて、馬鹿が騒ぐの間違い。
荒れるだけで実害は無し。
749774ワット発電中さん:2014/05/04(日) 18:55:52.84 ID:sqq4JNmQ
まぁ、センスは感じられないけどね
750774ワット発電中さん:2014/05/04(日) 19:27:17.69 ID:XequHgQT
全角、そこにしか突っ込むセンスがないんだもんな
751774ワット発電中さん:2014/05/04(日) 19:37:27.59 ID:4aRLBTnD
たった5年でローカルルールや作法忘れるのはネットどころか実生活でもちょっと問題あり。
752774ワット発電中さん:2014/05/05(月) 02:15:40.73 ID:9AvRG2WZ
3.14
とか書いてあるといやだな。
せめて
3.14
にしてほしい。
ま、基本2桁以上なら半角でって学生のとき言われたけど。
753774ワット発電中さん:2014/05/05(月) 02:46:05.84 ID:BiwvOMDK
>>750
>全角、そこにしか突っ込むセンスがないんだもんな
全然違うと思う。
最低限のそんなことすら出来ない人に、技術があるのか? ということです。
754774ワット発電中さん:2014/05/05(月) 09:48:39.16 ID:Rv+7fCBH
だいたい理工系で全角数字なんか使い物になる訳ない
CADやエクセルだって全角数字は通らんし。
せいぜいタイトルやファイル名には使えるかもだ。
755774ワット発電中さん:2014/05/05(月) 11:15:19.96 ID:Jcnpzo2n
ローマ字入力の弊害だね。
756774ワット発電中さん:2014/05/05(月) 11:27:46.67 ID:9dRAS7Se
エクセルはExcelじゃなくてもいいのか?
757774ワット発電中さん:2014/05/05(月) 12:56:08.39 ID:HTYVmMMv
2chの書き込みをCADやExcelにこぴぺすんの?ww
758774ワット発電中さん:2014/05/05(月) 14:22:09.11 ID:4fPIA0Q2
全角/半角以前に、そもそも日本語はコンピュータ向きではない。
と私は思います。
759774ワット発電中さん:2014/05/05(月) 14:22:32.68 ID:u159jrOx
エクセルに全角で数値入れても、半角として取り込んでくれるけどね。
全角数値でも認識できるのに、多少読みづらいからってケチを付ける
この程度のことも許容できない人はさぞかし生きづらいでしょうね。
760774ワット発電中さん:2014/05/05(月) 14:35:40.48 ID:TMPZx6Gc
全角文字列も変数名として扱える処理系において

2=3

とやると2が3になります。
761774ワット発電中さん:2014/05/05(月) 15:15:52.21 ID:hc8X1KGG
or2=3 ; おもいっきり屁をこく
762774ワット発電中さん:2014/05/05(月) 15:32:11.52 ID:9AvRG2WZ
or2=3
の方がいいと思われ
763774ワット発電中さん:2014/05/05(月) 17:04:19.87 ID:xOwZa8M9
 ぼるじょあ「(・3・)アルェー」
   
          ↑
厨「コイツ全角だ! ゆるせん!!! ヽ(`д´#)ノ」
764774ワット発電中さん:2014/05/05(月) 17:46:37.61 ID:rzl+8QRY
>>759
>全角数値でも認識できるのに、多少読みづらいからってケチを付ける
そういう考えも認める。
しかし一方で、全角を半角に解釈するExcelが良くない。
「世の中全角でOKやんけ」という意識を定着させてしまう。
全角数字は全角文字として拒否すれば良いのに。

余談だが、JTBの申し込み画面は、電話番号は半角だけど、
住所番地の数字は全角を要求する。半角を認めない。
今まで全角数字を使ったことが無かったので、
全角数字の入力方法がわからず、JTBに電話したことがある。
webページ制作者の怠慢。
765774ワット発電中さん:2014/05/05(月) 18:16:16.30 ID:AavRwQco
>>764
クレーマー乙www
PCの入力切替が判らないのは自分のスキルが低いだけだろうに
相手のせいにするとは、何処の韓国人だw
全角数字を入力できないって、相当基地外レベルだな。
766774ワット発電中さん:2014/05/05(月) 20:06:55.83 ID:9dRAS7Se
>>764見たいなのがこの問題の難しいところだよな。

電話番号とか郵便番号は数字として意味を持つ。
顧客データベースの画面の764レコードの
電話番号フィールドをクリックすると764の家に電話を
システムが掛けてくれるなんていうことができる。
郵便番号の場合、コレをキーとしてソートや集計を
すると顧客の住所順にしたり出来る。
ところが住所の番地は、印刷して郵便物の宛先に使ったり
画面でオペレーターが読んだりすることには使うが、
システム内に数字として保管される意義が薄い。
住所フィールドに漢字(2バイト)と数字(1バイト)が混在するのは
気持ち悪いから数字も2バイト文字というのは分からないでもない。

このレスは1バイト文字と2バイト文字を混在させて書いてみた。
アンカーは数字として意味を持つので1バイト。
本文は原則として2バイトで統一。
ただし“(”、“)”はMSPゴシックで表示されたときの間抜けさを回避する
ためだけの理由で1バイト。

メールやブログなどでも多用される引用の“> ”だが、2チャンネルでは
なんとなく2バイトの“> ”を使うのが流儀だと思ってた。
でもこのスレは“>”が多いね。最近はそうなのかな。
767774ワット発電中さん:2014/05/05(月) 20:20:55.08 ID:AavRwQco
>>766
>住所フィールドに漢字(2バイト)と数字(1バイト)が混在するのは
>気持ち悪いから数字も2バイト文字というのは分からないでもない。

気持ち悪いとかそういう話じゃ無いだろ。セキュリティの問題。
文章やコメントで半角に拘る奴って、「半角で書く俺カックイイ」と思ってるだけで
客観的、普遍的に通る理屈じゃないのに、声だけはデカくてクレーマーでしかない。
768774ワット発電中さん:2014/05/05(月) 20:28:28.27 ID:dj4AXF+O
>764
>「世の中全角でOKやんけ」という意識を定着させてしまう。
この辺が理解できないのだけれど、なぜ2chで全角数値を使っちゃだめなのか?
英語圏の人が読めない?→そもそも日本語読めないなら意味ないのでは
全角文字列も変数名として扱える処理系において・・・→人が読むだけなので問題ないかと
コピーして張り付ける時に・・・→(757)2chの書き込みをCADやExcelにこぴぺすんの?ww

それと住所入力は最近全角が多いような。混在するよりは限定した方が検索もしやすいし
ttp://itpro.nikkeibp.co.jp/article/NCD/20140212/536175/
こんな例もある
769774ワット発電中さん:2014/05/05(月) 20:37:36.45 ID:AavRwQco
>>768
クレーマーの理屈を理解できるなら世話無いな
そもそも、コンピュータなんて、人間が楽をする為の物なのに
数字を意図して作られてるフォントが数字として認識されるのが問題と考える基地外だからな。
770774ワット発電中さん:2014/05/06(火) 11:47:09.66 ID:JRWWYYlp
printf()を使ったのですが、処理にすごく時間がかかります。
特に %f の表示がかかるのですが、
別に少数点計算させている訳ではないのに、
こんなに遅くなるものでしょうか?
771774ワット発電中さん:2014/05/06(火) 11:55:21.26 ID:Y4UP34qC
なぜ%fにしたのか気になる
772774ワット発電中さん:2014/05/06(火) 12:28:13.40 ID:pu0gv+T2
%fが浮動小数点の演算だよ
773774ワット発電中さん:2014/05/06(火) 15:08:56.38 ID:vsgVj9F7
IEとか普通の環境で見たら全角と半角の区別は判然としないと思うが。
俺は必要なときは等幅フォントのテキストエディタにコピペして確認てるよ。
全角で騒ぐやつってどんな環境で2ちゃんをやってるんだろうといつも
不思議に思ってるんだが。余程特殊な目を持ってるのかな。
774710:2014/05/06(火) 23:04:07.26 ID:mRmwjjEE
全角半角論の原因が来ましたよ。
MPLABでの2バイト文字は蹴られる理由になりますね。#pragma JISってやると良いって検索では出ますが
効果はどうなんでしょ・・・?
それにしても、どう調教しても、Windows8.1のIMEが全角英数字を入力したがる。
設定で「常に半角に固定」しているのに、いちいち変換めんどくせ。

そんな話より、教えていただいた方に再度お礼。

〉724
とりあえずやってみます。1602側のデータシート完全に理解してライブラリ書かなきゃ
できないのかとため息ついておりました。
「ちなみに、SC1602で探すよりHD44780で探す方がいいサンプルが出てくる。」
この文章見つけただけでも十分価値有ります。
Cの構文すらおぼつかない今の状態だと、動作の報告は結構後になりそうですが、

〉726
1. PICマイコンのデータシートのレジスタ名称が、そのまま使える。
2. ウィザードを使ってプロジェクトを作成すれば、デバイス毎のヘッダは不要
3. intは16bit

この3行の文だけで随分楽になりました。
データーシートさえ見ておけば設定したい項目の答えが出ることになりますものね。

>728
#pragma config CP0=OFF,CPD=OFF,PWRT=ON,BOREN=ON,WDTEN=OFF,
こんな感じならOKみたいですね。__configでやると蹴られますが。
775774ワット発電中さん:2014/05/07(水) 03:19:23.61 ID:1pDMbHDF
>>774
わざわざ、お礼ありがとう。
>この3行の文だけで随分楽になりました。
でしょう?
僕も最初全然わからなくて、あちこちを見て回りましたが、
みなさん疑問には思わないみたいで、特に記述を見つけられませんでした。
特に、レジスタの名称がそのまま使えるのだと気づいたときは、
飛び上がって喜びました。
しかも、束でも、バラでも指定でき、構造体のxxx.xxx.b0とかやらなくていいのは
助かりました。

ただ、最近の(?)PICだと、出力用のレジスタと、入力用のレジスタが、
別の名前になっていて、かつ、構造体のxxx.xxという記述なので、タイプが長くて面倒です。
すかさず、#defineで、全bitの機銃を俺様仕様にしましたが。
776774ワット発電中さん:2014/05/07(水) 05:32:30.60 ID:v1SdTukm
>>774
そのアンカーの付け方は誘っているのか
777774ワット発電中さん:2014/05/08(木) 02:08:53.97 ID:rylOyZ7g
組み込み向けCコンパイラを使う時はまず真っ先にレジスタへのアクセス方法を確認しないかい?
778774ワット発電中さん:2014/05/08(木) 08:40:46.53 ID:WjA1ulxy
PICならそうだね
779774ワット発電中さん:2014/05/08(木) 12:04:24.10 ID:XrtDf5YX
テス
780774ワット発電中さん:2014/05/08(木) 12:24:01.33 ID:AcYLTI+L
>779 ID変更お疲れ様です!
781774ワット発電中さん:2014/05/08(木) 15:33:31.33 ID:hldtXMFl
てすてす
782774ワット発電中さん:2014/05/09(金) 03:11:36.86 ID:3aWYPJcZ
>781 アホか
783774ワット発電中さん:2014/05/09(金) 22:37:04.82 ID:hzbzk1+Z
picを使った製品の作製ってやってくれる業者はいらっしゃるのでしょうか
いらっしゃるとしてどうやって探せばいいのでしょうか
784774ワット発電中さん:2014/05/09(金) 22:43:16.04 ID:vHRmcSxu
>>783
普通の業者に見積もり取れば良いと思うよ。
その際に期間と数、PICを使うことを明記してあとは1週間ぐらい返事を待つだけ。

素人お断りなら反応もないだろうけど、1社だけじゃなくて数十社出したら1つぐらいは返事してくれるんじゃね?
785774ワット発電中さん:2014/05/09(金) 22:50:26.66 ID:hzbzk1+Z
>>784
ありがとうございます。ここはPICのスレですのでPICでとお尋ねしたのですが
AVRでもあれでいいの?でもいいんですが。
その道の業者ってどういう名称で探せばいいのでしょうか?
基板製作業?回路製作業?マイコンプログラム製作業?
どれも違うような気がします。
質問ばかりですいません
786774ワット発電中さん:2014/05/09(金) 22:58:04.19 ID:tpCXW4SB
>>785
何を作りたい?
基本的には自分で作るのが一番良い。
787774ワット発電中さん:2014/05/09(金) 22:59:56.01 ID:vHRmcSxu
>>785
縛りがあればそれで話を進めれば良いし、なければ相手にぼったくられる覚悟で相手が得意なICを選ばせればいい。
「組み込み 設計開発」辺りでググレば行けるんじゃないかな?
Webサイトを持ってるところはその辺の文言を載せてるみたい。
(公的な区分けでの業種って言われたら製造業しかないかと、ただめちゃくちゃ広い意味になるけど)
788774ワット発電中さん:2014/05/09(金) 23:09:42.05 ID:hzbzk1+Z
実は会社で使っている簡単なアナログ計測記録装置を何年か前に作ったのですが
実態はアナログのセンサーと市販のアナログ記録計とオペアンプとボリュームによる
レンジ調整とレンジを切り替えるスイッチとリレーの固まりでした。
センサーがデジタルになってしまって表示された数値と比例するDC電圧を出力する
機能をつけてもらっていたのですが、そのオプションもなくなってしまいました。
エクセルだと今はeasycom.sysも必要がなく純正のコントロールが使えてらくなのですが
現場がPCを使いたくない、今まで通りのペンレコーダによる紙出力でやってくれ
ということで困りはてております。シリアル出力されたPCでも読めるデジタルの
データをDAコンバータ等を使って結果としてデジタル表示に比例したDC電圧出力
に変換できるものでしょうか。PICに関する当方のレベルはアナログと同じく
非常に低いです。
789774ワット発電中さん:2014/05/09(金) 23:15:48.11 ID:tpCXW4SB
>>788
出来る。条件によっては8ピンPICで十分いける。
790774ワット発電中さん:2014/05/09(金) 23:26:05.80 ID:hzbzk1+Z
あともう一つは病院の運動療法か何かで使うのらしいですが、
手の届く範囲にLEDによる点光源を用意しランダムに一つずつ点灯させます。
点灯したところの真上に手のひらを移動させてセンサーでそれを感知すれば
次の場所がランダムに点灯します。その場所に手をかざしてLEDを消し
次の場所がランダムに点灯するようにします。LEDとセンサーを十カ所くらい
用意しそのスピードを何らかの形で点数化し表示します。両手で別々に
やることも考えているとのことです。できる人を探してみます、とは
言ったものの大学の電子工学科に電話しまくっても相手にもしてもらえません。
やろうと思えばできる人がいるものでしょうか。特許関係もクリアにするには
どうしたらいいものでしょうか。
791774ワット発電中さん:2014/05/09(金) 23:33:47.26 ID:hzbzk1+Z
>>787
ありがとうございました。教えていただいたとおりに業者を探してみます。
ぼったくり以上にできないことをできると言われても困ると思っていました
が、動いているうちに信頼できる業者と知り合えるかもしれませんね
792774ワット発電中さん:2014/05/09(金) 23:35:41.79 ID:hzbzk1+Z
>>789
それがわかっただけでも大助かりです。なんとか業者を探してみることにします。
感謝します。
793774ワット発電中さん:2014/05/10(土) 04:02:03.48 ID:14C2liQo
>特許関係もクリアにするにはどうしたらいいものでしょうか。
そりゃあ、ちゃんと調査するしかない。特許庁のサイトでも行って検索してみたらいい。

ただ、そういうものって「作ることはできる」としても1点もので
しかも既存のものの流用がきかなくて1から設計ってことになるから
仕事としてまともに見積もったら結構かかってしまうと思うわ。
794774ワット発電中さん:2014/05/10(土) 06:52:40.94 ID:tpucsZPN
今度赤外線リモコン作ろうとしてるんですが、 38kHz, デュティ比1/3の信号となってますが、
デュティ比が1/2、2/3、にすると強力になるのか実験してみたかたおられますか?
795774ワット発電中さん:2014/05/10(土) 08:30:18.84 ID:kHGG4iLV
理論上は出力が上がるものの、受信端では過変調でデータ化けしそう。
796774ワット発電中さん:2014/05/10(土) 09:56:05.60 ID:g6qlbfmI
>>794
理論上は弱くなる
797774ワット発電中さん:2014/05/10(土) 20:21:57.35 ID:qHiLMIX7
電気初心者ですが教えてください。

ひと組のI2C通信で、3つのA/Dコンバータを制御しようと思います。
A/Dコンバータの区別は、ICの足のH,L接続でアドレスを決める方法です。
I2Cの2本の通信線は、オープンコレクタ(オープンドレイン)なので、プルアップ抵抗が必要だと思います。
そこで質問です。

1. 3個のADの配線は、どのようにするべきでしょうか?
    ・スター結線
    ・芋づる式の結線
   両端に終端抵抗を付ければ、芋づる式かなぁと思います。

2. プルアップ抵抗には、何kΩの抵抗を使えば良いでしょうか?
    小さいとPICの負荷になるし、ノイズも出ると思います。
    大きすぎると、回線のストレーで電圧がHになるのに時間がかかりそうです。
    「ストレーCとの時定数 << 1bit時間」に注意します。
    感覚的には、4.7kくらいだと考えていますが、どうでしょうか?

3. その抵抗は、どこに付けるべきでしょうか?
        +マークが抵抗を付ける点です。
    1)マイコン---+---------------------------------AD1----AD2----AD3
    2)マイコン-------------------------------------AD1----AD2---+-AD3
    3)マイコン---+------------------------------+--AD1--+-AD2---+-AD3
   僕の考えでは、回線を均等にインピーダンスを下げた方が良いと思うので、3)のようにして、
   それぞれの抵抗を、15kくらいにしたらどうか、と思っています。

よろしくお願いします。
798774ワット発電中さん:2014/05/10(土) 21:31:46.19 ID:Fz5FYRU9
>>797
I2Cの規格では1kじゃなかったかな 大きすぎるとプルする意味が
データシートに内科医
配線の太さとそれぞれの距離&通信速度カモン
799774ワット発電中さん:2014/05/11(日) 01:28:49.19 ID:3OtmNXoV
>>798
ありがとうございます。

パターンの太さは、0.2くらいでしょうか?
距離は、60mm前後だと思います。

>I2Cの規格では1kじゃなかったかな 
あ、やっぱり1kですか。4カ所でPull-UPすれば、各4.7kでいいですね。
速度は速くないです。100kHz前後でしょうか。
100kHz=10usなので、半分の5usで1bit。t=CRでC=5us/1k=5000pF以下というところでしょうか。

SCLに関しては、マイコンが駆動するので、終端はA/D ICの近くだけで良いと思いますが、
SDAは、両者ともにLowになりますので、両端で終端がいいのかなと考えています。
800774ワット発電中さん:2014/05/11(日) 09:32:27.49 ID:v39LH1zj
>>799
そこまで考えてるのになぜ仕様書を読まないのかな。読めば終端などという
考えはないことはすぐに分かる。
逆に言えば反射が問題になるような長さやスピードでは使用できないという
こと。
プルアップ抵抗は何オームなどという決まりはない。
最小値は最もドライブ能力の低いデバイスで決まる。
最大値はスピードとバスの静電容量で決まる。

I2C バス仕様およびユーザーマニュアルRev. 5.0J 2012年10月9日
http://www.nxp.com/acrobat_download/literature/9398/39340011_jp.pdf
801774ワット発電中さん:2014/05/11(日) 19:53:55.76 ID:3OtmNXoV
>>800
ありがとうございます。データシート読んでみます。

変な質問をしてすみませんでした。
私がいけなかったです。
すみませんでした
802798:2014/05/11(日) 21:26:58.48 ID:u0NvJnRB
>>799
多くても1ヶ所でいいと思うよパターン1か2で
ただ100kbpsなら自分なら1kじゃなく4.7k使うと思うけど
必須じゃないからパターン空けといて動かなければ入れる程度で

>>800
また初心者が逃げちゃったじゃねーか
スレタイ読め
803774ワット発電中さん:2014/05/11(日) 21:59:42.54 ID:x0DZqyG6
>>802
愛の鞭だよ、この程度で逃げ出すようじゃ先は無い。
俺なんか初心者の時には、職場の先輩から愛の鞭どころか
愛の蝋燭と愛の縄までいただいちゃったぞw
おかげで今じゃ自他共に許さない一流エンジニアだww
804774ワット発電中さん:2014/05/11(日) 22:05:26.35 ID:x0DZqyG6
ま、冗談はともかく、定数を決めるときは人にその理由を正しく明確に説明できないとダメだよね。
805774ワット発電中さん:2014/05/11(日) 22:47:24.65 ID:7cKGXHsA
ゆるさないのかw
806774ワット発電中さん:2014/05/11(日) 23:55:19.43 ID:EVooPAHb
節子それエンジニアとちゃう、ただのサディストやっっっ!>共に許さない
807774ワット発電中さん:2014/05/12(月) 01:24:07.99 ID:mhFIiIgN
>自他共に許さない
808774ワット発電中さん:2014/05/12(月) 03:07:03.51 ID:/tE5nB9H
自他共に認める + 他の追随を許さない
の略なのかな。その強引さには痺れないし憧れない。
809774ワット発電中さん:2014/05/12(月) 16:45:16.17 ID:E4PbCMaY
>>803
おまえがいるからPICスレ荒れるんだよ。説教じじいはあっちいけ、シッシッ。
810774ワット発電中さん:2014/05/12(月) 16:46:35.65 ID:w0yHMqQn
>809
火に油注いで遊ぶのはやめてくだちい
811774ワット発電中さん:2014/05/12(月) 17:07:40.48 ID:Hqupentj
>>803
万年℃素人にしか見えない件
812774ワット発電中さん:2014/05/13(火) 00:16:44.18 ID:UWL5EmZN
>この程度で逃げ出すようじゃ先は無い
こういう言い回しが
この人の個性なんだな
つまらん個性だが
813774ワット発電中さん:2014/05/13(火) 00:50:46.74 ID:SKKyAFc/
芽吹かないのはたしか
814774ワット発電中さん:2014/05/13(火) 09:30:46.59 ID:p8vpsO58
>>803
褒めて育てるのだとか言って、おだてられて育ってきているひ弱な
世代は叱られることに耐性が無いから、そういう「ヲトナの理屈」
は通用しないよ。
昔のTVドラマによくいた「過保護ママ」みたいな言い方しないと
駄目だよ。
815774ワット発電中さん:2014/05/13(火) 09:40:52.36 ID:eLaL0+AR
是正を促しても余計な軋轢を生じたとするならば、
無駄に人前でなじらないだとか、話の着地点をちゃんと設計して
理路整然と批判するとか、罪を憎んで人を憎まず、みたいな
叱る側の態度やスキルを問うべき事柄であって、過保護ママが正しい対策とは思わないけれども。

むしろ、叱られることに耐性があるってのも考えようによっちゃ問題だず・・・
816774ワット発電中さん:2014/05/13(火) 09:45:23.95 ID:+a5RB1J2
文面で同じ人間だとわかるから、寂しい人だなと思ってスルーしとけばいい。
817774ワット発電中さん:2014/05/13(火) 13:08:52.69 ID:Jprem6U/
>>802は初心者にいい加減なことを教えておいて初心者に優しくしてる
つもりなのか
818774ワット発電中さん:2014/05/13(火) 15:46:08.96 ID:yojAR1dF
会社組織なら何らかの生産が目的だから状況によって部下や同僚に打撃を与えない
ようにとか、逆に厳しく接しなきゃダメとかある程度答えが集約されるでしょうけど
表現上のスタイルとしての露悪が基準の2ちゃんでは、尋ねる方もその辺を見越して、
知りたいことがわかったらそれ以外の付加的要素は無視してお礼を言うしかないんじゃ?
自分は初心者ですが「おまえは知ったかぶりの上にものを知らない馬鹿だ」と言われたとして
それが事実だと判明した場合は反省し精進を決意するし、そうではない場合罵声を浴びせた側の
不利益でしかなく放置するしかないと。他者による毀誉褒貶とそれに対する自分の感情的反応は
あまり意味がなく正確な自己評価に到達するには大変な努力と時間が必要と言うだけの話かもしれません
819774ワット発電中さん:2014/05/13(火) 15:50:41.32 ID:OjiyVX9v
3行でよろ
820774ワット発電中さん:2014/05/13(火) 16:01:26.17 ID:eLaL0+AR
事実を直視する、そんな立派な人格者のあなたに、このコピペを贈ろう・・・

http://awabi.2ch.net/test/read.cgi/company/1289116794/440
(事実を重視しない人格の一例)
821774ワット発電中さん:2014/05/13(火) 16:02:51.11 ID:wn3NkaxL
>818
こんなスレにこういう常識人もいるのかと少し安心した。

今までの書き込みで考えどころを抜き出してみた。○Xの判断は各自で。
>800
−最小値は最もドライブ能力の低いデバイスで決まる。
−最大値はスピードとバスの静電容量で決まる。
>802
−多くても1ヶ所でいいと思うよパターン1か2で
−ただ100kbpsなら自分なら1kじゃなく4.7k使うと思うけど
ー必須じゃないからパターン空けといて動かなければ入れる程度で
>804
−定数を決めるときは人にその理由を正しく明確に説明できないとダメだよね。
822798 802:2014/05/13(火) 20:01:38.78 ID:/ienbzuC
>>821
ごめんよ 5Vばっか使ってるもんだからついその気で書いてしまった。
単一電源とは書いてなかった(;゚ Д゚)
調子こいてたらダメだなぁ >>802は忘れてくりぇ
823774ワット発電中さん:2014/05/14(水) 02:23:41.01 ID:a1FpZX49
初心者ですが、質問いいですか?

PICは、何年くらい前から販売されているのでしょうか?
AVRより古いのでしょうか?
最初のPICは、PIC16C54で正しいでしょうか?
824774ワット発電中さん:2014/05/14(水) 08:45:07.63 ID:vWB8E2Nl
1975年 PIC1650 Z80発表の前年 歴史ありますなあ
ttp://en.wikipedia.org/wiki/PIC_microcontroller
ttp://www3.telus.net/danpeirce/robot/pic16xx.pdf
おいらのもってるAY-3-8910のマニュアルには
当時GI社のPIC1650やらその親CPUのCP1600との接続方法が
載ってたりする
825774ワット発電中さん:2014/05/14(水) 08:46:55.66 ID:fMuoyPOD
ごカンクンですか?
826774ワット発電中さん:2014/05/14(水) 17:10:40.12 ID:hOzUs7Y0
>823
ちなみにAVRは90Sシリーズが1996年、PICに比べて20年ほど後発になる。
Z80と同時期のPIC と intel Pentium2と同時期のAVR

8bitPIC(10F,12F,16F,18F)は、昔の設計を引き継いじゃってるから
お世辞にもよく出来た命令体系とはいえないね。
827774ワット発電中さん:2014/05/14(水) 17:41:55.74 ID:EJogB+pV
>>826
ま、自称、直行性の高い良く出来た命令体系のCPUってのは、脳内では上手くいくけど、現実世界では
色々問題があって、結局売れないんだよな。
828774ワット発電中さん:2014/05/14(水) 22:21:15.41 ID:us+6sEx4
俺がPICを知ったきっかけはプレステのMODチップだなぁ。
8pinの12C508でこんなことまでできるのか!と感動して
秋月で開発環境揃えた。

最初に使いこなしたマイコンには情が移ってしまうせいか、
同時期にリリースされたAVRには見向きもしなかったな。
829774ワット発電中さん:2014/05/14(水) 22:50:32.77 ID:WmuSoPvw
PICのアセンブラで苦労した後でAVRを使ってAVRに改宗したオレは
PICを抹殺するべきだと感じたな
830774ワット発電中さん:2014/05/15(木) 03:10:58.05 ID:APB/XBE4
某動画の影響で最初からAVRで始めた俺だったが
秋月でのPICのラインナップの多さを見て何度も浮気しそうになった
831774ワット発電中さん:2014/05/15(木) 04:17:39.13 ID:3eH/Tpxa
形状、ピン数、消費電力の少なさなど、AVRの比では無いですね。
C言語でやる以上、内部アーキテクチャやアセンブラの直行線は関係ないですし。
高速で動いてくれれば、それで良いと思います。
832774ワット発電中さん:2014/05/15(木) 06:33:03.88 ID:6z3/uBRE
アセンブラで苦労して、
そこから未だに抜け出せていないなんて、
いきなりCから始めた私には夢のような話です。
833774ワット発電中さん:2014/05/15(木) 07:24:37.90 ID:AnNhY3kD
16bitのPICならアセンブラでもAVRのMEGAシリーよりもずっと良いけどね。
入手性も値段も充分に比較対象になると思うのだけれど、なぜかPICを
けなす人には見えていない
834774ワット発電中さん:2014/05/15(木) 07:52:33.09 ID:OkOgmCdP
アセンブラはバンクの切り替えがめんどくさいけど、赤外線リモコンなんか作るには超便利。
C言語でやるとオシロがないと無理。
835774ワット発電中さん:2014/05/15(木) 11:53:06.02 ID:2gkPj6lc
>>829
私はPICの16F84のアセンブラでスタートしたが、
PICのプログラム書いていると思考の流れが中断されてイライラしてくる。
せっかく金かけて開発装置を揃えたのだからと頑張ったんだけど、
2本作ってとうとう諦めてAVRの90S2313に移った。
昔の話です。最近のPICは知らない。
836774ワット発電中さん:2014/05/15(木) 11:57:03.36 ID:ZuJGpnFr
なぜか24FやdsPICとはくらべられないんだよね、不思議だ
837774ワット発電中さん:2014/05/15(木) 12:11:37.66 ID:2gkPj6lc
>>836
私がPICを始めた時そんなものは秋月に無かった。(と思う)
838774ワット発電中さん:2014/05/15(木) 12:12:28.03 ID:JRe//aY/
8ピンで電池で待機させてPWMでスピーカを駆動するとなると
ATTiny45に置き換えられるPICはない
839774ワット発電中さん:2014/05/15(木) 12:47:16.42 ID:ZuJGpnFr
>>837
秋月にdsPICが登録されたのが2007年だから10年くらい前に始めたのかな?長いですね
840774ワット発電中さん:2014/05/15(木) 14:29:20.83 ID:T9w16476
それは嫌味だな。
万年℃素人って事だろwww
841774ワット発電中さん:2014/05/15(木) 16:33:51.48 ID:/KaPHH2O
>>835みたいな時の流れに乗りきれなかった連中が
大声でPICはあかんと自慢げに騒ぐから
現状が捻じ曲げられて伝わる

ま、別にPICでもAVRでもかまわんが
そこに止まってたきゃ黙って立ってろと言いたい
842774ワット発電中さん:2014/05/15(木) 16:39:27.74 ID:CfTbzcAt
>>834
IDEのSimulatorでStopwatch使えばそこそこできる
そもそも計算だけでやっても動かなかったこと無いな
843774ワット発電中さん:2014/05/15(木) 16:45:01.19 ID:6jQcPmLJ
>>838
PICは無いかどうか知らんが
無いことを言いたいがために
8ピンという意味の無い制約を持ち出した意図は見える
844774ワット発電中さん:2014/05/15(木) 18:08:33.39 ID:1xUCaP/J
アセンブラだけCだけで書くのならPICでもAVRでも一緒だけど、
混在させて直接RAMをアクセスするとAVRのほうが使いやすい気がする。
845774ワット発電中さん:2014/05/15(木) 19:12:51.25 ID:Lktcqu1w
8bitPIC → Baseline , Midrange , Enhanced Midrange , PIC18
16bitPIC → PIC24 , dsPIC
32bitPIC → PIC32

今のPICのラインナップはこれだけあって、8→16→32bitで
アーキテクチャも全然別物になってる。

単にPICと書いたら当然全て含まれるはずなのに、無知な奴は
自分の中だけの定義で語りだす。バカもいいところ

典型的なのが「PICよりAVRの方がずっと速い」とか
今、一番演算が速いPICはPIC32MZシリーズで 330DMIPS @200MHz
AVRはAVR32のAT32UC3Aシリーズで 126DMIPS @84MHz だ。
比較したいなら見当違いな議論にならないように、両方共シリーズを
限定して書くべき。
8bitAVR → 90S , tiny , MEGA , XMEGA
32bitAVR → AVR32(AT32)
846774ワット発電中さん:2014/05/15(木) 21:12:18.65 ID:ZuJGpnFr
「PICよりAVRの方がずっと速い」って書いてる人がマイコンは何に使ってるのかの方が気になるかな。
LチカやLCD表示やAD入力表示やPWMしかやってないって事はないと思うけど。
847774ワット発電中さん:2014/05/16(金) 04:39:07.47 ID:BSitIWPW
>>842
ぜひ公開してほしい。できたらxc8でね。
848774ワット発電中さん:2014/05/16(金) 07:18:16.84 ID:QaCef95g
昔のPICからAVRに乗り換えた時の話をしただけで
<時の流れに乗れていない>とか<今のPICはすごいんだぞ>とかそんなにムキになるなんて
皆さんには何かよっぽどツライ事情があるのですね、御同情いたしますです、ハイw
う〜ん、でも何で私の技術がたいした事ないって分っちゃったんだろ?
嫁にも内緒にしていたのにw
849774ワット発電中さん:2014/05/16(金) 08:44:45.38 ID:ns19Hp00
何かを必死に罵倒する人は自分のそういう面を他人に投影して
いやな面から目を背け安心するための精神防御機構らしいよ。
自己投影とかで検索。
850774ワット発電中さん:2014/05/16(金) 09:01:32.92 ID:e4tEELk2
つまり、スレタイに関係ないCPUの方が性能が良いとかなんとか
わざわざPICスレに書き込む様な事象の事かw
851774ワット発電中さん:2014/05/16(金) 10:34:32.15 ID:ns19Hp00
AVR教信者でPIC教信者を折伏しようとしているなら納得
852774ワット発電中さん:2014/05/16(金) 10:54:11.50 ID:aTy8oXSd
しゃくぶくワロタw

まぁ乗り換えたのもPICの話題ではあるけれども。

もう見限り、見捨てた石のスレッドをわざわざ覗きたくなる心境というのも
ようワカランけれども。

好奇心旺盛なのは結構ですぐゎ、高い家電を買った後は、量販店のチラシは見ない方が
精神衛生上よろしいぞ!もっと安く売ってたとか解るとおちこむでな!(^д^)
853774ワット発電中さん:2014/05/16(金) 11:12:18.46 ID:yzO0eY5n
kakakucom もあてにならないね
854774ワット発電中さん:2014/05/16(金) 12:20:41.15 ID:QaCef95g
>>もう見限り、見捨てた石のスレッドをわざわざ覗きたくなる心境というのも ようワカランけれども。
確かに16F84は見捨てたけど、PICを見捨てたわけではありません。、
なのでアンテナは常に受信可能な状態にしておかないと。
それから念のために書いておくと、乗り換えた90S2313(tiny2313)にも不満はありましたよ。
それにしてもCPUは宗教では無いのに皆さんの心の狭さというか、余裕の無さというか、
アナフィラキシー・ショックぶりには少し驚いた。
855774ワット発電中さん:2014/05/16(金) 12:35:06.03 ID:aTy8oXSd
>受信可能な状態に
そういう事でしたか、言い過ぎて失礼しました><;
856774ワット発電中さん:2014/05/16(金) 12:39:36.07 ID:1i7xQHhm
自分(P)が友人と自宅で話していたら、昔の知り合い(A)が勝手に入ってきて
A「よっ久しぶり、友達きてるのか」
A「知ってる? こいつ(P)すごい馬鹿でさ」
P「いつの話してるんだよ。今、俺(P)は東大生なんだけど」
A「幼稚園の時の話だよ。今のお前(P)の事なんて知らねぇし」
P (なら勝手に家にも会話にも入ってくるなよ)
A「挙句に、なんで自慢話聞かされなきゃなんねぇんだよ」
P「お前が勝手に来て、適当な話するから補足しただけだろ」
A「何 向きになってるんだよw」

友人…この人(A)は何をしたかったんだろ?
857774ワット発電中さん:2014/05/16(金) 12:59:52.37 ID:/iYwxBEe
重要なのは、Aも使いこなせなかったから、Pをワッッチして、再起を狙ってるが

 い ま だ に ℃ 素 人

って事か。
858774ワット発電中さん:2014/05/16(金) 13:13:45.62 ID:aTy8oXSd
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

東大生だ! PIC初心者スレに東大生さまがおるぞ!!


  /⌒ヽ
  ∩ ^ω^) な ん だ
  |   ⊂ノ
 |   _⊃
  し ⌒

  /⌒ヽ
 (^ω^ ∩ 例 え 話 か
  t⊃  |
 ⊂_   |
   ⌒ J

     /⌒ヽ
   (     )  おっおっおっ
   /  、 つ
  (_(__ ⌒)ノ
   ∪ (ノ
859774ワット発電中さん:2014/05/16(金) 13:48:33.36 ID:CK55xGD3
東大理IIIぐらいだと、
どのマイコンでもスイスイとこなせるんだろうなぁ。
英語もバリバリだろうし
860774ワット発電中さん:2014/05/16(金) 14:47:01.54 ID:hEBTID8N
せっかくマイコンに興味を持ったのに道を踏み外して8bitPICのアセンブラに陥る不幸は防がねば
861774ワット発電中さん:2014/05/16(金) 14:52:41.09 ID:aTy8oXSd
そういわずにお前も一緒にこの泥沼に浸ろうよぅ、
あっせんぶらぁはたのしいぞぉ〜 decfsz LIFE, 0
862774ワット発電中さん:2014/05/16(金) 17:03:27.16 ID:qwA8ZPvg
ねえ、まじレス希望なんだけど
現状でアセンブラのメリットは何?
863774ワット発電中さん:2014/05/16(金) 17:11:34.40 ID:yhtKpSLh
>>847
Stopwatch使ってやってみたの?
それでうまくいかなかったソースをまず出してみなよ。
864774ワット発電中さん:2014/05/16(金) 17:21:28.90 ID:aTy8oXSd
・動作を具体的に把握できる

・(ほかの石に)浮気をしにくくなる

・何で動かないんだよもしかしてコンパイラのバクじゃね?
 という不安やストレスとは無縁になるので自分のバカさ加減と
 真摯に向き合いやすくなる(俺はアホだな、と比較的早く悟ることができる)
865774ワット発電中さん:2014/05/16(金) 17:28:28.32 ID:T4/Xlr9o
つまりMっ気が身につくと…

それは冗談ですが>>834の言うようなことはホント?
ホントならメリットですが、安いオシロ買えばいいなら
もうメリットでもないような
866774ワット発電中さん:2014/05/16(金) 18:33:30.73 ID:NEezZNdt
昔ならアセンブラしか選択肢がないことはあったけど
今なら次の2つかな

CPUの能力を極限まで引き出す必要がある
CPUがどうやって動いているのか興味がある

タイミングが厳しいケースは
いずれにしろお城でチェックしないといけないから

Cとお城(ロジアナ)を用意が正解だと思う
867774ワット発電中さん:2014/05/16(金) 19:53:38.28 ID:5NAJUOBi
Cのコンパイラの最適化よりも
アセンブラの方が上ってことですか?
868774ワット発電中さん:2014/05/16(金) 19:58:48.66 ID:Lbme2LDg
どのCPUでもアセンブラのほうが性能は上だけど書くのが激しく面倒
869864:2014/05/16(金) 20:13:39.39 ID:QhAnhsxY
>865
Cで組んだことないからわかんないあ(^p^)

変に凝ったことせずに単調な(不確定な分岐をしない)処理なら
シミュレータのストップウォッチを使えば
タイミング(パルス幅とか間隔とか)の確認は
実機をオシロで見なくても、PC単体だけで、ある程度はできる筈だお。

C環境でもコンパイルしてからシミュレータはせらしゃ
いいんじゃないかと思うんだけど・・・なんで834の話になるのか
(Cで組んだことない)おいらにゃわかりません><;
870774ワット発電中さん:2014/05/16(金) 21:23:04.64 ID:JsyqeIY2
>>859
理IIIはしらないが、理情だとCPU作成(ってもxilinxあたり使うだけだが)演習あったりしたぞ。
871774ワット発電中さん:2014/05/16(金) 21:38:16.04 ID:QhAnhsxY
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

東大卒だ! 初PICスレに東大卒さまがおるぞ!!


  /⌒ヽ
  ∩ ^ω^) な ん と
  |   ⊂ノ
 |   _⊃
  し ⌒

  /⌒ヽ
 (^ω^ ∩ ホ ン 物 か
  t⊃  |
 ⊂_   |
   ⌒ J

     /⌒ヽ
   (     )  おっおっおっ
   /  、 つ
  (_(__ ⌒)ノ
   ∪ (ノ
872774ワット発電中さん:2014/05/16(金) 22:32:36.36 ID:x8mo3H2h
>>865
Cしか出来ない奴とアセンブラを使える奴との差は全体を見て、、正しいアルゴリズムでプログラムをかけるかどうか。
オシロで確認すれば確かにそのタイミングだろうけど、そんな行き当たりばったりのプログラムの仕方だと
いつ動かなくなってもおかしくないプログラムが出来上がる。
Cだとセンスが身につかない。所詮、言語仕様やプログラムのTAB、改行の入れ方に始終するだけの奴が多い。
873774ワット発電中さん:2014/05/16(金) 22:44:40.05 ID:SNGy9MH0
オシロ持ってないヤツは、やめてしまったほうがいい。
874774ワット発電中さん:2014/05/16(金) 23:11:52.07 ID:hEBTID8N
チップが壊れていたりシミュレータが不完全だったら永遠に完成しないもんな
875774ワット発電中さん:2014/05/16(金) 23:44:02.52 ID:WjD3vQuW
>>872
笑われたいのか?それとも笑わせたいのか?
どっちだ?
876774ワット発電中さん:2014/05/16(金) 23:58:26.28 ID:RJSMUjY7
Cをやっと使ってる人は多いね
877774ワット発電中さん:2014/05/17(土) 03:04:11.73 ID:la+8jEUd
>>876
>やっと使ってる人
やっと使ってるって何?
878774ワット発電中さん:2014/05/17(土) 05:23:30.47 ID:ofOTlHIG
>>872
Cしか出来ない人って正しいアルゴリズムで書けないの?
オシロで確認するのって行き当たりばったりなの?
アセンブラで無駄な労力費やしててセンスなんて身につくの?
879774ワット発電中さん:2014/05/17(土) 05:31:15.64 ID:0GjppHbU
>>878
>Cしか出来ない人って正しいアルゴリズムで書けないの?

うん
880774ワット発電中さん:2014/05/17(土) 05:34:31.28 ID:ofOTlHIG
>>879
へえ、そうなんだ
その根拠を具体的に説明してよ
881774ワット発電中さん:2014/05/17(土) 05:39:38.02 ID:0GjppHbU
>>880
Cしか出来ない = 頭が不自由で考える能力が無い = アルゴリズムを考えられない
882774ワット発電中さん:2014/05/17(土) 06:18:48.41 ID:spFBAqDo
アセンブラだとアーキテクチャの知識が不可欠になるから。
883774ワット発電中さん:2014/05/17(土) 06:31:21.74 ID:vncmLOUQ
昔はCのコンパイラははとても高くて、みんなアセンブラではじめたもんだ。
でも今ならCだね。楽だもの。
884774ワット発電中さん:2014/05/17(土) 07:08:24.54 ID:ofOTlHIG
>>881
なるほど、やはり自己破綻したかw

>>882
アルゴリズムの話からアーキテクチャの話に変わったんですか
885774ワット発電中さん:2014/05/17(土) 07:14:10.23 ID:04VQftUa
>>881
根拠も無く精神論を展開した果ては
大概こういう捨てせりふを吐いて消えてゆくよね
もうちょっとがんばって欲しかったのになあ
886774ワット発電中さん:2014/05/17(土) 07:33:50.89 ID:vncmLOUQ
そうそう、この人偉そうなこと言う割にはいつもすぐ逃げるんだよね。
887774ワット発電中さん:2014/05/17(土) 08:34:37.53 ID:GyewHtUl
アセンブラしか使えない人のほうが、よほど頭が不自由だと思うけどな。
カーニハンもリッチーもトンプソンもそうなのか?。
ヴィルトあたりには罪悪だとか怒られそうだな。
888774ワット発電中さん:2014/05/17(土) 09:14:45.39 ID:2betA8t9
前に、飲み会で部下のSEが
「やっぱりアセンブラっすよねー、Cじゃサイズがでかくなるし裏で何やってるかわかんないっすよー」
みたいな事言ってたのでアセンブラでできた超昔のシステム案件の修正をアサインしたら会社に来なくなった。
よくある話です。
889774ワット発電中さん:2014/05/17(土) 09:49:00.94 ID:yJeJ0epp
>>885
精神論じゃなくて、馬鹿は馬鹿。℃素人は℃素人って話。

>>887
喫煙を咎められた基地外が、先に酒を規制しろよ!
とか逆切れしてるのと同じだなw

>>888
アセンブラとかCとか関係なく、会社のレベルが低くて仕様書もソースも糞だったんだろ。
890774ワット発電中さん:2014/05/17(土) 10:54:27.22 ID:la+8jEUd
.
このスレは、初めてPICを使う初心者が、
わからないことを相談、解決してもらうスレです。

高度な話は、本ちゃんスレでお願いします。
僕のような初心者が質問しにくいです。宜しくお願いします。
891774ワット発電中さん:2014/05/17(土) 11:01:35.02 ID:xXYJerJa
では初心者向けの分りやすい意見を。
<Cかアセンブラか>じゃなくて<Cもアセンブラも>だ。
俺の広い守備範囲である<深窓のウブな御令嬢も、キャバクラ勤めの百戦錬磨のオネーチャンも>みたいにだ。
892774ワット発電中さん:2014/05/17(土) 11:30:29.29 ID:FEAMWi4E
余計にわからない。

中はダメ。
口はダメ。苦いから。
顔はダメ。
893774ワット発電中さん:2014/05/17(土) 11:50:08.93 ID:GyewHtUl
>>889
さすが汗厨。K&Rも、プログラム-アルゴリズムも知らないんだ。
894774ワット発電中さん:2014/05/17(土) 14:09:21.91 ID:1WJhXL6g
>>889
Cは馬鹿で℃素人、アセンブラは利口で玄人だってんでしょ?
何の根拠も無い内容をほえるから「精神論」だなと思ったわけですよ。
いずれにしてもそれ以上のものは貴方からは出てこないでしょうね。
895842,863:2014/05/17(土) 14:12:52.76 ID:cItXvJ//
>>847
どうなった?
まだ出来ないの?
896774ワット発電中さん:2014/05/17(土) 15:08:36.60 ID:eLlmlD4f
PICの板は定期的にCか汗ってテーマになるね。
897774ワット発電中さん:2014/05/17(土) 15:25:45.94 ID:g54r9gEc
スタックやフレームポインタのある16bitや32bitCPUと違ってかなり無茶な実装してるんだから
最低でも関数の呼び出し規約と呼び出し時のアセンブラコードを見てコンパイラとPICをいたわって欲しい
898774ワット発電中さん:2014/05/17(土) 15:42:05.91 ID:jCdlxt1g
>>896
Base line なら、アセンブラしかないと思うが、
バンク切り替え必要な位のメモリー規模
になったら16F1***以上にした方が
良いしな。
899774ワット発電中さん:2014/05/17(土) 16:09:54.72 ID:5Ad0kghF
使い分ければいいだけの話
900774ワット発電中さん:2014/05/17(土) 19:57:26.96 ID:+RPL4NTt
効率とか関係なく、ベースラインでアセンブラ使って1サイクル縮めたりするのが楽しいので好き
901774ワット発電中さん:2014/05/17(土) 22:03:36.99 ID:flKWwsAw
18f2550を使っていまして、
5Vの電源を、チップに接続した瞬間
300mAの電流が流れ、レギュレーターが
発熱してしまうんですが、何が原因か、
わからない状態です。どなたかわかる方
いらっしゃいますでしょうか。
902774ワット発電中さん:2014/05/17(土) 23:11:07.89 ID:H3nBHX3c
電源逆接続かショートしてないかしらべたほうがいいかも
903774ワット発電中さん:2014/05/17(土) 23:20:23.78 ID:5Ad0kghF
原因究明力が無い人は、必要な情報がなんなのかわかってないから、質問が唐突だよね。
904774ワット発電中さん:2014/05/17(土) 23:28:22.54 ID:flKWwsAw
>>902
ありがとうございます。電源以外の
ショートも疑って調べてるのですが、
なかなか見つからなくて、何かヒントになるものはないかと、
質問させて頂きました。
電源ピン以外での、配線違いでこのような現象が起こりうる可能性もあるのでしょうか。
もしそうなら、電源ピン以外ピンも一つずつ外して確認する必要があると思っています。
905774ワット発電中さん:2014/05/17(土) 23:29:21.18 ID:f2UiTW9D
ICソケットから抜いて PICレス状態で電源投入しても流れるん?
流れないならピンアサインの勘違いか、IOピンの入出力の設定を間違えたとかじゃねえの?
906774ワット発電中さん:2014/05/17(土) 23:32:54.72 ID:flKWwsAw
>>905
ありがとうございます。
確認してみます。
907774ワット発電中さん:2014/05/17(土) 23:44:41.63 ID:5Ad0kghF
>>905
やだなぁ1ポートmax25mAでしょ?
設定で300mA流せる方法があるなら逆に教えて欲しいよ。
908774ワット発電中さん:2014/05/18(日) 03:10:36.09 ID:vtKungd0
>907
VDDへ300mA流れるといってるだけで、I/O1本に300mA流れるとはかいていない(901)

それにGNDへ繋がってるI/Oピンを(誤って)出力にしてHにすれば25mA以上軽く流れると思うが
そもそも25mAってのはそこまでなら出力電圧(と動作)を保障すると言う意味で
それ以上流れないわけではない。まあ壊れたり寿命が極端に縮んだりするかもしれないし
保障外の使い方だから動作しなくても文句言えない。
909774ワット発電中さん:2014/05/18(日) 06:59:48.27 ID:ZBVuHnkP
AVRでならラッチアップで実験用電源の過電流保護回路(0.5Aだったかな?)を動作させた事がある。
小さなMCUでも流れるときは流れるし、触るとヤケドするときもある。
910774ワット発電中さん:2014/05/18(日) 08:01:14.68 ID:Irg2x5VP
EPROMも光ったよなあ
911774ワット発電中さん:2014/05/18(日) 08:55:02.59 ID:qtPMiM3J
ADコンバーターも穴ないけど光ったお
912774ワット発電中さん:2014/05/18(日) 08:57:02.31 ID:9WZC3wuk
どういう設定で300mA流れるか、
肝心な説明は無いのね。
913774ワット発電中さん:2014/05/18(日) 09:00:01.94 ID:ncyX1dIj
初心者向けスレですから、あまり突っ込まないであげましょう
914774ワット発電中さん:2014/05/18(日) 11:59:37.53 ID:j6a919Np
>>913
初心者だから、突っ込んで聞かないと必要な情報が得られずに、折角質問したのに結果としては何も変わらない事になる。
本当に問題を解決するアドバイスを出すつもりなら、それなりに突っ込むだろ。
どうせ初心者の問題なんて、どうでも良いって考えなら、適当にあしらう。
915774ワット発電中さん:2014/05/18(日) 12:37:14.30 ID:HfQipEmc
>912
VOHvsIOHのグラフ見ると(25mA以上は無いから想像だけど)
GND直結なら40mA程度は流れるでしょ。8bit全部間違えてれば
x8で300mA程度流れても不思議じゃない。

TRISの設定間違ってるに1票
916774ワット発電中さん:2014/05/18(日) 13:16:10.30 ID:HLnEMTy/
実験した回路図と現物写真うp
917774ワット発電中さん:2014/05/18(日) 13:53:23.18 ID:9JY9M4gD
PICの出力ピンと内蔵プルアップを使ってON/OFFの判断をしています。
内蔵プルアップによって電圧が上がっている状態で、PICの出力ピンがONになった場合
PICの出力ピン < 内蔵プルアップ電圧の状態になることはありえるんでしょうか?
こういう状況の場合、出力ピンの方が電圧が低いので逆流することになるんでしょうか?

今のところ、動いて入るのですがピンが今後壊れないか心配です。
918774ワット発電中さん:2014/05/18(日) 14:01:40.48 ID:QBKStdL8
>PICの出力ピン < 内蔵プルアップ電圧の状態になることはありえるんでしょうか?

ありえる

>こういう状況の場合、出力ピンの方が電圧が低いので逆流することになるんでしょうか?

PICの出力ピンよりも出力負荷側へ流れれば問題ない
919774ワット発電中さん:2014/05/18(日) 14:10:27.05 ID:HfQipEmc
>917
I/Oが出力状態で内蔵プルアップが必要な理由が判らないが・・・

使っているPICの型番が不明のため確実ではないが
例えば16F887のI/OピンのBLOCK DIAGRAM見ると
内蔵プルアップをONにするためには、WPUBやRBPUの他に
TRISがHの必要がある。
つまり出力と内蔵プルアップは両立出来ず、I/Oを出力状態に
したら内蔵プルアップはOFFになる。
920774ワット発電中さん:2014/05/18(日) 14:29:54.59 ID:9JY9M4gD
説明不足ですみません。
>>919
16F193Xシリーズになります。

>>I/Oが出力状態で内蔵プルアップが必要な理由が判らないが・・・
本来スイッチがON/OFFになっているか判断するには
スイッチの片方 = GND、もう片方は内蔵プルアップの入力ピン
スイッチが押されたら内蔵プルアップの入力ピンがLOWになりスイッチが反応するかと思います。

このスイッチが計算機やキーボードに使われているマトリックス構造(6 × 5 = 30通り)になってまして
5をすべてGNDに繋ぐとどの状態の時に反応したのかわからなくなっていまいます。
内蔵プルアップの入力端子 => 6個接続
出力端子 => 5個接続

出力端子に OFF / ON / ON / ON / ON/
出力端子に ON / OFF / ON / ON / ON/
出力端子に ON / ON / OFF / ON / ON/
出力端子に ON / ON / ON / OFF / ON/

説明下手で申し訳ないです。
921774ワット発電中さん:2014/05/18(日) 14:58:11.20 ID:rXTG6SXz
>>920
逆流して悪い理由は何もないと思うが。

それより出力端子をONにするやり方だと複数のスイッチを押したとき
出力ポート同士がショートして過大な電流が流れるぞ。
そのやり方ならTRISを制御してONにする代わりに入力にした方が良い。
922774ワット発電中さん:2014/05/18(日) 14:59:07.51 ID:HfQipEmc
>920
11個のI/Oの内、6個が入力で内蔵プルアップONでSWの状態読みで
5個が出力で、スキャンして1個だけ”L"にして列選択するということね。
内蔵プルアップは数十kΩ相当位あるし、Vddよりは低いわけだから
特に気にしなくても大丈夫でしょ。

気になるなら、列選択5個の内選択中の”L"出力以外は、入力モードに
してしまえばいいのでは。
923774ワット発電中さん:2014/05/18(日) 15:09:34.52 ID:9JY9M4gD
みなさんありがとうございます。

複数のスイッチを押したときの動作を考えてませんでした。
出力ピンでHIGHより、いっそ出力ピンを入力にすればよかったんですね。

出力/入力の切り替え
出力ON/出力OFF切替え

負担が大きいのはどちらになるんでしょうか。
924774ワット発電中さん:2014/05/18(日) 23:04:56.81 ID:gf3aIm4C
もう少しキーマトリックスについて勉強してからの方がいいな
925774ワット発電中さん:2014/05/19(月) 00:09:54.38 ID:UgeAGBGg
>923
>負担が大きいのはどちらになるんでしょうか。
処理速度的な事をいってるのかな?

16F193Xならどっちでも変わらないんじゃないか
8bit中の残り3bitを気にしなくていいなら
PORTxへ書き込むか、出力は”L"固定でTRIS命令でTRISxへ書き込むかの違い

まあ違っても2命令程度の差だろうし、毎秒100回読み込むとしても
2x100x5列=1000命令/sec 、 4MHzで動かしても1ms余計にかかるだけ≒0.1%
こんな事気にしても意味が無いと思うが。>921で指摘されたショートの件が有る以上
>出力ON/出力OFF切替え
の選択肢は無いでしょ。それとも各キーにダイオード入れるのかな
926774ワット発電中さん:2014/05/19(月) 22:44:17.97 ID:xxoVRBlU
レギュレータの配線ミスに1票
センターがGNDのやつと端がGNDのやつとあってだね…
…この前やらかしたの俺だ orz
927774ワット発電中さん:2014/05/20(火) 00:29:26.68 ID:EKa1lrF7
こんばんは。PIC初心者です。
勉強していて不思議におもったのでどなたかご教授ください・・・
AC/DCアダプタにはセンタープラスとセンターマイナスの2種類の極性がありますが、
AC/DCアダプタを使用してるPIC電源回路で異なる極性でも同じ動作をする理由がわかりません。
全波整流と半波整流が関係してくるらしいのですがよくわからないんです・・・
928774ワット発電中さん:2014/05/20(火) 00:31:59.09 ID:6zuxeXiY
ブリッジダイオードというのがあるんですお
929774ワット発電中さん:2014/05/20(火) 00:34:10.27 ID:0sA1ZWFc
>>927
>PIC電源回路

特定の回路を指しているのなら、第三者が理解できるような情報を出さないと判らないよ。
930774ワット発電中さん:2014/05/20(火) 00:38:02.68 ID:3c3NWGRo
>>927
PIC云々以前の問題なので、電子工作関連のスレがいいよ
http://ai.2ch.net/test/read.cgi/denki/1398416404/
http://ai.2ch.net/test/read.cgi/denki/1396976071/
931774ワット発電中さん:2014/05/20(火) 00:58:20.23 ID:iQu9B6d7
>>929
初めてのPICなんでしょ。しょうがないでそ。
932774ワット発電中さん:2014/05/20(火) 01:20:06.41 ID:lhwtrpZ0
>>925
ありがとうございます。

自分の思い込みで、入力出力の切り替えの方が負担がかかると思ってました。
入出力の切り替えで対応します。
933774ワット発電中さん:2014/05/20(火) 03:13:23.45 ID:/yNDPOVY
少し早いですが、次スレ立てました。

  初めてのPIC 0x02

   http://ai.2ch.net/test/read.cgi/denki/1400522979/l50

ここを使い切ってから移動しましょう。
934774ワット発電中さん:2014/05/20(火) 14:12:52.91 ID:/yNDPOVY
初心者です。教えてください、

PIC16F88でRS232C通信を、115kbpsで行いたいと思います。
ピン数が少ないので、内蔵の発振器で動かそうと思いますが、まずいでしょうか?
発振周波数調整をして、現在普通に動いているのですが、
寒いときや暑いとき、電池が減ってきた時など、すぐにダメになってしまうでしょうか?
935774ワット発電中さん:2014/05/20(火) 15:56:54.43 ID:iQu9B6d7
>>934
電池が多少減っても内部クロックは安定しているよ。
でも16F88はもともと下限電圧が4Vと高いほうだから、電池で駆動するにはきびしいんじゃないかな。
別のPICにしたほうがいいね。
936774ワット発電中さん:2014/05/20(火) 16:50:49.09 ID:/yNDPOVY
>>935
ありがとうございます。
電池の影響は少なそうで安心しました。
低電圧のPICも考えましたが、安定化に3端子レギュレーターだと電池の落ちがもったいないので、
リニアテクノロジーのICで電池2本から5Vに少圧する回路を作りました。
そうすることで、常に5V一定になるので電池電圧の低下を気にしなくても良いので、調子いいと思ってます。

電圧低下のテストは、3端子レギュレーターを買ってくれば良いので、まだいいのですが、
温度のテストはなかなかできませんね。
熱いのは夏の炎天下で40℃くらいかなと思います。ダッシュボードの上だともっと熱くなるような気がします。
それは回路をドライヤーであぶってテストする予定です。

寒いほうは冷蔵庫ですが、冷凍室でもマイナス10℃程度しか行かないので、もう少し行きたいと思っています。
スーパーのレジ横の細かい氷を洗面器に入れて、何度になるかはかってみます。基板をビニール袋に入れて、テストしたいです。
ありがとうございました。
937774ワット発電中さん:2014/05/20(火) 20:10:18.70 ID:4ZMOVqIe
>>936
クロックのドリフト以前に、推奨動作条件を超えてるんじゃないのか?
938774ワット発電中さん:2014/05/20(火) 22:26:58.20 ID:h3uJiYIK
>936
USARTで10bit中の半bitずれたらNGだろうから、相手のクロックから
5%ずれたら確実にNG。2%かせめて3%以内には抑えたい所。

内蔵クロックはOSCTUNEは115.2kbps用に調整済みってことかな
8→7.32MHz位?

16F88のデータシートからINTOSCのバラツキは
 -10〜+85℃(VDD=4.5〜5.5V)で±5%
 -40〜+85℃(VDD=4.5〜5.5V)で±10%
だいぶ厳しそう。

EnhancedMidrangeの16F1827だと
 0〜+60℃(VDD=2.5〜5.5V)で±2%
 0〜+85℃(VDD=2.5〜5.5V)で±3%
 0℃未満(-40℃以上)と(VDD2.5V未満(1.8V以上)は±5%
0℃以上ならこちらに変えるのもありかも、バラツキ5%に
なっちゃうけど1.8V(乾電池2本)まで動くし
データ取りに凄く手間かかるけど、このPICは温度計も内蔵して
いるから温度に合わせてクロックを補正とかも出来ないことは無い
939774ワット発電中さん:2014/05/21(水) 04:24:52.75 ID:ZlGaore0
>>936
知っていると思うけど、氷で冷やしても、0度〜マイナス1桁程度しか冷やせないよ。

温度を気にするなら、なんとか水晶の使用を考えた方がいいと思う。
発振子だと2本使うけど、発振器なら1本で済む。もう1本がI/Oに使えるなら
それを振り替える。

I/O本数を増やすテクニック。思いつくまま。
・74HC595や74HC166などのSERDESを使用する。
・74HC573などのラッチを使って出力本数を増やす。
・n:1なら、74HC138を使う。
・PWM+LPFで電圧を作り、コンパレータで3段階とかを判定する。
・LCD使っているなら、LCDの非アクセス中は、E信号以外は入出力に使える。
・もう1つPICを使って、シリアルで通信してI/O増。
・LED2つで2ポート使っているなら、反対向きLEDの並列で、1ポートでon/offできる。
・RESET端子をIとして使う。


眠い。寝る
940774ワット発電中さん:2014/05/21(水) 04:55:26.21 ID:68NstaXM
>>936
低温はQレイだろ。
941774ワット発電中さん:2014/05/21(水) 09:33:04.03 ID:ggak+KzR
外付けでI/O本数を増やすとワンチップの意味ない気がする
バリエーションが豊富なPICなんだからPIN数で選び直すのが筋
942774ワット発電中さん:2014/05/21(水) 11:19:31.57 ID:fRmvY+Qt
PICのピン数って、こんな感じかな?

6 pin
8 pin
16 pin
18 pin
24 pin
40 pin
続く
943774ワット発電中さん:2014/05/21(水) 11:55:25.38 ID:rty+ORr1
最近44Pinと100PinのPICしか使ってないや。
944774ワット発電中さん:2014/05/21(水) 13:00:41.96 ID:AgQlAau2
>>939
>マイナス一桁
そう不精をしないで、
岩塩を砕いた粉の塩を冷凍庫で冷やしておいて
かき氷にした氷と混ぜろ混ぜろ!
945774ワット発電中さん:2014/05/21(水) 13:58:32.51 ID:fRmvY+Qt
冷蔵庫の氷(サイコロのような四角いやつ)に、食塩を「まぶす」と、
どのくらいの温度になりますかね。
温度測定には、ステンレス棒に入った熱電対があります。
946774ワット発電中さん:2014/05/21(水) 14:40:48.05 ID:MUnUSOHH
>>945
夏休み自由研究の種本だかで
−22℃くらいと読んだ気がする

本格的寒剤だったけな?
947774ワット発電中さん:2014/05/21(水) 14:59:07.23 ID:2VHiYHW8
>>945
塩を買ってこいよ
948774ワット発電中さん:2014/05/21(水) 17:04:13.10 ID:zcMpuJqe
>942
6 pin 但しSOT-23のみ
8 pin
14pin
18 pin
20 pin
28 pin
40 pin
949774ワット発電中さん:2014/05/21(水) 17:53:05.19 ID:fRmvY+Qt
しかし 6pinって凄いよね。
VCC, GND引いたら、4本しかない。
・I2Cで受けて、I2Cで出力か、
・I2Cで受けて、RS232で出力か、
950774ワット発電中さん:2014/05/21(水) 19:08:01.56 ID:G138VEGr
秋月で8ピンと6ピンのセットが売ってるが、
写真みるとカルガモの親子にしか見えんな。
951774ワット発電中さん:2014/05/21(水) 19:12:35.35 ID:MmcqREWY
目が腐ってるんだろ
952774ワット発電中さん:2014/05/21(水) 22:36:11.59 ID:lO+WVsHz
PIC10Fも頑張れば色々できて楽しい。
入力は単体で9キー、ダイオード使うと28キーまでいけるし、
出力はCharlieplexingでLED6個制御したり、7セグ数字表示したり。
953774ワット発電中さん:2014/05/22(木) 00:54:08.80 ID:9AFGXjrJ
8pin PICに、スイッチを6個付けたことがある。アホな俺
954774ワット発電中さん:2014/05/22(木) 02:08:45.11 ID:hB8kU1q3
複数SWを1ピンで取り込む最良の方法は、直列抵抗をSWで短絡して、
A/Dコンバーターで取り込む方法。
10bit A/D = 1024 = 5Vで 5mV/LSBだから、0.5Vの判別は可能だから、
SW 10個くらいなら行けると思う。
955774ワット発電中さん:2014/05/22(木) 04:30:33.04 ID:Pbuks1vS
かって、車のハンドルのスイッチインターフェースがそれだったな。
956774ワット発電中さん:2014/05/22(木) 09:15:48.62 ID:kXXV/Yll
>>953
普通にやるよ。いろんな波形を作る冶具として使ってる。
ボタン一発でl好きな波形が出せて便利。
957774ワット発電中さん:2014/05/22(木) 09:36:30.68 ID:8JQduLuE
やぐ?
958774ワット発電中さん:2014/05/22(木) 10:03:54.66 ID:kXXV/Yll
>>957
間違えた。指摘ありがとう。

× 冶具
○ 治具
959774ワット発電中さん:2014/05/22(木) 10:31:56.81 ID:CqziiTS8
おいらはjigの漢字表記は冶具を使うなぁ。

治具のwikipediaページを編集された智将様は、鍛冶からの誤読と決めつけているが、そうじゃなくて
冶具派は、陶冶の意味合いからのニュアンスを汲み取ってわざと使っているのだと思うにゃ〜(=^ェ^=)
http://ja.wikipedia.org/wiki/%E9%99%B6%E5%86%B6
960958:2014/05/22(木) 11:34:35.56 ID:O9TBETX4
>>959
古い文献には959の主張も書かれていて、俺も昔は冶具だったけど、最近は面倒なので気が付いたときは治具にしてる。
今使ってるノートは解像度が高くて、治に限らず違いがよくわからないので、結構誤字が多い。
961774ワット発電中さん:2014/05/22(木) 12:12:00.85 ID:G9cNNKfu
http://www.nihonjig.co.jp/index.html
は URL が "jig" で、
title、会社概要が冶具、トップページと背景が治具。
登記はどっちだろ。
962774ワット発電中さん:2014/05/22(木) 12:43:49.63 ID:OF5XPtLT
前に各スイッチごとに値の違う抵抗気を並列接続しておいて、
スイッチOFF時に抵抗値がかかりっぱなしになる状態にしたものを
シリアルにつないで似たようなことしたことがある。
抵抗の値さえバッチシ決まればけっこううまくいくよね
963774ワット発電中さん:2014/05/22(木) 15:04:32.46 ID:9AFGXjrJ
>抵抗の値さえバッチシ決まればけっこううまくいくよね
そうそう。
うまい抵抗値を選ぶのがポイントね。
定電流流してやると、精度が格段にupする。

問題は、複数SW押しの防止または検出。
抵抗を上手に組み合わせると、複数押しも出来た気がする
964774ワット発電中さん:2014/05/22(木) 19:02:10.54 ID:BRSzqJvq
>>959
>にゃ〜(=^ェ^=)
は何を汲み取ってるの?
猫の気持ちか?
965774ワット発電中さん:2014/05/22(木) 19:37:47.80 ID:/mDXvcrw
>964
そのレスはね、下書き時点では「おもうなぁ。」って書いてあったんだけど
なんか嫌味ったらしい態度だと解釈されたり、
俺が相手を侮蔑しているかのような受け取り方を
されかねない懸念をちと覚えたため、それくらいならむしろ
こいつ(= >>959)はバカだろwwと思われるリスクをうけいれて
表現のなかの刺さりそうなトゲを除去したんだお(^p^)
966964:2014/05/22(木) 20:31:03.32 ID:b3z1yWbV
>>965
あ、まじレスどうもです。
いや、せっかく読める内容なのに、語尾がなあと思ったもんでつい。
967774ワット発電中さん:2014/05/23(金) 13:15:11.76 ID:U9t683Ct
>>表現のなかの刺さりそうなトゲを除去したんだお(^p^)
書いた本人のアイデンティを表現するためのものだと思っていたので、
今まで私は末尾に「にゃ〜」や「お」が付いているレスは見なかった、存在しなかったことにしていた。
トゲ除去という理由で付けているなら、できれば他の表現方法を希望します。
(どうしようと基本的に965の勝手です)
968774ワット発電中さん:2014/05/23(金) 14:37:29.36 ID:ZPwTgRkj
なぁにむしろ耐性が付くにゃ〜(=^ェ^=)だお(^p^)
969774ワット発電中さん:2014/05/23(金) 15:15:21.24 ID:6mVYIyZ3
俺だけかもしれないが、
「にゃ〜」とか「お」を付けてる書込を見ると、イラっと来る。
それを通り越して、かわいそうな気もする。
970965:2014/05/23(金) 15:28:48.53 ID:IZsdb9yP
流石は俺様!。「こいつ(= >>959)はバカだろwwと思われるリスク」に
ついての認識も的確だったようですな・・・(^ω^;)
971774ワット発電中さん:2014/05/23(金) 18:37:54.66 ID:rDFtx8wy
語尾お君。
賢さを感じない。
972774ワット発電中さん:2014/05/23(金) 19:02:41.77 ID:xQlf65QP
文句しか言わないお前よりは賢いと思うぞ
973774ワット発電中さん:2014/05/23(金) 19:40:23.09 ID:TZ+eJ5L2
オレ?
974774ワット発電中さん:2014/05/23(金) 19:46:48.79 ID:3wWOucRt
>>969
にょ や りゅん でなかった事を祝おう
975774ワット発電中さん:2014/05/23(金) 20:07:59.61 ID:CcPW3z9s
うぜぇ・・・
976774ワット発電中さん:2014/05/23(金) 22:37:53.54 ID:6mVYIyZ3
.
語尾に お 付けるの、やめてくれませんか?

読んでいて腹立たしいし、君がバカに見えるよ。
977774ワット発電中さん:2014/05/23(金) 22:54:07.19 ID:TZ+eJ5L2
オレ?
978774ワット発電中さん:2014/05/23(金) 23:27:45.25 ID:dGQ7HpfK
牛乳を飲もお!
979774ワット発電中さん
 しょうが      ヽ 丶  \
      ない   \ ヽ  ヽ     ヽ   (´・ω・`)
/  /    ヽ    \ ヽ   ヽ
 /   |  ヽ \     \  ヽ  ゝ           (にゃあ)   (´・ω・`)
ノ 丿       \  に  \   ヾ  (´・ω・`) 
 ノ  |   |  丶  \     \           (にゃあ)
   /          \ ゃ   \/|                (にゃあ)
 ノ   |   |      \  あ    |         ↑
     /\        \      |         (  ↑
   /   \       /      |          )  (
  / うーん。 \      ̄ ̄ ̄ ̄ ̄         (   )
/_        \                    ) (       あの、すみません。お願いが。
 ̄  | や  っ た| ̄         ノ⌒ ̄⌒γ⌒ ̄⌒ゝ           /何/
   | つ  て ま|         ノ   い い よ 。  ゝ         /か」/
   | な   っ|        丿              ゞ      _/な∠
   | の   て|       丿/|/|/|/|\|\|\|\|\ゝ     .\  /
   | か   る|               │                V
――| な    ・|――――――――――┼―――――――――――――――――
   / ?   ・ヽ   巛巛巛巛巛巛巛巛見抜き?巛巛巛巛巛巛巛巛見抜きさせてもらえないでしょうか・・