【お手軽】PIC専用のスレPart3【マイコン】at DENKI
【お手軽】PIC専用のスレPart3【マイコン】 - 暇つぶし2ch808:774ワット発電中さん
05/04/20 23:42:47 J/oN4ENU
>>786さん
すれ違いにはなりますが、
スイッチドキャパシタフィルター
というのを始めて知ったのでぐぐったところ、
コンデンサをスイッチングすることで等価的に抵抗として使えるとありました。
が、これだけだと シミュレーテッドレジスタ という感じでいまいちフィルタに思えないのですが、
なぜ、これがフィルターと呼ばれるんでしょうか?


809:785です。
05/04/21 00:28:27 wE+4I9gh
>>787
そのとおり、4KHzまでです。
ただし、、、
CRの一次LPFだと4KHz以上の部分を落とそうとすると
カットのスロープが緩やかなのでサンプリングできる周波数も
削ることになるかなと思って、、
# CRでカットオフ4KHzにすると4KHzで-3dB
# 高次のフィルタ入れるとか言う話になると方向性またかわってくるしね

ここは、オーバーサンプリング(といっても40kHzぐらいにしかできないが)で
ソフトフィルタで4kHzに落とししてみる?とか言う方がマイコンのお遊びとしては
いい感じかな。
# そんな重いタスク走らせたら通信できなくなるかな?



810:16F877A
05/04/21 09:32:16 jtc91dT4
>>808
製品化されているのだな SCF
URLリンク(pdfserv.maxim-ic.com)
URLリンク(pdfserv.maxim-ic.com)
4KHzで0dbでも8KHzでー60dbまで落ちてるんだな


811:16F877A
05/04/21 10:35:38 jtc91dT4
>>808
AD,DAをバケツリレーしてるようなもんだな

URLリンク(japan.maxim-ic.com)

812:774ワット発電中さん
05/04/21 11:00:06 ySzRt6Hy
>786ではないが・・
>なぜ、これがフィルターと呼ばれるんでしょうか?

簡単に言えば、オペアンプによるフィルタはオペアンプとCとRだけで構成できる。
このRに相当する部分をスイッチトキャパシタで置き換える。コンデンサの
ところはスイッチングしないキャパシタにすると考えたらわかりやすいかな?
(実際のスイッチトキャパシタフィルタはもうちょい凝ってるけど)

以前は携帯電話なんかでも結構使われていたと思ったけど。


813:774ワット発電中さん
05/04/21 12:11:16 14HlrUjt
PSoCだとプログラマブルなSCFだよ。
初期化以降でも、レジスタたたけば特性も変えられるし。

814:774ワット発電中さん
05/04/21 12:36:30 dinkNOh4
ポートBのプルアップって抵抗なのか?
MOSジャマイカ?


815:774ワット発電中さん
05/04/21 13:01:04 caVsHudI
活用ガイドブックには
MOSトランジスタが内蔵されていて
これがプルアップ抵抗として働く
と書いてあるよ。

816:16F877A
05/04/21 13:25:53 jtc91dT4
>>814
FETによる定電流回路じゃないかな?
ばらつきは あるが0.5MAくらい流れてた。


817:774ワット発電中さん
05/04/21 14:47:54 mh5m+UFZ
500kAって半端じゃないな。

818:774ワット発電中さん
05/04/21 19:09:29 93pVmXRd
ネタで落ちたところで豚切りスマソ。

16F373に秋月の16×2のLCDをつないで文字を出そうとしていますが、
文字化けしてヘンテコリンな文字列が出てきます。
4ビットモードです。
文字コード表で追うと、どうやら 0x** と送ったつもりの
下位4ビットが B'1111' に化けて 0x*F となっているようです。

困ったことに(?!)まともに表示するときもあります。
ということは、初期化の手順やデータを送る手順に間違いはないと思われます。

ハンダ付け不良を真っ先に疑いましたが、どうも違うようです。
化けるときは送る2行の文字列の全てが化けます。
で、Home clr を送ってから同じ文字列を送るとまともに表示したりします。
まともに表示するときは、2行の文字列全てがまともに表示されます。

電源を入り切りしてリセットしたときは必ず化けます。
2行目の先頭を示すインストラクションも化けているのでしょか、カーソルがどこかに
飛んでゆきます。
2~3秒のディレイを挟んでから完全に安定した頃を見計らって初期化→文字列送信
をしてもだめです。
MCLRをGNDに落としてリセットすると、50%ぐらいの確立でまともに表示します。
電源を入り切りしても、Home clr 後の2回目の送信だとまともに表示します。
Home clr のインストラクションは化けないということになります。


なしてだべさ?


819:774ワット発電中さん
05/04/21 19:10:55 93pVmXRd
もうちょっと追加情報。
RB DB


820:774ワット発電中さん
05/04/21 19:19:29 93pVmXRd
うげ!
途中送信スマソ。

RB7 DB7
RB6 DB6
RB5 DB5
RB4 DB4
RB3 E(STB)
RB2 RW
RB1 RS
RB0 他用途のLED

ビジィフラグをチェックした後のTRISBの戻し忘れはチェック済み。
LCDは後閑さんの丸写しプログラムで動かした実績ありの完動品。
RB7-4をPOATB、RS・RW・EをPORTAとした別の基板につなぐとまともに動く。
上位4ビットは常に正しく送られている(様にみえるほど安定した文字化け)。

あとなんか問い詰めたいことあります?

821:熱暴走 ◆2SA784NN.A
05/04/21 19:51:18 aG2wTm1v
>>820
>ビジィフラグをチェックした後のTRISBの戻し忘れはチェック済み。
ソースないのに、そんな事いわれてもw

>下位4ビットが B'1111' に化けて 0x*F となっているようです。
4ビットモードになってないのではないかと...



つ[チラシの裏]
I2C -> LCD(uPD7228,HD44780) 変換IF(16F88)を製作中だったりする
いつ完成するやら...

だいぶ昔に若松で買ったLM-16151(16桁1行LCDユニット ¥250)
を引っ張り出してみたら、液晶の右端側が黒く滲んでいた... orz

822:熱暴走 ◆2SA784NN.A
05/04/21 19:56:55 aG2wTm1v
あ。 若松の名誉の為に言っておくと、購入当初はなんともなかったです。

1x年寝かせておいた、自分が悪いんですが。

823:774ワット発電中さん
05/04/21 20:06:54 u3yndU80
>4ビットモードになってないのではないかと...

電源on

ポート初期化

2~3秒待ち

8ビット→4ビット

まずは文字列送る1回目(化ける)

Home clr(受け付けられる)

同じ文字列送る2回目(化けない)

1回目と2回目の間に、小人さんが4ビットモードにしてくれてる・・・・
訳ないですよね?
この挙動が最大の疑問だったりするんですが・・・。

[チラシの裏の隅っこ]
F88のI2C、とっとと作って漏れにください。
マスターのデバイス依存の要素が減るし、ハードが勝手に通信してくれるし
いいことづくめなんでうれしいでつ。
出来たらCCPで液晶の明るさとバックライトの制御も出来るコマンドをサポートしてください。w

