[戻る]
新着表示

kamagra reviews users hox 投稿者:LarryLix 投稿日:2019/01/22(Tue) 05:43:23 No.1279

kamagra 100 gold ajanta
<a href="https://www.kamagraukonl.com/">пkamagra uk</a>
kamagra oral jelly cost in india
<a href="https://www.kamagraukonl.com/">пkamagra uk</a>
kamagra oral jelly usa

Re^2: 投稿者:庄野弘晃 投稿日:2019/01/14(Mon) 11:48:58 No.1270

ありがとうございます。
エラー なくなりました。

Re: 投稿者:koujikuu 投稿日:2019/01/14(Mon) 08:14:46 No.1269

調べてみました、参照1では
// Added casting to suppress compiler warning
rom const unsigned char *rom USB_CD_Ptr[]=
{
(rom const unsigned char *rom)&cfg01,
(rom const unsigned char *rom)&cfg01
};
rom const unsigned char *rom USB_SD_Ptr[]=
{
(rom const unsigned char *rom)&sd000,
(rom const unsigned char *rom)&sd001,
(rom const unsigned char *rom)&sd002
};
と設定されています

参照1
http://read.pudn.com/downloads133/sourcecode/embed/567940/Cdc/autofiles/usbdsc.c__.htm

usbdsc.c では、Compiler: C18 2.30.01+ を使っているので バージョンが上がって 書式エラーが厳しくなったのだと思います

rom const unsigned char *rom USB_CD_Ptr[]={&cfg01,&cfg01};
rom const unsigned char *rom USB_SD_Ptr[]={&sd000,&sd001,&sd002};

C18コンバイラで[2054]エラー 投稿者:庄野弘晃 投稿日:2019/01/13(Sun) 14:55:50 No.1266

USB機器自作のすすめで紹介された汎用入出力ユニットを少しアレンジして、PPIを制御する回路を作ろうとしています。
MPLAB X IDEはV5.10、C18はV3.47を使用してコンパイルしているのですが、
usbdsc.c の
rom const unsigned char *rom USB_CD_Ptr[]={&cfg01,&cfg01};
rom const unsigned char *rom USB_SD_Ptr[]={&sd000,&sd001,&sd002};
のところで
Warning [2054] suspicious pointer conversion
エラーが発生し、解決の仕方がわかりません。
BUILD SUCCESSFULの表示はされて、コンパイルはされるのですが、気になっています。
対処方法を教えていただけないでしょうか?

Re^2: MCP4922と32MX250F128B 投稿者:カッティ 投稿日:2019/01/02(Wed) 16:30:23 No.1263

回答ありがとうございます。

SPI-Clock\Baud Rate Hz
1Hz,100Hz,1000Hzに設定しても、Baud Rateが効いてないみたいです。
データシートの23.3.7 SPIマスターモードのクロック周波数
http://ww1.microchip.com/downloads/jp/DeviceDoc/61106G_JP.pdf
で最小baudレートがFpb/1024(=39.06kHz)だそうです。

そこで、以下の条件で挑戦しましたが、
早すぎて目視できませんでした。
@ CS 消える
A SCK タタタタタと光る ^ ^ SDI タン**タン2回光る(0x3***送信)
B CS つく ^ ^ LDAK 消える
C LDAK つく

8MHz水晶
FPLLIDIV 12 ⇒ 0.7MHz
FPLLMULT 15 ⇒ 10MHz
FPLLODIV 562 ⇒ 39062Hz
FPBDIV 8 ⇒ 4882Hz
-------------------
PBCLK 4882Hz
SPI1BRG = 511

―――ソースコード
LATBbits.LATB15 = 0; //CS
PLIB_SPI_BufferWrite16bit(SPI_ID_1,(short int)(value|0x3000));
while(SPI1STATbits.SPIBUSY);
LATBbits.LATB15 = 1; //CS
LATBbits.LATB10 = 0; //LDAC
delay_ms(100) //多めに設定;
LATBbits.LATB10 = 1; //LDAC

※ while(PLIB_SPI_TransmitBufferIsFull(SPI_ID_1))だと
送信の終わりまで待ってくません。
while(SPI1STATbits.SPIBUSY)だと待ってくれました。

Re: MCP4922と32MX250F128B 投稿者:なし 投稿日:2019/01/02(Wed) 04:12:38 No.1262

CS, SCK, SDIの各信号を観測して調べれば良いのでは?
オシロスコープが無くてもSCKの周期を秒オーダーに落とせば、各ピンに消費電流の少ない高輝度LEDを接続して目視で確認できます

MCP4922と32MX250F128B 投稿者:カッティ 投稿日:2018/12/30(Sun) 20:40:59 No.1260

