【きむ茶工房ガレージハウスの掲示板】

FC2BBS

23066

誹謗、中傷、虚偽情報や商用目的・宣伝目的等の利用と判断した場合は削除する事があります。

名前
件名
メッセージ
メールアドレス
URL
アイコン
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

メルアド しーちゃんパパ

2019/04/19 (Fri) 12:50:54

お久しぶりです。
ごめんなさい、アドレス間違ってしまいましたか?

てっきり植木でスイカ作っているものと。ミカンですね。
流石c言語の私の師匠。

いつもお世話になっています。64MHzで1ミリ秒を数える - ネコ

2019/04/13 (Sat) 09:33:40

PIC18F26K80にチャレンジしています。
外部クロック16MHz 4倍PLLで64HMzを供給して、
タイマー2で1ミリ秒ジャストを計算したのですが合っていますでしょうか。
よろしくお願いします。

((1/64)*4*16*100*1 = 100
プリスケーラー:16倍 ポストスケーラー:1倍
T2CON = 0b00000110; // プリスケ:16倍 ポススケ1倍
PR2 = 100-1 = 99

if(TMR2IF == 1){
TMR2IF = 0;
count ++;
if(count >= 10){count = 0;}

}

Re: いつもお世話になっています。64MHzで1ミリ秒を数える - きむしげ

2019/04/13 (Sat) 22:02:03

こんばんは。

プリスケーラーを16倍にするなら
ポストスケーラーを1:8にしPR2=0x7Cにすれば
丁度1msになるはずです、countの必要なし。
MPLAB X IDE の MCC機能を使えば解りますよ。


skSPIlib のダウンロード - mmmm

2019/03/17 (Sun) 20:04:28

mmmmです。

skSPIlib がダウンロード出来ません。
(リンク切れ)

よろしくお願いします。

Re: skSPIlib のダウンロード - きむしげ

2019/03/17 (Sun) 22:27:15

mmmmさん、こんばんは!

ごめんなさい
どのページのskSPIlibでしょうか?

Re: skSPIlib のダウンロード - きむしげ

2019/03/17 (Sun) 22:45:58

もしかして
トップページの16ビット版のなら
リンク切れしてました、
ご迷惑おかけしました、m(_ _)m
ごめんなさい。修正しました。

Re: skSPIlib のダウンロード - mmmm

2019/03/31 (Sun) 13:30:32

きむしげさん
無事ダウンロード出来ました。

修正ありがとうございました。

赤外線リモコンに関連して 西

2019/03/19 (Tue) 12:34:53

はじめまして、Arduino初心者の西と申します。
Arduinoによる赤外線リモコンの記事、興味深く読ませていただきました。この記事を参考に、オーディオアンプの入力セレクターをリモコン操作できるよう改造をしました。引き続き音量調整もリモコン化したいと考え、他の記事も参考にしながら、いろいろ実験をしていますが、思うようにならず頭を抱えています。すなわちリモコンボタンを押している間、電動のボリュームを動かし、ボタンを離したら停止するようにしたい(TVなどと同じように)のです。リモコンから出るリピートコードを使えば可能かと思うのですが、初心者の悲しさ、現在の所実現できていません。暇な時で結構ですので、ヒントを教示いただけたらと思います。リモコンはNECフォーマットです。

Re: 赤外線リモコンに関連して - きむしげ

2019/03/23 (Sat) 07:54:35

こんにちは、西さん

リピートコード受けられた方が良いかもですね。
リモコン受信プログラム改良します。
今しばらくお待ちください。

Re: 赤外線リモコンに関連して - きむしげ

2019/03/23 (Sat) 14:02:25

赤外線通信の実験パート2
(赤外線リモコンを送信器にして何か動かす)
の記事に、リピートコード受けられる様に改良した
プログラムを追記して置きました、試してみてください。

Re: 赤外線リモコンに関連して - 西

2019/03/25 (Mon) 07:29:07

早速対応いただき、ありがとうございます。数日のうちに試し結果を連絡します。

Re: 赤外線リモコンに関連して - 西

2019/03/29 (Fri) 18:03:03

やっと時間がとれたので、赤外線受信の関数を、改良された関数に置き換えて試してみました。本体部分のスケッチも若干変更し、最終的には思うような動作をするようになりました。ありがとうございました。なお、Arduinoについては、今後もボチボチですが勉強したいと思っています。こちらの記事は大変参考になりますので読ませていただきます。また、アドバイスを求めるかもしれませんが、その時はよろしくお願いします。

8KHzでの割り込みについて - ネコ

2019/02/20 (Wed) 08:16:01

きむしげさんおはようございます。
また、わからいなことが有りましたのでアドバイスをお願いします。

内部発振の32MHzで

PIC16F1938のタイマー4で8KHz毎に割り込みを行おうと思って((1/32)*4)*10(ポストスケーラー)=1.25usとなりましたので
T4CON = 0b01001100;
PR4 = 255;
として、100回カウントすればいいのかと思い実際にPICに焼いてみましたがうまく動いていないようです。

タイマー2はPWM出力で使用しているのでタイマー4を使用しました。
アドバイスお願いします。m(__)m

Re: 8KHzでの割り込みについて - きむしげ

2019/02/20 (Wed) 13:20:50

こんにちは ネコさん

8KHz毎の割り込みと言う事は125us毎ですよね。
システムクロックが32MHzなら
ポストスケーラは 1:1 プリスケーラは 1:4
で250回カウントアップさせれば良いでしょう。
1カウント当たり ((1/32)*4)*4=0.5us
なら 125us/0.5us=250
T4CON=0b00000101
PR4=249
で良いと思われますがぁ

Re: 8KHzでの割り込みについて - ネコ

2019/02/20 (Wed) 19:02:36

回答有り難うございます。
早速試してみたのですが、デバッグ用LEDをつなげて周波数を測ってみましたが、121KHz(242KHz)となってしまいます。

原因がわかりません。
よろしくおねがいします。

void interrupt InterTimer( void ){

InterI2C(); // I2Cの関連割り込み処理
if(TMR4IF){
TMR4IF = 0;

RA0 ^= 1;

}

T4CON = 0b00000101; // 32MHz時 8KH
PR4 = 249; // 32MHz 8KHz
TMR4 = 0;
TMR4IE = 1;
TMR4IF = 0;
TMR4ON = 1;

Re: 8KHzでの割り込みについて - ネコ

2019/02/20 (Wed) 19:13:23

連続投稿申し訳ありません。
原因が判明しました。

凡ミスです。
タイマー6のところにPR6とするはずが、PR4となっていて
設定が上書きされていました。

赤外線の実験1 リンク確認依頼の件 朝倉宏仁

2019/02/05 (Tue) 22:09:48

初めまして。
昨年末よりPICの勉強を始めましたが、こちらのサイトは大変詳しく、参考にさせていただいています。

こちらのサイトは昨年末に移動になりましたが、その際なのか、赤外線通信の実験パート1のRecive2.zipよりダウンロードができなくなっています。
恐れ入りますがご確認のほど、よろしくお願いします。

Re: 赤外線の実験1 リンク確認依頼の件 - きむしげ

2019/02/06 (Wed) 15:32:56

初めまして、朝倉宏仁さん

ご迷惑をおかけしました。m(_ _)m
今、ファイルをアップしましたのでよろしくお願いします。

Re: 赤外線の実験1 リンク確認依頼の件 朝倉宏仁

2019/02/06 (Wed) 20:21:38

きむしげさん

赤外線通信のzipファイル、ダウンロードできました。 
早々に対応いただき、ありがとうございます。

私はこちらのサイトの事例を参考に、過去のPIC製作例のソースを、
最新のMPLABXでビルドできるようにしたり、PICの種類を変えたり
できるようにしていっているところです。こつは少しつかみました。

今後ともよろしくお願いします。

Re: 赤外線の実験1 リンク確認依頼の件 朝倉宏仁

2019/02/07 (Thu) 00:40:30

赤外線通信のソースをビルドしたところ、最初下記の
エラーが出てどうしようもありませんでした。

skI2CLCDlib.c:45:: error: (1250) could not find space (2 bytes) for variable _LCD_ColumnSu

(→ MPLAB X IDE v5.10、XC8 v2.05にて。) 

その後ネットを調べたりして、試しにProjectProperty-XC8 GrobalOptionで、
Link in C LibraryをC99からC90に変更するとビルドできました。
対策方法として、これで合っているでしょうか?

Re: 赤外線の実験1 リンク確認依頼の件 - きむしげ

2019/02/07 (Thu) 11:14:04

こんにちは
そのエラーはメモリ容量が不足した時などに出たりするのですがぁ...
PIC12F1822ですよね、だとするとこのプログラムで70%以下のはずですがぁ...
私の環境はMPLAB X v4.10でXC8はv1.40とV2.00共にコンパイルは通っていますがぁ...
私のMPLAB Xにはそのオプションが無いようです。

1ミリ秒を数える - ネコ

2019/01/26 (Sat) 09:39:44

PIC16F1938のTimer2で1ミリ秒を数えたいのですが、
下記の計算であっていますでしょうか?

外部発振のクリスタル12.8MHzです。
初歩的ですがよろしくおねがいします。

((1/12.8)*4*16*100*2 = 1000
プリスケ:16倍 ポススケ:2倍
PR2 = 100-1 = 99

Re: 1ミリ秒を数える - きむしげ

2019/01/26 (Sat) 17:29:57

こんばんは、ネコさん

はい、OKと思います、
その設定で1ms毎にカウントされ割り込みも許可すれば発生するでしょう。

Re: 1ミリ秒を数える - ネコ

2019/01/26 (Sat) 20:16:10

ありがとうございます。
今後とも宜しくお願いします。

引っ越しの件 - きむしげ

2019/01/21 (Mon) 20:30:55

こんばんは、
もぉ、今回は、ジオシティーズが終了する為
要らない手間と労力と時間の無駄を消費しました。
移動した先は、えへロリポップ(何かぁ軽そうでぇミイハー?)でぇ~すぅ、
ムームードメインで独自のドメイン(zattouka.net)も得たので次からは
ジャンジャン引っ越ししまくりですね?
なのでぇ、リンク切れとか有るかもですぅ
その時はご報告よろしくお願いいたしますですぅ。
マイコン関連は"zattouka.net/GarageHouse/"で
写真関連は"zattouka.net/Photo/"で
もしブックマークされている人は変更お願いします。m(_ _)m
今後ともよろしくお願いいたします。

I2C LDCでint型の数値を表示する - ネコ

2019/01/19 (Sat) 00:30:36

はじめまして。
skI2CLCDlibのバージョン2.01にて
PIC16F1938でint型の変数E(中身は、数値の"30"です)の数値をLCDに表示したのですが、
LCD_Putc(E);やLCD_Puts(E);など変えてみましたが表示されません。
アドバイスお願いします。

Re: I2C LDCでint型の数値を表示する - きむしげ

2019/01/19 (Sat) 14:26:31

こんにちはネコさん。
void LCD_Putc(char c)
となっていますので
変数Eはchar宣言です。
又、LCD_Putc('A');
と記述したら"A"が表示されますか?

Re: I2C LDCでint型の数値を表示する - ネコ

2019/01/20 (Sun) 19:31:57

ご返信有難うございます。
ソースコードを覗いてみたらchar型宣言でしたね
お手数おかけしました。

7セグメントLEDシリアルドライバモジュール 織田 俊雄

2019/01/15 (Tue) 11:52:36

初めまして。いつも参考にさせて頂いています。
7セグメントLEDシリアルドライバモジュールの件ですがPIC16F1829にてプロジェクトを作りビルドすると次のようなエラーが出ます。原因が分かりません。IDEはXC8 ver.5.10
です。長くてすみません。
skSPIlib.c:100:: warning: (520) function "_SPI_setDataMode" is never called
skSPIlib.c:120:: warning: (520) function "_SPI_setClockDivider" is never called
:0:: error: (1347) can't find 0x17A words (0x17a withtotal) for psect "text7" in class "CODE" (largest unused contiguous range 0x13D)
Non line specific message::: advisory: (1493) updated 32-bit floating-point routines might trigger "can't find space" messages appearing after updating to this release; consider using the smaller 24-bit floating-point types
:0:: error: (1347) can't find 0x13F words (0x13f withtotal) for psect "text6" in class "CODE" (largest unused contiguous range 0x13D)
:0:: error: (1347) can't find 0xEA words (0xea withtotal) for psect "text16" in class "CODE" (largest unused contiguous range 0xD2)
:0:: error: (1347) can't find 0xE1 words (0xe1 withtotal) for psect "text9" in class "CODE" (largest unused contiguous range 0xD2)
:0:: error: (1347) can't find 0xB4 words (0xb4 withtotal) for psect "text1" in class "CODE" (largest unused contiguous range 0x81)
:0:: error: (1347) can't find 0xAE words (0xae withtotal) for psect "text39" in class "CODE" (largest unused contiguous range 0x81)
:0:: error: (1347) can't find 0x9B words (0x9b withtotal) for psect "maintext" in class "CODE" (largest unused contiguous range 0x81)
:0:: error: (1347) can't find 0x99 words (0x99 withtotal) for psect "text15" in class "CODE" (largest unused contiguous range 0x81)
:0:: error: (1347) can't find 0x94 words (0x94 withtotal) for psect "text33" in class "CODE" (largest unused contiguous range 0x81)
:0:: error: (1347) can't find 0x84 words (0x84 withtotal) for psect "text14" in class "CODE" (largest unused contiguous range 0x81)
:0:: error: (1347) can't find 0x83 words (0x83 withtotal) for psect "text32" in class "CODE" (largest unused contiguous range 0x81)
:0:: error: (1347) can't find 0x69 words (0x69 withtotal) for psect "text43" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x60 words (0x60 withtotal) for psect "text24" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x5D words (0x5d withtotal) for psect "text42" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x55 words (0x55 withtotal) for psect "text27" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x50 words (0x50 withtotal) for psect "text40" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x45 words (0x45 withtotal) for psect "text46" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x38 words (0x38 withtotal) for psect "text3" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x35 words (0x35 withtotal) for psect "text5" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x33 words (0x33 withtotal) for psect "text11" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x33 words (0x33 withtotal) for psect "text21" in class "CODE" (largest unused contiguous range 0x31)
:0:: error: (1347) can't find 0x2B words (0x2b withtotal) for psect "text26" in class "CODE" (largest unused contiguous range 0x17)
:0:: error: (1347) can't find 0x26 words (0x26 withtotal) for psect "text38" in class "CODE" (largest unused contiguous range 0x17)
:0:: error: (1347) can't find 0x24 words (0x24 withtotal) for psect "text23" in class "CODE" (largest unused contiguous range 0x17)
:0:: error: (1347) can't find 0x23 words (0x23 withtotal) for psect "text17" in class "CODE" (largest unused contiguous range 0x17)
:0:: error: (1347) can't find 0x23 words (0x23 withtotal) for psect "text25" in class "CODE" (largest unused contiguous range 0x17)
:0:: error: (1347) can't find 0x22 words (0x22 withtotal) for psect "text19" in class "CODE" (largest unused contiguous range 0x17)
:0:: error: (1347) can't find 0x21 words (0x21 withtotal) for psect "text34" in class "CODE" (largest unused contiguous range 0x17)
:0:: error: (1347) can't find 0x1F words (0x1f withtotal) for psect "text30" in class "CODE" (largest unused contiguous range 0x17)
:0:: error: (1347) can't find 0x1F words (0x1f withtotal) for psect "text44" in class "CODE" (largest unused contiguous range 0x17)
:0:: advisory: (1) too many errors (31)
(908) exit status = 1
nbproject/Makefile-default.mk:153: recipe for target 'dist/default/production/pic1829SEvenSeg.X.production.hex' failed
make[2]: Leaving directory 'C:/Users/toshi/Desktop/PICnew/pic1829SEvenSeg.X'
nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/Users/toshi/Desktop/PICnew/pic1829SEvenSeg.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[2]: *** [dist/default/production/pic1829SEvenSeg.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 7s)

Re: 7セグメントLEDシリアルドライバモジュール - きむしげ

2019/01/16 (Wed) 11:21:39

こんにちは、
何だか浮動小数点がどうしたこうしたと言ってそうなので
"double"宣言から"float"に変更してみたら同でしょう?
後、"IDEはXC8 ver.5.10"はMPLAB Xのバージョンと
思いますがぁ、XC8コンパイラ自体のバージョンを教えて下さい、
"XC8 v1.40"ではエラー出ていないので。

Re: 7セグメントLEDシリアルドライバモジュール 織田俊雄

2019/01/19 (Sat) 17:08:48

XC8はver.2.00です。もう一度やってみます。


Copyright © 1999- FC2, inc All Rights Reserved.