TOTAL:15443, TODAY:15

Arakinの掲示板

やっと掲示板を作成しました。返信サーチもなくショボショボですが、そのうち作っていく予定です。 OpenGLやCG関連、ホームページへのご質問やご意見をお待ちしています。 あまり関係ないのは適宜消しますから、ご自由に書いてください。 と堅い掲示板を目指していましたが、この際、恋の3Dグラフィックスもありにしました。
最近、意味不明の書き込みが多いので、とりあえず投稿できないようにしました。

名前
メール
URL
タイトル
メッセージ
削除パスワード
1件目~10件目を表示     次の10件

dsPIC33FのADC設定from:arakin *HOME*[2008/06/23 17:01]

しばらく、ホームページをメンテしておらず、返信が遅くなりました。

dsPIC33FのAD変換をしたいとのことですが、さくっと見たところ、次の箇所が間違っているように見えます。

下記の行では、AN5が入力となっていますが、
const unsigned int g_AD1CHS0 =
    ADC_CH0_NEG_SAMPLEB_VREFN & ADC_CH0_POS_SAMPLEB_AN5 &
    ADC_CH0_NEG_SAMPLEA_VREFN & ADC_CH0_POS_SAMPLEA_AN5;


main関数内の、下記行では、AN0だけがアナログ入力で、他はデジタル入力です。
ADPCFG = 0xFFFE;

また、OpenADC1に渡す第5引数もAN0を入力ポートにしているように見えます。

最近、PICマイコンを触ってないので、あまり自信がありませんが、試してみてください。

dsPIC33について(続き4)from:amazon[2008/06/09 00:14]

OpenADC1(config1,config2,config3,config4,configport_l,configport_h, configscan_h,configscan_l);

OpenOC1(OC_IDLE_CON & OC_TIMER2_SRC & OC_PWM_FAULT_PIN_DISABLE, 0, 0);
OpenTimer2(T2_ON & T2_IDLE_CON & T2_GATE_OFF & T2_PS_1_256 & T2_SOURCE_INT, 255); //時間を計算

while(1);
return(0);
}

void __attribute__((interrupt, no_auto_psv)) _T1Interrupt(void){
IFS0bits.T1IF = 0;

result = ReadADC1(0);
SetDCOC1PWM(result); //計算
}

dsPIC33について(続き3)from:amazon[2008/06/09 00:14]

const unsigned int g_AD1CHS0 =
    ADC_CH0_NEG_SAMPLEB_VREFN & ADC_CH0_POS_SAMPLEB_AN5 &
    ADC_CH0_NEG_SAMPLEA_VREFN & ADC_CH0_POS_SAMPLEA_AN5;

unsigned int result;