824:774ワット発電中さん
05/04/21 20:17:03 emGtUI5H
>>820
ビジーフラグを使わず、R/WをWにしちゃって、ウェイトだけで処理したほうがいいんじゃない?
多分、PICの「書き戻しの罠」にひっかかってる。



825:774ワット発電中さん
05/04/21 20:38:54 ySzRt6Hy
Busyフラグを読むのが早すぎるとか


826:774ワット発電中さん
05/04/21 20:42:24 SEY07E7o
>>808
>コンデンサをスイッチングすることで等価的に抵抗として使えるとありました。

できればそのソース希望。
んなことはないので。
コンデンサをスイッチングすることで変わるのは、Cの見かけの容量。
抵抗値を変えたいなら、抵抗をスイッチングしないと。

827:774ワット発電中さん
05/04/21 20:50:50 d5bLx91j
4bitモード、ハンドシエークなしで随分と使ってきているけど、
そんなことは一度も経験が無い。ちゃんとセット出来ていれば
2~3秒も待たなくたってすぐ表示される。MPLABでステップ実行しながら
デバッグすればある程度は分かることだな。

828:693
05/04/21 21:29:03 H+5ZYF/F
みなさんレスありがとうございました。
わかったようなわからんような…
>>826さん
URLリンク(www.swarthmore.edu)
をみてRと同様にみなせる(V/Aで表される)&ただの抵抗と同じでフィルタ?
って思いました。さらっと見ただけなんで読み違いも多々あるかもしれません…


829:774ワット発電中さん
05/04/21 21:57:34 ySzRt6Hy
スイッチトキャパシタを利用してフィルタを作ったのがスイッチトキャパシタフィルタ。
参考
URLリンク(www.filter-solutions.com)

ついでに、スイッチトキャパシタそのものの説明なら、上に出てきたPSoC向けのアプリケーションノートAN2041がいいかも
URLリンク(www.cypress.com)



830:826
05/04/21 22:05:45 SEY07E7o
>>828
了解。いわゆるフライング・キャパシタ的な用途であったか。
それなら、確かに抵抗とみなせる。フィルタとしての動作だと思てた。

831:818
05/04/21 23:42:51 x41ezyqp
>824
「書き戻しの罠」の件ですが、bcf とか bsf の話ですよね?
nop を入れてもダメです。
後閑さんの丸写しでやると nop なしでも動きます。

>825
ビジーフラグは倒れるまでループで読み続けています。

>827
MPLAB上では上位も下位もちゃんと送れてるんですよ。
SWAP 命令とか、ANDとORの勘違いとか、マスクの勘違いかなぁって
ハンダの次に疑ったんですけど、シミュレーター上では「シロ」ですた。 

追加情報

RB6-7 は ICSP と LCD の兼用です。
ICSP コネクタ側は直結で、LCD 側は 10k を挟んでから LCD へ行ってます。
セラロックは 20MHzです。
DB0-4 はオープンです。

って、こんなの関係ないですよね?

832:774ワット発電中さん
05/04/22 00:14:52 3t7yYptj
>>818
Eパルスの幅をのばしてみ
5年以上前の古いLCDと最近のLCDでタイミングが違ってたりする

833:774ワット発電中さん
05/04/22 00:21:14 wc5bzQMT
>>831
4bitモードになっていないに一票。

834:774ワット発電中さん
05/04/22 03:57:41 CGw7DkHu
なんで10Kを挟むの?
LCDにも直結じゃまずいの? LCDのBUSY出力がつながっているとか?。
10Kは値が大きいような器がするのは私だけ?


835:774ワット発電中さん
05/04/22 08:51:36 IG0QP8ph
>>831
「書き戻しの罠」ってあれだろ?BSFで、例えば3ビット目をクリアしようとすると2ビット目とかが、勝手に
書き換わってしまう事があるっていうアレ。
BSFとか使わずに、ちゃんと全ビットをMOVFで書かなきゃダメっていうアレ。

URLリンク(www.picfun.com) の
 【注意】BSF、BCFでポートの出力をする場合

っていうやつ。


836:774ワット発電中さん
05/04/22 09:14:55 qSv+VBY3
8ビットモードのLCDに4ビットのデータを送ったら、下位は必ず'1111'になる悪寒。
DB0~DB3はLCD内部でプルアップされてるから。
ただし、一文字送ったつもりが、上位+'1111'と下位+'1111'の二文字に化けそう。
あるいは、ビジィのタイミングしだいでは2文字目は無視されるかも。
それとも4ビットに構成されたときだけプルアップされるんでしたっけ?

837:774ワット発電中さん
05/04/22 09:21:36 m+PO/sfn
かんけーねぇと思うけど、コンフィグ晒してみて。
__CONFIG _HS_OSC &
ってやつ

838:774ワット発電中さん
05/04/22 10:45:23 jFyxVBAd
ポートから10kΩを直列に入れてLCD入れていたら、それはダメだな。
ためしに、RB7、RB6を強制LOWにしているとき、LCDのDB6,DB7をテスターで見れば
分かると思うが。
原因はそれしか考えられんね。
なぜか、それは、LCD側で20k~50k位でプルアップされているから。
そうすると何が起きるかというと、LOWに落ちきらないよなー。
ICSPと兼用するなら、バッファ入れるか、ジャンパー出来るようにするべきだろうな。


839:774ワット発電中さん
05/04/22 13:24:55 P7JQjhc2
LCD側の入力ピンでないとICSPは出来ないと思う
LCD側の入力ピンなら バッファなしで直接でいい

840:818
05/04/22 13:31:46 2Fxdq5d/
>832
当初、230nS以上のところ、1命令サイクルの200nSしかなかったので
これだ!(・∀・)と思って直してみましたがダメでした。
また、4MHzで動かしてもダメでした。
でも、物は試しで極端に伸ばしたりしてみます。

>833
ですかねー?
それが何故なのかがもんだいでつ。
ソースは穴が開くほど見ても分からないし、シミュレータはまともに通るし、
何より、まともに動くときもあるって言うのが良く分からない。

>834
直結でもいいですかね?
書き込みの信号で揺さぶられるのは気持ち悪いんですが。

>835
私もそれだと思います。

>836
なるへそ。
4ビットモードになってないと確かにそうなりそうですね。
でも、2文字に化けるという現象はありません。
ビジィが解ける40μSは結構長い時間なのでそんなに微妙なタイミングではないかと
思うんですがどうでしょうね。

>837
今手元にないので今夜にでも。

>838
手元に記録がないので記憶ですが、実測してみて0.8V台まで落ちていました。
確か、計算上のプルアップの抵抗値は52Kだったと思います。


UYT、0:0T/。4Z

841:818
05/04/22 13:33:42 2Fxdq5d/
>839
>LCD側の入力ピンでないとICSPは出来ないと思う
すみません。意味が分かりません。
出来れば詳しくおながいします。

842:818
05/04/22 13:39:03 2Fxdq5d/
あ!
もしかして、

