[戻る]
新着表示

keepgoing365ロレックスコピー 投稿者:keepgoing365 投稿日:2017/04/27(Thu) 17:05:27 No.903

ロレックスコピー、スーパーコピーロレックス販売【新品&人気&特価】! 世界大人気ロレックススーパーコピーの新作品を探していますか。スーパーコピー N品の販売専門ショップです!
レプリカロレックス http://www.keepgoing365.com/tokei/b1/
レプリカ時計 http://www.jpsupergreat7.com/

Re^3: 周波数特性測定器に関して 投稿者:HT 投稿日:2017/04/26(Wed) 21:52:14 No.902

おかげさまで測定までできるようになりました。
1V=0dBにて切片を書き直しPIC側のプログラムを書き直しました。
傾きはほぼオリジナル通りでほぼ問題なさそうなのでそのままにしております。
最近作成した6CA7プッシュプルの真空管アンプの測定結果を示します。
アマチュアがNFB時の位相補正等を検討するには十分使用できるものと思います。また測定時間も早く便利です。
このような測定器をご紹介下さりありがとうございました。

質問2 投稿者:mh 投稿日:2017/04/26(Wed) 16:32:06 No.901

質問2
暗唱キー: 38698453
お世話になります
質問よろしくお願いします。

暗唱キー: 38698452の質問のご回答有難う、
御座いました。


私のシステムは:
@ パソコン:windows10(64ビット)
A Mplab X Idev3.60 + XC8コンパイラv1.41

質問:
ビット反転して、switch case文で選んで処理をしたいと、
思っています色々やってみましたのですが、エラーが出て、
うまくいきません、尚PICは PIC16F1938です。
どこを直せばよいでせうか宜しくお願いします。
リスト載せておきます。

////////////////////////////////////
//
// tes_led_f1938.c
// time.h や time()
//
//
////////////////////////////////////
#include <time.h>
#include <xc.h>

//f1938
// コンフィギュレーション1の設定
#pragma config FOSC = INTOSC // 内部クロックを使用する(INTOSC)
#pragma config WDTE = OFF // ウオッチドッグタイマー無し(OFF)
#pragma config PWRTE = ON // 電源ONから64ms後にプログラムを開始する(ON)
#pragma config MCLRE = OFF // 外部リセット信号は使用せずにデジタル入力(RA5)ピンとする(OFF)
#pragma config CP = OFF // プログラムメモリーを保護しない(OFF)
#pragma config CPD = OFF // データメモリーを保護しない(OFF)
#pragma config BOREN = ON // 電源電圧降下常時監視機能ON(ON)
#pragma config CLKOUTEN = OFF // CLKOUTピンをRA6ピンで使用する(OFF)
#pragma config IESO = OFF // 外部・内部クロックの切替えでの起動はなし(OFF)
#pragma config FCMEN = OFF // 外部クロック監視しない(FCMEN_OFF)

// コンフィギュレーション2の設定
#pragma config WRT = OFF // Flashメモリーを保護しない(OFF)
#pragma config PLLEN = OFF // 動作クロックを32MHzでは動作させない(OFF)
#pragma config STVREN = ON // スタックがオーバフローやアンダーフローしたらリセットをする(ON)
#pragma config BORV = HI // 電源電圧降下常時監視電圧(2.5V)設定(HI)
#pragma config LVP = OFF // 低電圧プログラミング機能使用しない(OFF)

// メインの処理
//unsigned char DIPSW;
// unsigned char sw_state_prev = 0x00;

int h;
void main()
{
OSCCON = 0b01110010 ; // 内部クロックは8MHzとする
OPTION_REG = 0b00000000 ; // デジタルI/Oに内部プルアップ抵抗を使用する
ANSELA = 0b00000000 ; // AN0-AN4は使用しない全てデジタルI/Oとする
ANSELB = 0b00000000 ; // AN8-AN13は使用しない全てデジタルI/Oとする
TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(0:出力 1:入力)
TRISB = 0b11111111 ; // ピン(RB)はRB0のみ入力、他は全て出力に割当てる
TRISC = 0b00000000 ; // ピン(RC)は全て出力に割当てる
WPUB = 0b00000001 ; // RB0は内部プルアップ抵抗を指定する
PORTA = 0b11111111 ; // RA出力ピンの初期化(全てLOWにする)
PORTB = 0b00000000 ; // RB出力ピンの初期化(全てLOWにする)
PORTC = 0b00000000 ; // RC出力ピンの初期化(全てLOWにする)
BYTE DIPSW

while(1) // 無限ループ
{
sw_state = (PORTb^ 0xff) & 0x1F; // SW1,SW2の状態を反転して格納
switch(sw_state)
{
case 0x02: // SW1押下
PORTC = 0b00000010; // 7セグメントLED表示 "1"
break;
case 0x04: // SW2押下
PORTC = 0b00000100; // 7セグメントLED表示 "2"
break;
case 0x06: // SW1およびSW2押下
PORTC = 0b00001000; // 7セグメントLED表示 "3"
break;
default:
break;
}
}

}