PIC32MX250Fと12bitDAコンバータのMCP4922を接続して、SPIで制御したいのですが、
MCP4922が動きません。ご教授の程よろしくお願い足します。
【環境】
・MPLAB X IDE v5.00
・MPLAB X32 C/C++コンパイラ
・MPLAB@Harmony Configurationを使用
・Pickit3で書き込み
・PIC32MX250F128B
・MCP4922

MPLAB X IDEのMPLAB@Harmony Configurationで
DriversのTimer(10ms間隔で呼び出し)とSPI、
Device Configuration
を設定し、
app.cにおいて
関数APP_Initializeの中でタイマースタート(DRV_TMR0_Start)し、
system_interrupt.cにおいて
10ms間隔で呼び出されるタイマー関数(IntHandlerDrvTmrInstance0)の中で
SPI信号である制御フラグ4bitデータ12bit(0〜2047)を
送信(PLIB_SPI_BufferWrite16bit)する。

LEDをタイマー関数(IntHandlerDrvTmrInstance0)の呼び出しに合わせて光らせると、
チカチカ光りましたので(多分10ms位間隔)、タイマーは正常だと思います。

☆デバイスのコンフィグレーションは
・プライマリオシレータ
8MHzの水晶を使用し
FPLLIDIV 2 ⇒ 4MHz
FPLLMULT20 ⇒ 80MHz
FPLLODIV 2 ⇒ 40MHz
-------------------
結局 PBCLK 40MHz です。

☆MCP4922とのSPI通信は
http://www.ys-labo.com/Shop/Referrence/PIC32MZ/1702/32MZ%20SPI%20DA2%20sum.html
を参考にしました。


◆◆◆ MPLAB@Harmony Configurationでの設定 ◆◆◆
MPLAB X IDEの
Tools > Embedded > MPLAB@Harmony Configurator
でMPLAB@Harmony Configurationを表示して以下を設定しました。
「★」マークがデフォルト値を変更した箇所です

MPLAB@Harmony Configurationの[Pin Settings]タブで以下に設定
[Pin Number/Pin ID/Name/Function]
^ 21 / RB10 / GPIO_OUT / GPIO_OUT
^ 24 / RB13 /^ SDO1^ /^ SDO1
^ 25 / RB14 /^ SCK1^ /^ SCK1
^ 26 / RB15 / GPIO_OUT / GPIO_OUT


MPLAB@Harmony Configurationの[Options]タブの
Harmony Framework Configuration > Drivers > SPI
にて以下に設定
^- SPI
^ ^ - ■ Use SPI Driver?
^ ^│ └Driver Implementation【STATIC】 ★
^ ^├ □ Use Blocking Mode?
^ ^├ □ Use Interrupt Mode? ★ 解除
^ ^├ ■ Use Polled Mode? ★ 設定
^ ^├ ■ Use Master Mode?
^ ^├ □ Use Slave Mode?
^ ^├ ■ Use Standard Buffer Mode? ★ 設定
^ ^├ □ Use Enhanced Buffer(FIFO) Mode ★ 解除
^ ^├ □ Use 8-bit Mode? ★ 解除
^ ^├ ■ Use 16-bit Mode? ★ 設定
^ ^├ □ Use 32-bit Mode?
^ ^├ □ Use DMA?
^ ^├ ■ Using Client Configure Function In Application?
^ ^├ Number of SPI Driver Instance【1】
^ ^│*** Each Instance can have only one client in STATIC driver mode***
^ ^├ Number of SPI Driver Client【1】
^ ^├ Number of job elemtents created per instance【10】
^ ^ - ■ SPI Driver Instance 0
^ ^ ^ ├ SPI Module ID【SPI_ID_1】
^ ^ ^ - Driver Mode
^ ^ ^ │ └ ■ Polled Mode
^ ^ ^ - Master\Slave Mode
^ ^ ^ │ └ ■ Master
^ ^ ^ - Data Width
^ ^ ^ │ └ ■ 16-bit ★
^ ^ ^ - Buffer Mode
^ ^ ^ │ └ ■ Standerd ★
^ ^ ^ ├ □ Allow Idle Run
^ ^ ^ ├ Protocol Type【DRV_SPI_PROTOCOL_TYPE_STANDARD】
^ ^ ^ ├ Baud Clock Source【SPI_BAUD_RATE_PBCLK_CLOCK】
^ ^ ^ ├ Clock\Baud Rate Hz【1,000,000】
^ ^ ^ ├ Clock Mode【DRV_SPI_CLOCK_MODE_IDEL_LOW_EDGE_RISE】 ★
^ ^ ^ ├ Input Phase【SPI_INPUT_SAMPLING_PHAZE_IN_MIDDLE】
^ ^ ^ ├ Dummy Byte Value【0xFFFF】
^ ^ ^ ├ Max Job In Queue【10】
^ ^ ^ ├ Maximum Number Of Job Queue Reserved For Instance【1】
^ ^ ^ └ Number Of Transactions Before Yield【16】