RB7 と RB6 は LCD の DB7 と DB6 に繋がっているのですが、
R/W が R のときは DB7 とDB6 は入力端子だから直結して 書き込み信号で LCD を揺さぶっても良いけど、
R/W が W のときは DB7 と DB6 が出力端子になるから、場合によっては出力が衝突するからダメだよ・・・・

という意味でしょうか?

843:818
05/04/22 13:40:47 2Fxdq5d/
>842
R と W が逆でした。

844:774ワット発電中さん
05/04/22 13:53:08 jFyxVBAd
ICSPを使わない、ICSPハーネスは外す。
10KΩ そんなのは全部0Ωスルーだ。まずはこれで動くかを試す。
そうしないと一向に解決しないものと思われ。


845:774ワット発電中さん
05/04/22 19:21:37 qUN9Chbh
>>842
その通り。ICSP中は、ICSPの信号は「誰にも邪魔されずに、
PICのピンまでたどり着きたい」と思っているのです。

846:774ワット発電中さん
05/04/22 20:23:26 rqytPe+Z
書き込み後のべりファイが桶ならICSPは正常に終了していると思われ。
その辺はどうなんでしょ。

847:774ワット発電中さん
05/04/22 23:48:37 AEeAGnQ4
質問、

ポートをH出力(LED点灯中)でもスリープに移行できますか?
また、スリープに移行してもLED消えたりしませんか?

848:774ワット発電中さん
05/04/22 23:49:28 AEeAGnQ4
できるよ

849:16F877A
05/04/23 03:17:26 U2jozAGx
>>847
しかしスリープに移行して、消費電力を落としても、LEDがつながっていては
スリープの意味が無いですよね??
AD変換中のスリープかな??


850:774ワット発電中さん
05/04/23 17:49:34 V5Hwem0S
PICは電池を電源にして4.5V~6.0V、
複数あるLEDには別電源の6v+電流制限抵抗をいれて、
シンクで点燈したいと思います。
RA4ではなく、他のポートでです。
問題ありますかね?

電池の消耗を防ぐために、
別電源を入れたときだけ点燈するようにしたいのです。
別電源がないとき、LEDのアノードコモン側はオープンになります

851:774ワット発電中さん
05/04/23 19:32:17 xd9L7syo
何に使うのか分からないけどメインは電池駆動なんでしょ?

一案
実験あるのみ

二案
PICって6Vぐらいまで動くでしょ?ACアダプタのコネクタを刺すと、電池を切断してAC6Vで全部動くようにするとか。

三案
別電源用意しなくても、
必要な時だけソフト&外部スイッチでLEDのオンオフ出来るようにしたらいいじゃない。
ピンが足らないのかな?



852:774ワット発電中さん
05/04/23 19:35:57 Y28oAKA+
+6V=>抵抗=>LED=>PICポート=>保護/寄生ダイオード=>電源端子(+4.5V?)

てなわけでPICが・・・

853:774ワット発電中さん
05/04/23 19:48:18 j+eREi34
LEDのVfがあるから壊れるところまでは行かないでしょ。
保護/寄生ダイオードのVfと電源電圧の差とLEDのVfが拮抗するだけの電流が流れる訳だが、たぶん保護/寄生ダイオードがあぼーんするほどではないと思う。
でも定常的に電力を消費するのでかなり気持ち悪いな。

854:774ワット発電中さん
05/04/24 00:21:16 vk3E1bQu
トランジスタを挟んだ方が良いような気も・・・

855:774ワット発電中さん
05/04/24 00:58:58 mvPWe29p
久々に戦国いったら、PIC関連がやたら増えてた。
ICD2互換製品なんてのもあったよ

856:850
05/04/24 05:46:44 dV7gmCN0
皆様トンクス

>854
ですね。

857:774ワット発電中さん
05/04/24 12:44:50 9nxshLiM
>>818

は、あれだけ質問しておいて逃走ですか・・・そうですか・・・・



858:774ワット発電中さん
05/04/24 12:51:23 7k8Xrtnz
>>857
2chですから………。

859:774ワット発電中さん
05/04/24 13:02:53 fV59lsxP
PICにはオープンコレクタモードがないんだ…

860:774ワット発電中さん
05/04/24 13:18:22 QOmSPNj3
モードがあっても、構造自体はただのトライステートバッファだったりするけどな


861:774ワット発電中さん
05/04/24 14:22:40 7k8Xrtnz
つ[トランジスタ]

862:774ワット発電中さん
05/04/24 21:38:56 HHfeIOHz
外付けトランジスタじゃ疑似双方向にできないのでは?

863:774ワット発電中さん
05/04/25 00:43:06 SirInfpN
>>849
割り込み待機でループさせるか、スリープさせるかでちょっと悩んだ

864:774ワット発電中さん
05/04/25 10:19:29 pSCwy9Ia
LEDを点滅させいてるのですが、delay_msに変数を使って指定してやると、
delay_ms(2000)と指定してもdelay(300)ぐらいになってしまいます。
どこが違うか教えていただけないでしょうか。
CCS-Cのソースです。

#include <16F876.h>
#fuses HS, NOWDT, PUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(CLOCK = 20000000)
void main()
{
long pulseWidth = 100;//パルス幅
setup_adc_ports(NO_ANALOGS);//ADは使わないよ
setup_adc(ADC_OFF);//ADは使わないよ
set_tris_a(0); //PORT_Aの各ピンは出力モード
set_tris_b(0xFF); //PORT_Bの各ピンは入力モード
port_b_pullups(TRUE);//PORT_Bのブルアップ抵抗を接続
while(1)
{
output_a(0xFF);//PORT_Aの各ピンはHIGH
delay_ms(pulseWidth);
output_a(0);//PORT_Aの各ピンはLOW
delay_ms(pulseWidth);
//ポートB7をLowにすることでパルス幅を変更
if (input(PIN_B7) == 0)
{
pulseWidth = 2000;
}
else
{
pulseWidth = 100;
}
}
}


865:864
05/04/25 10:26:17 pSCwy9Ia
delay_ms(time);
timeは8ビット変数か、16ビット定数でした。orz


866:774ワット発電中さん
05/04/25 19:55:11 9C9BClXO
あげとく

867:& ◆074eXsmY.k
05/04/25 21:53:38 tLAiVviK
アセンブラ言語がよくわかりません。
誰か教えてくださる人はいませんか?

868:774ワット発電中さん
05/04/25 22:27:36 SYf+fYUR
日本語がよくわかりません。
誰か教えてくださる人はいませんか?

869:774ワット発電中さん
05/04/25 22:43:22 dOHees0X
アセンブラとかコンパイラって名前がキャラについてる漫画のタイトルが思い出せません
誰か教えてくださる人はいませんか?


870:818
05/04/25 22:56:01 JFqbb/Hk
ご無沙汰スマソです。

>837
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF & _LVP_OFF

ICSP 絡みの 10k を直結にしてもだめ。
E の時間を延ばしてもだめ。
秋月のライタですが、書込みのベェリファイはok。
接続に長さ10cmほどの自作ハーネスを使っているのですが、
5cm ぐらいの短いヤシに丁寧に作り直してもダメ。
リセット回路をプルアップからコンデンサ+抵抗に作り直してもだめ。
電源の立ち上がりを早くする為に、電源側にコンデンサを追加して PIC のボード側の容量を減らしたりしてもダメ。