USART双方向通信 投稿者:radio 投稿日:2017/04/25(Tue) 09:52:17 No.900


PIC18F2320 + C18の環境で作成しています。

下記サイトを参考にさせていただき、無線ラジコンに取り組んでいます。
[参考サイト]
http://www.picfun.com/Sensor/equipj77.html


送信側のプログラムを作成していますが、
基本、↓のコードを送信するのですが、受信側からあるコード('X')を受信したときだけ、LEDを点灯させる制御を行いたいです。(受信側から送られるコードは、不定期に送られます。)

↓のコードの3〜7行目を追加してみたのですが、else以下の送信すら動作しません。
双方向(送信と受信)を両立させるためには、どのように記述すれば良いのでしょうか。


void RadioCar(void)
{
while(!DataRdyUSART()){} //必要
RcvData = ReadUSART();
if(RcvData == 'S'){
LED=1;
 }

else{
//USART送信
WriteUSART('S');//putsUSART("S");同等
WriteUSART('S');
WriteUSART(Direction);
WriteUSART(M1data >> 8);
WriteUSART(M1data & 0x00FF);
WriteUSART(M2data >> 8);
WriteUSART(M2data & 0x00FF);
WriteUSART(~Direction);
WriteUSART(~(M1data >> 8));
WriteUSART(~(M1data & 0x00FF));
WriteUSART(~(M2data >> 8));
WriteUSART(~(M2data & 0x00FF));
WriteUSART('E');
}
}

逆アセンブリ結果のアルゴリズム 投稿者:鈴木泰樹 投稿日:2017/04/24(Mon) 13:05:38 No.899

以下のプログラムを逆アセンブルしました。

#include<xc.h>
void main(){
char a, b,c;
a = 11;
b = 13;
a++;
c = a*b;
}

逆アセンブリ結果は以下のようになりました。

0000 280D GOTO 0xD

0001 00FE MOVWF 0x7E
0002 3000 MOVLW 0x0
0003 187F BTFSC 0x7F, 0x0
0004 077E ADDWF 0x7E, W
0005 1003 BCF 0x3, 0x0
0006 0DFE RLF 0x7E, F
0007 1003 BCF 0x3, 0x0
0008 0CFF RRF 0x7F, F
0009 08FF MOVF 0x7F, F
000A 1903 BTFSC 0x3, 0x2
000B 0008 RETURN
000C 2803 GOTO 0x3

000D 300B MOVLW 0xB
000E 0020 MOVLB 0x0
000F 00A2 MOVWF 0x22
0010 300D MOVLW 0xD
0011 00A0 MOVWF 0x20
0012 0AA2 INCF 0x22, F
0013 00FF MOVWF 0x7F
0014 0822 MOVF 0x22, W
0015 2001 CALL 0x1
0016 00A1 MOVWF 0x21
0017 0183 CLRF 0x3

逆アセンブリ結果の乗算のアルゴリズムが分かりません。教えて下さい。お願いします。

Re^3: I2CSlave通信について 投稿者:Gokan 投稿日:2017/04/17(Mon) 09:56:05 No.894

msecオーダーの遅延ということは、受信してから何らかのデータ処理
をしている時間があるということではないでしょうか??
割込み処理で100usec以上かかるようなことは無いと思います。