MPLAB@Harmony Configurationの[Options]タブの
Harmony Framework Configuration > Drivers > Timer
にて以下に設定
^-Timer
^ ^ - ■ Use Timer Driver?
^ ^├ Driver Implementation【STATIC】
^ ^├ ■ Interrupt Mode
^ ^├ Number of Timer Driver Instance【1】
^ ^■ Timer Driver Instance 0
^ ^├ Timer Module ID【TMR_ID_1】
^ ^├ Interrupt Priority【INT_PRIORITY_LEVEL1】
^ ^├ Interrupt Sub-priority【INT_SUBPRIORITY_LEVEL0】
^ ^├ Clock Source【DVR_TMR_CLKSOURCE_INTERNAL】
^ ^├ □ Alarm Functions(callbacks)
^ ^├ Prescale【TMR_PRESCALE_VALUE_64】★
^ ^└ Timer Period【6250】★
※PBCLK 40MHzなので、1Hzあたり25nsです。25ns×64×6250=10ms

MPLAB@Harmony Configurationの[Options]タブの
Device & Project Configuration
にて以下を設定
USERID ^ ^ ^ 0xffff
PMDL1WAY ^ ^ OFF
IOL1WAY^ ^ ^ OFF
FUSBIDIO ^ ^ OFF
FVBUSONIO^ ^ OFF

FPLLIDIV ^ ^ DIV_2
FPLLMUL^ ^ ^ MUL_20
UPLLIDIV ^ ^ DIV_2
UPLLEN ^ ^ ^ OFF
FPLLODIV ^ ^ DIV_2

FNOSC^ ^ ^ ^ FRCPLL
FSOSCEN^ ^ ^ OFF
IESO ^ ^ ^ ^ OFF
POSCMOD^ ^ ^ OFF
OSCIOFNC ^ ^ OFF
FPBDIV ^ ^ ^ DIV_1
FCKSM^ ^ ^ ^ CSDCMD
WDTPS^ ^ ^ ^ PS1
WINDI S^ ^ ^ OFF
FWDTEN ^ ^ ^ OFF
FWDTWINSZ^ ^ WINSZ_50

DEBUG^ ^ ^ ^ OFF
JTAGEN ^ ^ ^ OFF
ICESEL ^ ^ ^ RESERVED
PWP^ ^ ^ ^ ^ OFF
BWP^ ^ ^ ^ ^ OFF
CP ^ ^ ^ ^ ^ OFF

HeapSize^ ^ 100bytes
ISA Mode^ ^ MIPS32 Mode

◆◆◆ MPLAB@Harmony Configurationでの設定 ◆◆◆





◆◆◆ ソースコード ◆◆◆
***ソースコードはapp.cとsystem_interrupt.cだけにコードを変えました。***

===== APP_Initialize @ app.c =====【START】
void APP_Initialize (void){
^ appData.state = APP_STATE_INIT;
^ DRV_TMR0_Start(); //追加
}
===== APP_Initialize @ app.c =====【END】


===== APP_Initialize @ system_interrupt.c =====【START】
short int value = 0;
void __ISR(_TIMER_1_VECTOR, ipl1AUTO) IntHandlerDrvTmrInstance0(void){
^ if(value<0 || 2048<=value )
^ value = 0;
^
^ LATBbits.LATB10 = 1; //MCP4922 LDAC = 1
^ LATBbits.LATB15 = 0; //MCP4922 CS = 0
^
^ PLIB_SPI_BufferWrite16bit(SPI_ID_1,(short int)(value|0x3000));
^ while(PLIB_SPI_TransmitBufferIsFull(SPI_ID_1));
^ delay_us(20);
^
^ LATBbits.LATB15 = 1; //MCP4922 CS = 1;
^ LATBbits.LATB10 = 0; //MCP4922 LDAC = 0
^ delay_us(20);
^ LATBbits.LATB10 = 1; //MCP4922 LDAC = 1
^
^ value++;
^ PLIB_INT_SourceFlagClear(INT_ID_0,INT_SOURCE_TIMER_1);
}
===== APP_Initialize @ system_interrupt.c =====【END】


===== 以下は自作関数
void delay_us(volatile unsigned int usec) {
^ volatile int count;
^ count = (int)usec;
^ do { //at (Clock=40000000)
^ ^ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP");
^ ^ asm("NOP"); asm("NOP");
^ ^ count--;
^ }while(count != 0);
}
=====
◆◆◆ ソースコード ◆◆◆



◆◆◆ MCP4922との接続 ◆◆◆
LEDに接続したとき、
RB10(GPIO_OUT(LDAC)) 光る
RB13(SDO1) 仄めく
RB14(SCK1) 仄めく
RB15(GPIO_OUT(CS)) 光る
のように光りました。