いろいろいじってひとつ分った事は、
たぶん、文字のデータはキチンと送られている。
スイッチを押すごとに1文字づつ送るように回路とソースを作り直して一文字一文字出力をテスタで見てみたのです。
そしたら、文字のコードは正しく送られているにも関わらず、LCD がちゃんと解釈していない。

よって結論:4ビットモードにする初期化が上手くいっていない。
それでも、たまには上手く行くときもある。


なしてだべさ?

871:774ワット発電中さん
05/04/25 22:56:06 x6XxfjXb
>>867 ええと、参考までにPICのアセンブラを学ぶために購入した書籍の名前を挙げていただけませんか?

872:774ワット発電中さん
05/04/25 23:10:23 x6XxfjXb
>>870 16F373のデータシートへのリンク知ってたら教えて

873:870=818
05/04/25 23:40:11 JFqbb/Hk
私にアンカーを打ってると言う事は 16F873 ですよね?

URLリンク(ww1.microchip.com) (日本語参考版)
URLリンク(ww1.microchip.com) (英語版)

よろしく、おながいします・・・、かな?

874:774ワット発電中さん
05/04/25 23:43:50 x6XxfjXb
ごめん。ちょっと突っ込んでみただけ。

> 16F373に秋月の16×2のLCDをつないで文字を出そうとしていますが、

875:774ワット発電中さん
05/04/25 23:56:47 x6XxfjXb
昔、某大学のプログラミング演習で、テキストのRB3/PGMの設定が抜けてて動作が
とても不安定だったことがあったので>>870見てみたけど、大丈夫みたいですね・・・。


876:774ワット発電中さん
05/04/26 00:01:29 x6XxfjXb
連続カキコすまそ
↓ここらへんを参考にしています。
URLリンク(homepage1.nifty.com)

漏れにはお手上げだけど、もう一度いろいろチェックしてみたらどうでしょうか。
釈迦に説法スマソ

877:774ワット発電中さん
05/04/26 00:04:53 dnV3ryHz
>>869
アフタヌーンに連載してたやつなら、そのまんまだな。

878:774ワット発電中さん
05/04/26 00:07:57 dnV3ryHz
>>870
BSCHかなんかで回路図書いて、適当なアップローダに、ソースファイルを付けて圧縮してUPしてくれ。
そこまで泥沼だと、断片情報聞いても、さっぱり役に立たない。



879:774ワット発電中さん
05/04/26 00:17:59 tWV3yeZb
液晶を4ビットモードで初期化するのに、冒頭部分ではビジーフラグが
使えなかったように思うけどそのあたりは大丈夫なのでしょうか?

880:774ワット発電中さん
05/04/26 12:17:44 mXAhuy5M
>>879
>>878に同意。


881:774ワット発電中さん
05/04/26 13:35:27 KOnC2Det
>>870
4bitモードで使われないD0-D3は内部プルアップらしいので、
8bitモードのまま4bit送信すると、下位4bit=1111になった文字が2個ずつ出るという
可能性はあるな。下位4bitについては現象に一致するが、1文字送っても
2個ずつ出てくる現象はおこってるかい?

もしくは、下位4bitを送るときRSを1にしていないとか。
いや、これは関係ないかな・・・?


882:774ワット発電中さん
05/04/26 13:36:00 KOnC2Det
>>870
というわけで、回路図とプログラム晒せ。

883:追加
05/04/26 13:37:42 KOnC2Det
>>881
文字データ送信も40usecの待機を要するようなので、
もしかしたら上位だけ(8bit送信として)受け取られ、下位送信の方はタイミングが短すぎて
無視されている可能性はあるな。

884:774ワット発電中さん
05/04/26 16:52:58 8gsJgyJx
piccliteって最適化能力あるんでしょうか?
CでOOPとかするとポインタ渡し周りのコストすら馬鹿にならなさそうで怖いんですが。


885:774ワット発電中さん
05/04/26 19:45:34 FhPEweWc
piccliteはfreeだし,アセンブリソースリストも出力される
16F877なら 4kwステップもできる
というわけで ↑ 自分で判断しる
picの Cとしては,ちゃんと使えて至極まともなほうだと思う

886:774ワット発電中さん
05/04/26 20:32:26 PnVd1iBb
>>818
1キャラ毎でなく、ポートを出力するたびに大きなウェイトを入れてみたらどう?
それで動けば、何らかのタイミングが影響している。
動かなければそもそもシーケンスがおかしい、と切り分けられると思うけど。
>>884
PICCLITEはかしこいよ。おすすめ。

887:818@大馬鹿者
05/04/26 21:00:13 VrzPur8e
大騒がせスマソ。>みなさま

andlw と ioriw の訂正漏れでした。
PORTB だけで LCD を動かすために RB0-RB3 をマスクしたりするのですが、
その際、andlw とすべきところ ioriw となっていました。
開発初期の段階で気付いて直していたのですが、データを書くルーチンは直しておきながら、
インストラクションを書くルーチンを直していませんでした。
PORTBレジスタは電源投入やリセットでクリアされませんから、
先にPORTBレジスタに残っていたデータ次第では上手く初期化されるけど、
大抵は上手く行かないという動きだったようです。

20MHzだろうが、最低限のタイミングだろうが、10kΩが挟まっていようが、
ICSPケーブルを繋ぎっ放しだろうが、チャタリングをわざと起こすように電源スイッチを投入しようが、
あんな事をしようがこんな事をしようが、あらゆる乱暴なことをしても・・・・

L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。

まるで何事もなかったように・・・。
ただし、データシート的には10kは大きすぎるので2.2kにしました。
結局チラシの裏になってしまい、付き合っていただいた方には申し訳ないです。マジスマソ
恥ずかしいので今から穴を掘って入ってきます。w

888:774ワット発電中さん
05/04/26 21:04:20 XC5qT9qJ
ワラタ

動いてよかったっすね。

889:774ワット発電中さん
05/04/26 21:56:22 Rbv8mlTW
やっと気が付いたか
また一回り大きくなったな

上司


890:774ワット発電中さん
05/04/26 22:13:19 MwPFrbe5
わんぱくでもいい,、たくましく育ってほしい。

891:774ワット発電中さん
05/04/26 22:21:29 llIgh4Do
このようにちゃんと結果報告があるとうれしいものです。
がんばってくだされ。

892:774ワット発電中さん
05/04/26 22:56:56 sCYN1fzt
>887
お疲れさまでした、また経験値アップしましたね、ガンガレ!!

893:774ワット発電中さん
05/04/27 00:10:25 q29BsxXE
>>887
おめでと。報告乙。
>L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。
大変気持ちがわかるレポートでワラタ。

894:774ワット発電中さん
05/04/27 01:24:47 2dWP1oof
>LCD野郎
そういえばLCDの性別ってどっちなんだろ

