Arakinの掲示板
やっと掲示板を作成しました。返信もサーチもなくショボショボですが、そのうち作っていく予定です。 OpenGLやCG関連、ホームページへのご質問やご意見をお待ちしています。 あまり関係ないのは適宜消しますから、ご自由に書いてください。 と堅い掲示板を目指していましたが、この際、恋の3Dグラフィックスもありにしました。
最近、意味不明の書き込みが多いので、とりあえず投稿できないようにしました。
| 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
- ClamAVのアップデート
- Smartyも入れてみる
- etchでPHP4->PHP5
- etchでのSamba設定
- etchでのメール設定
- 玄箱HGのetch化
- Webdruidでログ解析
- PEARも入れてみる
- 玄箱WEBのUTF-8化
- phpMyAdminでMySQL
- postmasterの変更
- ウィルスメール対策
- SPAMメール対策
- メールサーバ(IMAP)
- メールサーバ(Postfix)
- 猫にXOOPS
- PHPも入れてみる
- MySQLを入れてみる
- Subversion導入
- WebDav導入
- Apacheのrewrite機能
- Apacheディレクトリ設定
- Apache1.3->2.0
- ddclientの設定
- 静かな玄箱
- ユーザ追加