CS信号がOFFのときに信号を送信します。
LDAC信号は信号の送信終了後をON→OFF→ONします。

CS  ̄ ̄|________________________________________________| ̄ ̄ ̄

SDI ___| ̄|_| ̄|_| ̄|____| ̄|_| ̄|____| ̄|_| ̄|_| ̄|____| ̄|_| ̄|_| ̄|___________
^ ^ ^ ^ ^↑^ ^↑^ ^↑^ ^↑^ ↑^ ^↑^ ^↑^ ^↑^ ^↑^ ^↑^ ^↑^ ^↑^ ↑^ ^↑^ ^↑^ ^↑
^ ^ ^ [^ ^ ^ ^ ^ ^ ^ ^ ^ DATA12bit^ ^ ^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] SHDN GA ^ BUF^ A/B

SCK ___| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|_| ̄|____
^ ^ ^ ^ ^↑^ ^↑^ ^↑^ ^↑^ ↑^ ^↑^ ^↑^ ^↑^ ^↑^ ^↑^ ^↑^ ^↑^ ↑^ ^↑^ ^↑^ ^↑
^ ^ ^ ^ ^0^ ^ 1^ ^ 2^ ^ 3 ^ 4 ^ ^ 5 ^ ^ 6^ ^ 7^ ^ 8^ ^ 9^ 10^ ^11 ^12^ 13^ ^14 ^ 15 IDLE_LOW_EDGE_RISE

LDAC ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|_| ̄

参考にした上記ページでは、SCK信号のClock Modeが
DRV_SPI_CLOCK_MODE_IDLE_LOW_EDGE_FALL
になっていましたが、データシートの写真では、IDLE時にLOWでRISEするときに
サンプルしていたので
DRV_SPI_CLOCK_MODE_IDLE_LOW_EDGE_RISE
に設定しました。
※データシートの25ページ http://ww1.microchip.com/downloads/en/devicedoc/22250a.pdf

bit15 A/B
^ アナログを出力するチャンネルAorBを指定します。
^ ^ 0:チャンネルA(OUTA)
^ ^ 1:チャンネルB(OUTB)
bit14 BUF
^ VREFの入力でバッファ制御を行うかの指示をします。
^ ^ 0:バッファ制御をしない
^ ^ 1:バッファ制御をする
^ 各DACのコンフィギュレーションビットは、VREF入力がバッファまたはバッファなしモードを達成する
^ ため、入力バッファアンプをバイパスすることができます。
^ このビットのデフォルト値はバッファリングされていないです。
bit13 GA
^ 出力するゲインを選択します。
^ ^ 0:2x (VOUT = 2 * VREF * D/4096) 入力値の2倍で出力されます
^ ^ 1:1x (VOUT = VREF * D/4096)
bit12 SHDN
^ シャットダウン制御を行うかの指示をします。
^ ^ 0:出力端子からは出力されず、出力端子はハイインピーダンスとなります
^ ^ 1:出力端子からアナログ値が出力されます
bit11-0 D11−D0
^ ^ 出力するデータの内容を設定します(0−4095)。


SPIの送信信号は(value|0x3000)であり
15bit(0)A,14bit(0),13bit(0)1x,12bit(1)電圧で出力:0x3000
11bit-0bit:value

◆◆◆ MCP4922との接続 ◆◆◆

Re: PSMC designer tool 投稿者:Gokan 投稿日:2018/11/20(Tue) 16:51:49 No.1252

PIC16F1783のProductのページの「Documents」の一番下に下記
があります。

> User Guides
 ・PSMC Configuration GUI
 ・PSMC Designer User's Guide

https://www.microchip.com/wwwproducts/en/PIC16F1783



> 後閑様
> PICを使った電子工作では貴重な情報が多く大変お世話になっています。
> PIC16F1783のPSMCを使おうとしています。PSMC designer tool なるものがあるのに気づいたのですが、現在microchip社のHPのどこを探してもdownloadできないようです。これに関する情報すらありません。
> MCCに統合されたのかと思ったのですがPSMCは選択モジュールにはいっていません(MCC Ver.3)。
> あれほど多数の設定レジスタがあるのにツールのサポートは廃止したということでしょうか。
> よろしくお願いいたします。

Re^2: PSMC designer 投稿者:Kadono 投稿日:2018/11/15(Thu) 02:41:53 No.1247

koujikuu さん
PSMC designer tool ダウンロードすることができました
ありがとうございました

Re: PSMC designer tool 投稿者:koujikuu 投稿日:2018/11/13(Tue) 15:55:33 No.1246

PSMCDesigner
http://ww1.microchip.com/downloads/en/DeviceDoc/41671A_Ver_1-0-2-1.zip

こちらが使えるかも?

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

- WebForum -