895:774ワット発電中さん
05/04/27 10:17:41 934r3jnQ
>>887
ちゃんと回路図とソースを晒しておけば、4.87秒でレスがついただろうに。
それにしても、10kΩは大きすぎ。入れるなら、せめて1kΩ程度でしょう。


896:774ワット発電中さん
05/04/27 10:29:41 q29BsxXE
>>894
俺の持ってるのはコネクタはオスだな。よってLCDとマイコンボードは男性。
仲を取り持つケーブルは女性ね。
ということはPICボードとLCDは○×兄(以下自粛・・・)

897:774ワット発電中さん
05/04/27 16:42:34 OgD6qBzb
仏語のサイトでは"le LCD"と書かれていたりしているので、男性名詞なんでしょうね。

898:774ワット発電中さん
05/04/27 17:50:14 6pQ5Oz5i
あの寸胴体型、でかいツラはどうみても男だろう。



899:818
05/04/27 19:34:59 DLDKD/zX
気難しくて言うこと聞かないから女。

900:774ワット発電中さん
05/04/27 21:08:12 3YSIqaUR
苦労してんな・・・

901:774ワット発電中さん
05/04/27 21:37:26 RrTnVLEf
>>899
いや、融通きかなくて頑固だから男だね。
理屈が通らないデバイスなら女性としても・・・オーヲタ御用達パーツか?

902:元1
05/04/27 21:45:14 Ba/SwECk
そろそろ1000が近いぞな
入れなきゃならんリンクとかデータシートとかスレとか
ちらほら入れておいてくれ。

903:818@本物
05/04/28 19:47:17 fW3Z8TVN
>899
騙り乙
でもオモロイから許す。w

904:774ワット発電中さん
05/04/29 08:37:37 nmIFmZzS
J○_○ あっちこっちに見える白目の変な顔 ウゼー。

905:774ワット発電中さん
05/04/30 03:11:19 BfqRiDh2
質問を読むだけで答えないあなたよりは、ずいぶん まし。


906:774ワット発電中さん
05/04/30 03:45:30 V0tyxcpt
答えることは義務ではない


907:774ワット発電中さん
05/04/30 08:19:43 ke2Mgq64
> J○_○ あっちこっちに見える白目の変な顔

顔文字のHNはやめたほうがいい。


908:767
05/04/30 13:30:34 DRonuvwh
電源をAE-877ICE_Bからでなく、外から取るようにしたら
動いたですよ。


909:774ワット発電中さん
05/04/30 16:45:15 ac63jAC1
>>906
> 答えることは義務ではない
だったら「ウゼー」と言ってはいかんよ >>904
自分では何もしないくせに、言うことだけは一人前は良くない。


910:774ワット発電中さん
05/04/30 22:37:33 v9iPw1lp
質問
プログラムの話ではなく、実際に出来るかどうかです。

プルアップしたポートとタクトスイッチ。
ポート割り込み設定で、
タクトスイッチ押してる時間によってGOTO先を変えたり出来ますか?


911:774ワット発電中さん
05/04/30 23:02:55 RQ8vgJc0
できそうに1票

912:774ワット発電中さん
05/05/01 00:29:29 3zNC5VOg
スイッチオン
割り込み発生でTMRまわして
スイッチオフの割り込みで値を見て
振り分けるんでいけるんであ?

913:774ワット発電中さん
05/05/01 07:05:43 tKi+Wb7x
できそうに1票

スイッチオン
割り込み発生でI2CのRTCの時刻を参照して
スイッチオフの割り込みでもう一度時刻を見て
振り分けるんでいけるんであ?w

あるいはネットに常時接続しておいてNTPを参照するとか。www

50mS以下の短時間ON・OFFは無視するとかの処理も必要だろうね。
チャタリングの問題などもあるしね。

914:774ワット発電中さん
05/05/01 07:44:13 oiwBwvaY
>910 君は何をしたいの?
やりたいことによっては、君の考え自体が間違っていることもあるんだよ。

915:774ワット発電中さん
05/05/01 08:43:38 lzF3vlq1
>>910
スイッチ押している間処理が占有されても良いなら
チャタリング処理終了後、押されている時間を計測し、離す瞬間にその時間で
goto先を振り分けるだけ。

他の処理も同時並行で行いたければ、1msec間隔でスイッチを見に行って、
スイッチが押されていればスイッチ押下時間カウンタ変数をinc、
スイッチが離されたら、スイッチ押下時間を別変数にコピー後クリアし、
 スイッチ押下時間<チャタリング時間→無視
 それ以外→スイッチ押下時間に応じてgoto先振り分け

916:774ワット発電中さん
05/05/01 14:05:12 nec9dEoN
なぜ>>910は でるか不安に思ったのだろうか?

915程度のことはスグに思いつきそうだが。



917:774ワット発電中さん
05/05/01 16:09:52 lzF3vlq1
>>915
訂正。手で押すスイッチなら20~100msec毎程度でいいな。
2度連続ONの場合のみスイッチONとみなす。

918:774ワット発電中さん
05/05/01 16:10:39 lzF3vlq1
>>913
しかしなんでNTPとかRTCユニットなんだ?

919:774ワット発電中さん
05/05/01 17:14:18 oiwBwvaY
>918 5月病だからさ

920:774ワット発電中さん
05/05/01 17:21:14 lzF3vlq1
>>916
おお、IDがnecだぞ。

921:774ワット発電中さん
05/05/01 18:07:09 Tnii4VIq

GOTO やらCALLやらが沢山で、、もういや~~~
分かりやすく書いたつもりが、、、~~
って状態になったから、、、とりあえず聞いてみた。
そこだけ別にコピーしてテストしま~す。



スレがあれてたから和み計画で、、ってのもある。

922:774ワット発電中さん
05/05/01 18:50:40 hluncjpk
荒れてたのか!
言われて気付いたよ。w

923:774ワット発電中さん
05/05/01 18:58:25 oiwBwvaY
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー


924:774ワット発電中さん
05/05/01 19:00:35 K/N14SEd
Wow!黄金

925:774ワット発電中さん
05/05/01 19:01:46 UbpP4x9e
>>923(oiwBwvaY)
はー大人気ない。つうか、黄金週間だからしょうがないか・・・・



926:774ワット発電中さん
05/05/01 19:09:20 K/N14SEd
マジレスするとアフォみたいだから、黄金を楽しもうよ。

927:774ワット発電中さん
05/05/01 21:07:25 7neT0sgJ
けんかすんなよ

928:774ワット発電中さん
05/05/01 22:37:01 Tnii4VIq
みんな、びろい

MPLAB IDE v7.10
シミュレーションで割り込みテスト出来るんだね~。
知らんかった。

929:774ワット発電中さん
05/05/01 22:42:24 Oz9jI+OD
この板にははじめて書き込みます。
Warning[203] D:\ASMS\LED1.ASM 63 : Found opcode in column 1. (movwf)
Warning[203] D:\ASMS\LED1.ASM 65 : Found opcode in column 1. (nop)
とか、コンパイルするとWarningがたくさん出て書き込んでも動作しません。
Messaggeは無視してよさそうなのですが、"Warning"は何か対策をしないといけないらしく、
何をしたらいいのかわかりません。教えてください。よろしくお願いします。