int main(){

RPOR0 = 0b0001001000010010; //RP0 pinをOC1にする
ADPCFG = 0xFFFE;
TRISA = 0b0000000000000001;
TRISB = 0x0000;

OpenTimer1(T1_ON & T1_IDLE_CON & T1_GATE_OFF & T1_PS_1_256
& T1_SYNC_EXT_OFF & T1_SOURCE_INT, 256); //時間を計算
ConfigIntTimer1(T1_INT_PRIOR_4 & T1_INT_ON);

SetChanADC1(g_AD1CHS123, g_AD1CHS0);
ConfigIntADC1(ADC_INT_ENABLE & ADC_INT_PRI_4);
OpenADC1(config1,config2,config3,config4,configport_l,configport_h&

dsPIC33について(続き2)from:amazon[2008/06/09 00:13]

const unsigned int config2 = ADC_VREF_AVDD_AVSS & ADC_SCAN_OFF & ADC_SELECT_CHAN_0
& ADC_DMA_ADD_INC_1;
const unsigned int config3 =  ADC_ALT_INPUT_OFF & ADC_SAMPLE_TIME_10
& ADC_CONV_CLK_256Tcy;
const unsigned int config4 = ADC_DMA_BUF_LOC_32;
const unsigned int configport_h = ENABLE_ALL_DIG_16_31;
const unsigned int configport_l = ENABLE_AN0_ANA;
const unsigned int configscan_h = SCAN_NONE_16_31;
const unsigned int configscan_l = SCAN_NONE_0_15;

const unsigned int g_AD1CHS123 =
    ADC_CH123_NEG_SAMPLEB_VREFN & ADC_CH123_POS_SAMPLEB_0_1_2 &
    ADC_CH123_NEG_SAMPLEA_VREFN & ADC_CH123_POS

dsPIC33について(続き)from:amazon[2008/06/09 00:13]

途中できれてしまいました。

#include<p33FJ32GP202.h>
#include<adc.h>
#include<timer.h>
#include<outcompare.h>

//CONFIG
_FGS(GSS_OFF & GCP_OFF & GWRP_OFF);
_FOSCSEL(FNOSC_FRCPLL & IESO_OFF);
_FOSC(FCKSM_CSDCMD & IOL1WAY_OFF & OSCIOFNC_ON & POSCMD_NONE);
_FWDT(FWDTEN_OFF & WINDIS_OFF);
_FPOR(FPWRT_PWR128 & ALTI2C_OFF);
_FICD(BKBUG_ON & COE_OFF & JTAGEN_OFF & ICS_PGD1);

const unsigned int config1 = ADC_MODULE_ON & ADC_IDLE_CONTINUE & ADC_ADDMABM_ORDER &
ADC_AD12B_10BIT & ADC_FORMAT_INTG & ADC_CLK_AUTO &
ADC_MULTIPLE & ADC_AUTO_SAMPLING_OFF & ADC_SAMP_OFF;
const unsigned int config2 =&nb

dsPIC33についてfrom:amazon[2008/06/09 00:12]

はじめましてこんばんは。
dsPICのことを検索していたところたどり着きました。
dsPIC33に初挑戦しているのですが資料が少ない気がします。

「dsPIC33Fの10bit-ADコンバータで1Msps」
「dsPIC33Fの12bit-ADコンバータ」
を参考にさせていただきました。

これまではdsPIC30を使って
「8kHz周期のタイマーでPWMのdutyを変えてPCMで音を鳴らす」
ということをやっていたのですが、
どうしても低音が出ないことと、8kHz以上のサンプリング周波数にしたいこと、
DACでは変な音がすることから
少し高速なdsPIC33を使ってみることにしました。

dsPIC30の資料はpicfun.comにたくさんあったため
TIMER、ADC、PWMを使うことができたのですが、
dsPIC33の資料が見つからずデータシートや
ヘッダファイル、ソースファイルを参考にしていました。
しかしAD変換をしたいだけなのにコンフィグ項目がとても多くて困っていたところ
ついにこちらのページを発見いたしました。

ところが私の力が足りないためどうもうまくいきません。
MPLAB8.1、C30 3.1、dsPIC33FJ32GP202を使っています。
もしよかったらアドバイスをいただきたいです。

やりたいことは、
「内部(外部)クロック最高速度で動かす」
「プログラムに書いたタイミングでAN0のAD変換値を読み取って代入する」
「8kHz周期でタイマー1の割り込みを発生させる」
「RP0ピンをOC1にしてOC1からPWM出力させておいて、
 タイマー1の割り込み時にAD変換から読み取った値をDUTYに指定する」

ということです。

まだ未完成で、PWMやタイマーの時間は適当になっていますが今の段階のプログラムです。

#include<p33FJ32GP202.h>

家からfrom:Arakin *HOME*[2008/05/04 21:15]

GWに家から玄箱を操作できるようにしたつもりだったのですが、ログインできませんでした。せっかくの休みなのに日記も更新できなかったので、とりあえず、掲示板に書いてみました。

チェックしてますよー。from:Arakin *HOME*[2008/04/26 00:29]

書き込みありがとうございます。
毎日ではないですが、時々見てますよ。閑古鳥が鳴いていたので感動しました。
こちらは毎日8:30でつらいです。ただ一番つらいのは、ツーカーのメンバーになるにはまだまだ時間がかかりそうで、はがゆい感じです。関西が懐かしいですね。

(タイトルなし)from:shen[2008/04/24 00:04]

復活楽しみにしておりました(^^)
#ここチェックしたはるでしょうか~?

テストfrom:Arakin *HOME*[2008/02/03 00:43]

MySQLサーバを更新したためのテスト


1件目~10件目を表示     次の10件

最新の7件

OpenGL

電子工作

玄箱HG

ホームページ

日記

Copyright (C) 2007 Arakin , All rights reserved.