> Gokan様
> ありがとうございます。
> MasterとSlaveのI2Cを制御するプログラムの遅延時間という事ですが、この場合は、スレーブ用割込み制御レジスタIFS1のSI2C1IF割り込みフラグをクリアするために必要なWait(処理)時間ということでしょうか。
> while(1) //送信要求終了(NACK)を受信するまで繰り返す 
> {
> I2C1TRN = *strx;
> I2C1CONbits.SCLREL = 1;
> IFS1bits.SI2C1IF = 0;
> if(I2C1STATbits.P == 1)break;
> delay_ms(1);
> strx++;
> };
> > これはI2Cの仕様ではなくてMasterとSlaveのI2Cを制御する
> > プログラムの遅延時間次第です。
> > I2C自身の仕様では遅延時間は必要ありません。
> >
> > > PIC24FのI2CのSlave通信について教えてください。
> > > MasterがSlaveからデータを連続で複数取得する場合、Slaveは、データを送信する側としてデータを送る度にWait時間が必要になるのでしょうか。
> > > 100μsのWaitで動作させるとデータが抜けたりしたため、1ms程度まで増やすと正常にデータを受信することができました。
> > > 参考にしたサイトでは、約2ms程度の遅れが必要とありました。
> > >
> > > 仕様的にどうなっているかご教示頂けないでしょうか。
> > > よろしくお願い致します。

Re: harmony trouble 投稿者:窪田秀明 投稿日:2017/04/13(Thu) 06:02:18 No.892

> mplabxide xc32 harmony をインストールし、プロジェクトを立ち上げコード化しましたが peripheralファイルと<stdint.h>がインクルードされません。パスの設定を追加しても解決されません。解決法を教えてください。
パスの設定が間違っていただけでした。解決しました。

Re^2: 周波数特性測定器に関して 投稿者:HT 投稿日:2017/04/11(Tue) 23:51:06 No.891

Gokan様
ご返信ありがとうございます。
aの係数に関して1024分割とVrefとの関係で混乱していましたが、単純に求めれば良いとの解釈でよろしかったのですね。
有難うございました。

> 0dBと-20dBの信号を実際に入力してy=ax+bの式でaとbを求めて
> 換算式としています。
>

Re^2: I2CSlave通信について 投稿者:なべ 投稿日:2017/04/11(Tue) 22:34:57 No.890

Gokan様
ありがとうございます。
MasterとSlaveのI2Cを制御するプログラムの遅延時間という事ですが、この場合は、スレーブ用割込み制御レジスタIFS1のSI2C1IF割り込みフラグをクリアするために必要なWait(処理)時間ということでしょうか。
while(1) //送信要求終了(NACK)を受信するまで繰り返す 
{
I2C1TRN = *strx;
I2C1CONbits.SCLREL = 1;
IFS1bits.SI2C1IF = 0;
if(I2C1STATbits.P == 1)break;
delay_ms(1);
strx++;
};
> これはI2Cの仕様ではなくてMasterとSlaveのI2Cを制御する
> プログラムの遅延時間次第です。
> I2C自身の仕様では遅延時間は必要ありません。
>
> > PIC24FのI2CのSlave通信について教えてください。
> > MasterがSlaveからデータを連続で複数取得する場合、Slaveは、データを送信する側としてデータを送る度にWait時間が必要になるのでしょうか。
> > 100μsのWaitで動作させるとデータが抜けたりしたため、1ms程度まで増やすと正常にデータを受信することができました。
> > 参考にしたサイトでは、約2ms程度の遅れが必要とありました。
> >
> > 仕様的にどうなっているかご教示頂けないでしょうか。
> > よろしくお願い致します。

Re^3: GPS 投稿者:Gokan 投稿日:2017/04/11(Tue) 10:00:05 No.888

受信したデータをそのままリストに出力するようにし、
内容を見てNMEAの仕様と合わせてどこが何のデータかを
判定して処理します。
受信データはカンマで区切られていますから、このカンマ区切り
を利用するのが普通のやり方です。


> ソフトや回路図を参考にさせていただき、受信できるようになりました。ありがとうございます。このソフトでは緯度や経度の桁数が異なる外国では使えないので、ソフトの工夫が必要になるという理解で宜しいでしょうか。どの様な工夫が考えられるか、ヒントをいただけると、ありがたいのですが。
>
> > 電源まわり、5Vが必要、電池は内蔵 などなどが異なるので
> > そのままという訳にはいきませんね。
> > でもシリアルインターフェースは同じなのでプログラムは
> > そのままでも動くかもしれません。ただし、実際に送られてくる
> > データ形式が異なるかもしれませんから、一部表示が異なる
> > ようになるかもしれません。
> >
> >
> > > PIC24F制作例にあります携帯型GPSロガーを製作してみようと思います。日本の人工衛星「みちびき」の電波も拾うため、秋月電子のGPSモジュール「GYSFDMAXB」を使ったGPS受信キット(C-MOSロジックレベル、非同期シリアル信号)を使いたいのですが、GPS-52Dをそのまま入れ替えるだけで利用することはできるのでしょうか。ご教示いただければ幸いです。

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

- WebForum -