930:774ワット発電中さん
05/05/01 23:03:10 Tnii4VIq
Warning[203] D:\ASMS\LED1.ASM 63 : Found opcode in column 1. (movwf) 
とか↑ダブルクリックしてごらん間違い行が自動指定される。

後はニラメッコシテ間違いを直す

931:774ワット発電中さん
05/05/01 23:13:50 Oz9jI+OD
>>930
ありがとうございました。たくさんニラメッコシマス。


932:774ワット発電中さん
05/05/01 23:18:52 WpXBVMbk
行の先頭に命令があるといってる。
普通は行の先頭から書くのはラベル。
命令は行の先頭を空けてから書く。
ソフトとしては1文字でも空いていればいいだろうけど、
人間がラベルと見分けやすいように8文字分くらい空けるといい。

933:774ワット発電中さん
05/05/01 23:48:29 Oz9jI+OD
>>932
沢山あった"Warning"がほとんど消えました。ありがとうございました。

934:774ワット発電中さん
05/05/02 00:41:13 w7kwMJ+T
Found opcode in column 1. (movwf)

Warningは、もろに答えを教えてくれてるじゃないですか。

直訳では
「1桁目にオペコードが見つかりました。(movwf)」
ですが、意味合いとしては、
「1桁目は他のものを期待していたのに、なんと命令コードが来てしまっているよ。大丈夫?」
と言うことなのです。

もっと英語を読みましょうよ。
読めば解決していた問題だと思いますよ。



935:774ワット発電中さん
05/05/02 00:53:49 iymWHfTh
やっぱわからん
ハードは12F、GP3を外部抵抗でプルアップして、タクトで落とす。

ソフトは(バンクは指定してます。)
& _MCLRE_OFF
        BSF         IOC,IOC3
        BSF         INTCON,GPIE
        BCF         INTCON,GPIF
    RETFIE                      ;GIE
で、

割り込み入ったら

ループウェイトかけて
        BTFSC           GPIO,3
    GOTO            111
ループウェイトかけて
        BTFSC           GPIO,3
    GOTO            222
って判定してるんだけど。
リセットと似た動作になるんだよね。
タクトを離すと割り込み先で動き出す。
押してる間止まってるみたいなんだけど。

なんか、大きな間違いしてる?
(GP3だと駄目とか?)

936:774ワット発電中さん
05/05/02 01:07:29 iymWHfTh
    RETFIE                      ;GIE
気持ち悪く見えるかもしれないけど、これでOKです。

後から他にも別のところで割り込み設定してから
全体割り込み有効にしてる。


ちょっと前にもアセンブラ教えてくれって来た人もいるし。
どんな質問が来てもいいんじゃない?
最初はそんなもんでしょ。
俺も一ヶ月前はNOPで同じことしたよ。1分かからずに解決したけどそれは人ぞれぞれだし。

>>1の上3行も読もうぜw

937:774ワット発電中さん
05/05/02 01:37:50 GwI/DXL5
それが人に物を聞く態度なのっ!?

938:774ワット発電中さん
05/05/02 01:56:30 iymWHfTh
>>937
先生の質問に答えられない奴は黙ってなさい。

>>1の12行も読もうぜw 」
ってぐらい返してほしいよな。

939:774ワット発電中さん
05/05/02 02:42:47 buvtj3FV
2灯のフルカラーLEDの駆動回路を作りたいのです。

電源ONで、フルカラー点灯開始。
SW1 で、7色点灯に切り替え。
SW2 で、押したときに点灯している色に固定。(フルカラー点灯時の中間色とか・・・)
切り替わる速度を可変にしたい。(ボリュームとかを用いて)

電源電圧 4.5~5.0V で、玩具の照明に使いたいのです。

今までPICを使った回路を自分で組んだ事は有りません。
WEBにはそれらしい文字の羅列が乗ってる所もあるのですが、
どこを弄ると、自分の思うような動作をしてくれるのでしょうか?
ヒントだけでも下さい。お願いします。

940:774ワット発電中さん
05/05/02 02:44:28 GUFv1Mce
>>935
>>659-673
確信>>671

941:774ワット発電中さん
05/05/02 03:35:15 veS0CKsr
>>939
> どこを弄ると、自分の思うような動作をしてくれるのでしょうか?
> ヒントだけでも下さい。お願いします。

珠玉のヒントのみ

SW : GPIOからの入力、チャタリング除去
ボリューム:
VR: AD入力
ロータリーSW: GPIOからの入力(&チャタリング除去)
切り替え速度の変更: タイマ
LED: GPIO出力
中間色の点灯: 点灯デューティの制御、PWMなど
2灯の点灯:ダイナミック点灯 or ソース(シンク)電流の強化

942:774ワット発電中さん
05/05/02 04:01:01 cbW9gPA6
>>939
ソフトウェアだけいじって勉強してもそれだけになる、と言ってみる。
>>941さんのような内容とPIC選びと回路設計が影響する。
あと内部のTMRとかチャタリング除去の回路とか、Etc..Etc.....

943:774ワット発電中さん
05/05/02 06:54:26 GwI/DXL5
>939
フルカラーLEDに飛びつく前に

1.単色LEDのON/OFF点滅
2.SW入力
3.タイマー割込み
4.A/D変換

からやりなさい。

使う石としては16F88をおすすめ

ご参考
URLリンク(cai.cs.shinshu-u.ac.jp)


944:774ワット発電中さん
05/05/02 07:34:29 UBHqr42v
F877もお勧め。
鶏に牛刀という感じもするけど、古い石なので日本語データシートや本やwebなどの資料が豊富。

945:774ワット発電中さん
05/05/02 14:10:29 v0hvnEBq
その仕様だと、PICに搭載されている機能の ほとんどを使うほどの
中級レベルの内容だと思います。
初めてPICをさわるとしたら、結構な時間がかかりそうだよ
他の人のアドバイスのように、単機能の回路を使ってプログラムの練習わするのが吉だと思うよ
がんばって

946:774ワット発電中さん
05/05/02 14:16:43 l3QSJq8p
941も942もそんな設計ならPIC使う必要ナシ

947:774ワット発電中さん
05/05/02 14:29:56 dPwo2Ed1
R8Cマイコンのほうが、ずっといいじゃないか。
PICなんかいらね。

948:774ワット発電中さん
05/05/02 14:44:36 CSwCGqjt
>>946 の設計が楽しみ


949:774ワット発電中さん
05/05/02 16:43:32 72PtvphU
マイクロチップのmplab7.10のパッチって何の為にあるの?
URLリンク(www.microchip.co.jp)

950:774ワット発電中さん
05/05/02 17:07:33 cbW9gPA6
もうすぐ1000かぁ。

951:774ワット発電中さん
05/05/02 17:11:31 8UM8k37N
950を踏んだヤシは次スレを立てる義務があります。


952:774ワット発電中さん
05/05/02 19:39:54 GwI/DXL5
>939 周期(約20s)と色の出現順番も固定だか自動的にじわ~っという感じで色が変化するLEDもある。


953:774ワット発電中さん
05/05/02 22:45:49 iymWHfTh
>>949
パッチとは基本的に、
不具合を直したり、新しい機能を追加したり。
だから、何も考えずにパッチしとけ。
(注:マイクロソフト製だけは注意が必要かもしれん。)


問題が出たらやめればいい。



954:774ワット発電中さん
05/05/02 23:04:51 TnMFgNgs
パッチとパッチ当て済みのバージョン配布すりゃいいのにな
何で別々に配布してるんだろう・・・

955:774ワット発電中さん
05/05/03 01:50:36 MMEZ9VV+
パッチ当て済みバージョン7.1もDLできるけど………。

956:774ワット発電中さん
05/05/03 13:37:21 QDlxnF7Y
>何で別々に配布してるんだろう・・・

どっちもバグだらけで、バグの出方が違うから。
いつものことでしょうが。


957:939
05/05/03 21:16:26 GX5wnj5I
親切にアドバイス有難う御座いました。

そうですよね・・・やっぱし難しいかぁ。
>>952
2個使いたいので、同期か取れない・・・・・・

958:774ワット発電中さん
05/05/03 21:27:39 g2QCneKP
>>957
よくよく考えてみると、3色をジワジワーっと変化させるには
それぞれの色をPWMしないといけない。しかしPICにはPWM出力が
1chしかないですよ。

解決策は、
1. 色のジワジワ変化用にPWM回路を3回路、ハードウェアで製作し、
  その回路をPICで制御する。(何をどう制御するかわからんが)

2. PWMをやめて、各色の輝度変化を7段階程度とし、
  各色3ビット出力を割り当て。
  3bitの出力をOP AMPに入れ、定電流回路をハードウェアで組む。
   → これ結構簡単だよ
  この回路が出来てしまえば、4bitで16段階変化にするのも
  抵抗1本追加するだけでOK。

3. PWM 3ch入ったマイコンを使用する。


959:774ワット発電中さん
05/05/03 21:31:37 W6qs3ANw
LEDの明るさなら速度はいらないからソフトウエアPWMで十分でしょう。

960:774ワット発電中さん
05/05/03 21:48:43 gaMoeR4o
蛍光灯の下で使用することを考えて120Hz以上のサイクルで
デューティコントロールするとして、8ms周期で8階調を
1ms周期の割り込みで制御とか言う感じかな。

961:774ワット発電中さん
05/05/03 21:54:09 o2/+aflJ
確か・・・・液晶の種類に、時間で分割してRGBを出力するタイプがあったよね。
液晶もそれ用に高速化してウンmsでスイッチ・・・・とかあったような記憶がある。
人間の目がその程度で誤魔化せる時間解像度しかないなら、ソフトで十分だよね。

PWMでLEDを常に駆動、とか考えるとややこしいかもしれないけど、要はRGBの光ってる
時間の比が問題なんだから、そこだけ注目すれば初心者レベルで作れるんじゃない?


962:774ワット発電中さん
05/05/03 22:02:10 u74DxZWQ
>>960
8階調程度だとなめらかと言うわけにはいかないかな。

>>939
よく見ると、じわーっと変化させろとは書いていないがどうなんだろ?
一体何階調くらいが必要なんだ?
各色一桁階調で、変化の段差が分かって良いなら
ソフトウェアで楽勝だと思うが。

963:774ワット発電中さん
05/05/03 22:10:51 gaMoeR4o
>>962
IDがNECの汎用ロジックだな

500usecにすれば16階調になるし、そんなモンで十分と思うけどね。

964:774ワット発電中さん
05/05/03 22:12:00 ePlJpF0B
///////////////
    ORG         0X004
~~~
    CALL            INTR
~~~
///////////////

の後なんだけど

    RETFIE
だと駄目で
    GOTO            START
だと、動くんだけど。

なんか、思い当たるところ無いですかね?
シミュレーションだと問題ないのだが。。

965:774ワット発電中さん
05/05/03 22:21:53 gaMoeR4o
>>964

? これだけの情報で、的確な指摘ができる人いるんだろうか
? ま、成り行きを見守るか、、、

・RETFIEをGOTOに置き換えて正常に動く?
・ORG 0はどのようになっている?
・割り込みに使用している要因は?

966:熱暴走 ◆2SA784NN.A
05/05/03 22:29:01 uaSZ87Mb
>>964
>>965 に胴衣しとくけど、とりあえず定番アドバイスを...
割り込みルーチンの内部で割り込み要因のクリアをし忘れてない?

>>965
IDが。。。 (´д`; )

967:774ワット発電中さん
05/05/03 22:33:50 GvMM7yMi
>>965
すご。
って言ってもこの板に報告しに行くようなスレは無い罠

968:萌え
05/05/03 22:38:32 gaMoeR4o



969:774ワット発電中さん
05/05/03 23:15:37 ePlJpF0B
割り込み要因のクリアって
フラグクリアの事ですよね。

シミュレーションで出た。で、原因が分かったかも、、

BSF         IOC,IOC3

ファイルレジスター一覧で
IOC         00001000

割り込みフラグが変化するのはGP3変化だけかと思ったら、
GP0が変化してもフラグ立っちゃって、
即再割り込みされてただけだわ。
こういう場合どうしたらいいのだ?

GP0はパルス状にひっきりなしに変化してる。

割り込み前はGP0が変化すると割り込みフラグが立っても立ったままでも割り込みせず、GP3が変化したら割り込みする。

割り込み後
割り込み先でGP0が変化するとすると割り込みフラグが立つと割り込みから戻るRETFIE後に即再割り込み

BCF INTCON,GPIFしてRETURNしてRETFIEする間に立ってた。

970:774ワット発電中さん
05/05/03 23:56:36 ePlJpF0B
と思ったけど、それだけじゃないような。。

    RETFIE
を、↓に変えたらバッチしだから
        BCF         INTCON,GPIF
        BSF         INTCON,GIE
    GOTO            START

もうこれで幾夜。

971:熱暴走 ◆2SA784NN.A
05/05/04 00:23:18 +ODwwL1a
>>970
>>965 でも指摘されてるのに、型番すら晒さないですか。
まぁ、12F 系列だと思うが。 あまり出し惜しみする様なら、
こちらもスルーするだけですが。
 ところで、IOC 弄る前にバンクはちゃんと設定したの?
IOC で変化割り込みは個別にマスク出来る筈。

972:774ワット発電中さん
05/05/04 00:31:52 EvFpH1/D
この子、たぶん、上の方で GP3の'L'区間で処理分けしたいって
言っていた子だね。


973:774ワット発電中さん
05/05/04 00:38:34 rxX+UUWP
遅延ループ全部コメントアウトしてやったら動いたのだが。。。。みんなm(__)mスマン!!



974:774ワット発電中さん
05/05/04 00:39:36 EvFpH1/D
間違った判断で間違った結論に至っているに違いないのだが、
患者が患部を見せてくれないので、見殺しにするしかない。
医者として実に残念なことだ。


、、、、医者じゃないし、死にゃしないだろうからいいけどね。

975:774ワット発電中さん
05/05/04 00:50:49 rxX+UUWP
>>972
そうだよ。
ちょっと違うけどね。
ハード上制約があるかどうか聞いたんだよ。
「プログラムの話ではなく」って書いたでしょ。




ソースほい
URLリンク(w.satoweb.net)
なんで、、、おしえてください。

976:774ワット発電中さん
05/05/04 00:57:55 rxX+UUWP
ハードとソフトの説明

ハード;
GP0:信号H/L[負論理]
GP1:
GP2:LED
GP3:タクトスイッチ・プルアップ[負論理]

ソフト:
簡単につまみ食いしたんで読めば一発で分かると思う

977:774ワット発電中さん
05/05/04 01:00:55 rxX+UUWP
現象:
割り込み元に帰ってないみたい。

4箇所の延長をコメントアウトすれば正常に動いた。
スタックオーバーフローで帰れないのかな?

978:774ワット発電中さん
05/05/04 01:33:54 rxX+UUWP
う~ん、反応が無い。

もしかして、割り込み先でCALL使っちゃ駄目とか?w

979:774ワット発電中さん
05/05/04 01:40:52 rxX+UUWP
わかった!

割り込み先でメインルーチンと同じ
WCNT0               EQU         0X72            ; ウェイト用
WCNT1               EQU         0X73            ; ウェイト用
WCNT2               EQU         0X74            ; ウェイト用
WCNT3               EQU         0X75            ; ウェイト用
WCNT4               EQU         0X76            ; ウェイト用
つかってるからだ。。。たぶんそうだろ。。。

ありがとう。

980:774ワット発電中さん
05/05/04 01:42:15 ZeeEWnTw
えーと
wait100msがメインと割り込みで再入しているように思えまつ.

981:774ワット発電中さん
05/05/04 01:44:31 EvFpH1/D
>>977
多重割りにはならないと思うので、スタックオーバーフローはせんと思うが、、、
Waitをコメントするのは、メイン1カ所、割り込み3カ所全てと言うことかな?
まず、なにをもって割り込み元に返ってこないと判断しているのか説明してください。

# TRIS出力のままでもGPIFセットされるのかなぁ。
# あと割り込みハンドラでのステータスのバックアップこれでいいのかなぁ、、、

982:774ワット発電中さん
05/05/04 01:47:12 rxX+UUWP
>>980
>>981
どうもサンクス

>>979
で解決で良いでしょ。


983:774ワット発電中さん
05/05/04 01:47:26 ZeeEWnTw
IDがなんだかカッコイイので 一般的ルールをメモしておきまつ
割り込みルーチンのw,statusセーブは,コモンRAMアドレスに置く.
割り込みルーチンの変数は,メインルーチンとは独立にする.
メインでFSRを使っているなら割り込みルーチンでは,FSRのセーブも行う.
メインがバンク切り替えしているなら割り込みルーチンでワーキングを使うには,バンクのセットが必要.


984:774ワット発電中さん
05/05/04 01:55:00 EvFpH1/D
>>981
GP3は、入力専用か。。。

985:774ワット発電中さん
05/05/04 02:08:19 rxX+UUWP
>>984
ああ、後からタクトつけた時、ソフト直さなくっても大丈夫だ。とか思ってた。
シミュレーション中もファイルレジスタ一覧見て大丈夫だとかおもってたなぁ。
そこも一応、直してからアップするべきだったねスマン

スタックオーバーフローを疑った理由はLEDが点いたままか消えたままでとまることが多かったから、
メイン(メインはループだから)の最初に戻れば消えるはずなのにトカ思ってた。
ループのとこに戻って回ってたのね。

しかしあれだな、問題ない所でばっかり、割り込みシミュレかけてたってことだな。


986:774ワット発電中さん
05/05/04 02:15:34 ZeeEWnTw
>>985 もう少しでも謙虚さがあるといいと思いまつ 低レベルなんだから

987:774ワット発電中さん
05/05/04 02:21:46 EvFpH1/D
おれもそう思うぞ。
、、、、、、、、、、、、かつ、これで、思い通りの動作になるのかかなり疑問

988:774ワット発電中さん
05/05/04 02:55:37 rxX+UUWP
>>986, >>979-980
まあ、そういう事は俺より先に書いてから言うんだな。低レベル
煽るんならちゃんと煽れよ。

>>987
心配ありがとう
このテストソフト自体は、書き直したらちゃんと動いたよ。

メインで作ってる方はノイズ対策とかチャタ対策とボタン反転対策とか
その辺はやってあるんで大丈夫だよ。

まあ、低レベルみたいだから考えられる範囲が狭いかも知れんけどね!!!

飛びまくりの2千行(実質1000ぐらいかな)無駄にならずにすんだよ。一応動いてるみたいだよ。
いままで、300行以下の簡単なテスト3個から大幅なレベルアップw



989:774ワット発電中さん
05/05/04 03:18:15 ZeeEWnTw
>>988 書き込みが先かどうかじゃないでしょ.漏れはソース見て1分しないでわかりますた.

990:774ワット発電中さん
05/05/04 03:21:31 Ln9twc38
そういえば次スレは?

991:774ワット発電中さん
05/05/04 03:22:30 ZeeEWnTw
いや くだらなくてはづかしいや.ROMにもどりまつ.

992:774ワット発電中さん
05/05/04 03:33:53 rxX+UUWP

つーか相手に低レベルとか言って、その低レベルな相手に一蹴されて、
それでも、俺はお前より上なんだよと何度も食い下がってるお前に萌えw
しかもお前低レベルだよとか言われてるの、もう見てられない。

PICしか、無いんだろうか。。。。かわいそうな人だな。
市んじぇばいいのに、、、


993:774ワット発電中さん
05/05/04 03:34:58 PipwGKkA
さて、このスレッドを封印するか。

994:774ワット発電中さん
05/05/04 03:40:15 rxX+UUWP
【お手軽】PIC専用のスレPart4【マイコン】
スレリンク(denki板)l50


995:774ワット発電中さん
05/05/04 03:41:04 rxX+UUWP
>>993
次スレ立てたからいいですよ。お ね が い

996:774ワット発電中さん
05/05/04 03:50:12 ZeeEWnTw
巡回で光っているスレなのでみてしまった...
rxX+UUWP いるんだなおまえのようなヤツが
一蹴されたとは全然思ってないよ(w
ちなみにルネサススレ,FPGAスレにもいるんでよろしく

997:774ワット発電中さん
05/05/04 05:02:03 HBo7LBp8
>>992
とりあえずオマエ自身が「PICは、MS-DOSのBATと50歩100歩だよ。」と言ってるものすら
理解できてない低レベルなヤツだという事はわかった。

998:774ワット発電中さん
05/05/04 11:40:06 axJrK9tF
思い込みが激しい奴は何をやってもダメ

999:774ワット発電中さん
05/05/04 11:53:08 0NUT9zHu


1000:774ワット発電中さん
05/05/04 12:20:33 OUSt/0+E
1000get

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch