Today 19:51
Forum: Proton 24
Starter: johngb
Views: 0
Replies: 3
Today 17:07
Forum: Proton 24
Starter: charliecoultas
Views: 0
Replies: 14
Go to last post By: towlerg
Today 13:52
Forum: Proton Plus Compiler v3
Starter: Dave-S
Views: 0
Replies: 7
Today 10:46
Forum: Absolute Beginners Section
Starter: pjdenyer
Views: 0
Replies: 5
+ Reply to Thread
Page 3 of 3 FirstFirst 123
Results 21 to 30 of 30
  1. #21
    Developer Les's Avatar
    Join Date
    Feb 2002
    Posts
    3,178
    Thumbs Up
    Received: 215
    Given: 77
    Total Downloaded
    1.50 GB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    You must be using the new version for the new pin mechanism.

    Click on the Updates button at the top of the page.
    For more example programs for Proton and Proton24 or updates, please visit: Proton WIKI or Proton Files

  2. #22
    Member matty's Avatar
    Join Date
    Dec 2003
    Posts
    111
    Thumbs Up
    Received: 6
    Given: 3
    Total Downloaded
    228.03 MB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    Dear Les,
    I downloaded the latest version,

    Its downloads as a file called vbdownloads (1).php the file is 76.941MB

    Unfortunately when I click on the vbdownloads.php file Id expext it to connect to your server and start downloading.

    My stupid browser just flashes and then it disappears instantly before I can read what it says.

    I have tried changing security settings tries it on chrome and internet explorer same result just flashes up then closes.

    I am in very desperate times here and snowed under with work. I having to relay a complex PCB this week so haven't hat time to start this.

    When the board comes next week I will try re-working the example files you kindly did for me in post #16
    proton24 _software and peripheral_ examples.

    Thanks for posting all the examples and the 33spi.inc file.

    I will get to work on them as soon as I have layed out this PCB which a customer is screaming for then I can get back to this.

    Thanks Les for all the examples and hard work
    I will keep you posted as soon as I can get back onto this

    Thanks Matty

  3. #23
    Developer Les's Avatar
    Join Date
    Feb 2002
    Posts
    3,178
    Thumbs Up
    Received: 215
    Given: 77
    Total Downloaded
    1.50 GB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    Change from internet explorer to Firefox. This has been discussed many times on the forum, and is a flaw in the internet explorer piece of crap :-) Microsoft is compelled to do things their way, regardless of whether the rest of the world does it the right way. LOL

    Something to do with compatability mode I think.
    For more example programs for Proton and Proton24 or updates, please visit: Proton WIKI or Proton Files

  4. #24
    Member matty's Avatar
    Join Date
    Dec 2003
    Posts
    111
    Thumbs Up
    Received: 6
    Given: 3
    Total Downloaded
    228.03 MB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    Thanks Les I will try firefox,

    But 1st before updating compiler I am going to try the examples in post #16 trying the spi software example first with its inc file thats in the zip folder.
    I will let you know how it goes but unfortunately I have to do this pcb layout first then I will try it and let you know how it goes.
    Should be in next few days thanks allot for all the support
    Matty

  5. #25
    Member matty's Avatar
    Join Date
    Dec 2003
    Posts
    111
    Thumbs Up
    Received: 6
    Given: 3
    Total Downloaded
    228.03 MB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    I have now done my first attempt,
    had a quick go at it between laying out this PCB,

    I have reworked the software spi example in post # 16

    I am using the "PIC24_Software_SPIDemo.bas" and with its associated "Software_Spi.inc" file by les in post#16

    The board has not come yet but should be here on Friday
    I cant wait to try this on the real hardware.

    I realise reading the Software_Spi.Inc file that the SPI Clock is set to 10MHz, I think my 33EP512 my clock is also 140MHz,

    The LDC1000 has a max clock speed of 4MHz so 10Mhz is to fast for the LDC1000 to handle LDC1000 max clock 4Mhz

    So Just for the first attempt I am going to increase the delay from delayCs 10 to delayCs 100 this would make SPI CLock 1Mhz? Instead of 10Mhz I can later optimize it to get 4Mhz full speed for LDC1000



    '-----------------------------------------------------------------------------------

    ' Write a single Byte (8-bits) to the SPI bus.

    ' Input : WREG0 holds the byte to transmit to the SPI interface

    ' Output : None

    ' Notes : At Fosc 140MHz, the SPI interace will operate at approx 10MHz

    '

    Proc SPI_Write(pDataOut As WREG0.Byte0)

    WREG1 = 8 ' Single byte SPI loop

    Repeat

    SPI_SDOPin = WREG0.7 ' Put the current outgoing bit on SPI_SDOpin

    WREG0 = WREG0 << 1 ' Shift the next bit into MSB

    Set SPI_CLKPin ' Set SPI_CLKpin high


    DelayCS 100 'was 10 to fast


    Clear SPI_CLKPin ' Pull SPI_CLKpin low


    Dec WREG1


    Until SRbits_Z = 1 ' Do 8-bits


    EndProc


    '-----------------------------------------------------------------------------------


    ' Read a single Byte from the SPI bus.


    ' Input : None


    ' Output : WREG0 holds any data read from the SPI interface


    ' Notes : At Fosc 140MHz, the SPI interace will operate at approx 10MHz


    '

    '$define SPI_Read8() SPI_Read()


    Proc SPI_Read(), WREG0.Byte
    WREG1 = 8 ' Create a single byte loop

    Repeat

    WREG0 = WREG0 << 1 ' Shift the next bit into MSB

    Set SPI_CLKPin ' Set SPI_CLKpin high


    DelayCS 100 'was 10 to fast


    WREG0 = WREG0 | SPI_SDIPin ' Capture the current bit on SPI_SDIpin


    Clear SPI_CLKPin ' Pull SPI_CLKpin low

    Dec WREG1

    Until SRbits_Z = 1 ' Do 8-bits

    EndProc



    And here is the Final Code which calls the Software_SPi.inc as mofidied above

    Code:
    
    
    
    
    
    
    '
     
    
    ' Write and read ldc10000 inductive proximity sensor
     
    
    '  
     
    
    
    
    
    
    Device = 33EP512MU810 '100 pin tqfp
    
    
    
    
    
    
     
    
                
     
    
    
    
    
    
    Declare Xtal = 140 'was 140
    
    
    
    
    
    
     
    
        
     
    
    
    
    
    
    CLKDIV.7 = 0 'PLL POST (set to divide by 2)
    
    
    CLKDIV.6 = 0 'PLL POST (set to divide by 2)
    
    
    
    
    
    
     
    
        
     
    
    
    
    
    
    CLKDIV.4=0 ' PLL POST (set to divide by 2)
    
    
    CLKDIV.3=0 ' PLL POST (set to divide by 2)
    
    
    CLKDIV.2=0 ' PLL POST (set to divide by 2)
    
    
    CLKDIV.1=0 ' PLL POST (set to divide by 2)
    
    
    CLKDIV.0=0 ' PLL POST (set to divide by 2)
    
    
    
    
    
    
     
    
        
     
    
    
    
    
    
    PLLFBD.8=0'70MIPS full speed with internal oscilator and PLL to max
    
    
    PLLFBD.7=0
     
    
    PLLFBD.6=1
     
    
    PLLFBD.5=0
     
    
    PLLFBD.4=0
     
    
    PLLFBD.3=0
     
    
    PLLFBD.2=1
     
    
    PLLFBD.1=0
     
    
    PLLFBD.0=0
      
    
    
    
    
    
    
    
    'configs for 33EP512 
      
    
    
    
    
    
    Config FICD = ICS_PGD1,JTAGEN_OFF
     
    Config FPOR = ALTI2C1_ON,BOREN_OFF,FPWRT_PWR32
     
    Config FWDT = WDTPOST_PS256,PLLKEN_OFF,WINDIS_OFF,FWDTEN_OFF
     
    Config FOSC = POSCMD_HS,OSCIOFNC_OFF,FCKSM_CSECME
     
    Config FOSCSEL = FNOSC_PRIPLL,IESO_OFF
     
    Config FGS = GWRP_OFF
     
    Config FAS = AWRP_OFF,APLK_OFF
     
    
    '------------------------------------------------------------------------- 
      
    
    '
     
    
    ' Setup the pins for the software SPI routines
     
    
    ' These must be declared before the include file is loaded so it can get the Port.Pins
     
    
    '
     
    
    
    
    
    
    $define SPI_SDOPin PORTB.3                          ' SPI DO to eeprom's DI pin
    
    
    $define SPI_SDIPin PORTB.2                          ' SPI DI to eeprom's DO pin
    
    
    $define SPI_CLKPin PORTB.4                          ' SPI CLK pin
    
    
    $define SPI_CSPin PORTB.0                           ' SPI CS pin (active low)
    
    
    Include "Software_SPI.inc"                          ' Load the software SPI procedures into the program
    
    
    
    
    
    
     
    
    '-----------------------------------------------------------------------------------------------------------
      
    
     
     
    
     
     
    
     
     
    
    '''''''''''' U3 Tx and Rx Setup --------------------------------------
     
    
    
    
    
    
    Input  PORTG.0 'pin 90 RP112 U3 RX   '
    
    
    Output PORTG.1 'pin 89 RP113 U2 TX
    
    
    
    
    
    
      
    
     
     
    
    
    
    
    
    Declare Hserial3_Baud = 115200'9600
    
    
    Declare Hrsout3_Pin = PORTG.1
    
    Declare HRSin3_pin = PORTG.0
    
    
      
    
     
     
    
    RPOR13 = 0                 'clears
    
    
    RPOR13 = %0000000000011011 ' pps output reg mapped u3tx pin 89 338p512mu810
    
    
    RPINR27 = 0                'CLEARS
    
    
    RPINR27 = %0000000001110000'pps input reg mapped U3RXPIN 90 33ep512mu810
    
    
    
    
    
    
      
    
    '-------- end of U3 Tx and Rx setup ----------------------------------
     
    
    '
      
    
      
      
    
    
    
    
    
    Dim proxlsb As Byte
    
    
        Dim proxmsb As Byte
        Dim proximity As Word
    
    
     
    
        
     
    
    
    
    proxlsb = 0   'clear
    
    
    proxmsb = 0   'clear
    
    
    proximity = 0 'clear
    
    
    
    
    
    
     
    
        
     
    
        
      
    
    
    
    
    
    GoSub init_ldc1000 'initialises all the complex registers at power up of the LDC1000 befor scanning proxoimty register to sense vibration
    
    
    
    
    
    
     
    
    '--------------------------------------------------------------------------------------
      
    
    
    
    
    
    Main:
     
    
                                                 
     
    Clear SPI_CSPin                                 ' Enable the SPI interface
    
    
    SPI_Write($A1)                                   'Issues a Command to read 16 bit proximity register 
    
    
    proxlsb = SPI_Read()                             'reads lsb of prximity register
    
    
    proxmsb = SPI_Read()                             'reads msb of proximity register
    
    
    Set SPI_CSPin                                    'chip select idles high till another command issued
    
    
    
    
    
    
     
    
                                              
     
    
                                                      
     
    
    
    
    
    
    proximity.LowByte = proxlsb    'least significat byte 
    
    
    proximity.HighByte = proxmsb   'most significant byte 
    
    
    HRSOut3 Dec proximity,13                 'transmits to hyper terminal via max232 chip to send proximity to pc
    
    
    
    
    
    
     
    
           
     
    
    
    
    
    
    DelayMS 1    'scan rate 1000 times a second just for test 
    
    
    
    
    
    
     
    
           
     
    
    
    
    
    
    GoTo Main
     
    
           
      
    
    init_ldc1000:
     
    
    ' this sets up all the programmable settings in the ldc1000 on power up
      
    
     
     
    
     
     
    
     
     
    
     
     
    
    'SET POWER MODE IDLE TO CONFIGURE STUFF
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($0B) 'Power mode
    
    
    SPI_Write($00) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
     
     
    
    'RP MAX
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($01) 'rpmax reg
    
    
    SPI_Write($0C) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'RP MIN
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($02) 'rpmin reg 
    
    
    SPI_Write($3A) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'DISABLE ALL INTERRUPT MODES
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($0A) 'Iterrupt modes
    
    
    SPI_Write($02) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET THRESH HI LSB
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($06) 'Thresh high LSB
    
    
    SPI_Write($50) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'THRESH HIGH MSB
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($07) 'Thresh high MSB
    
    
    SPI_Write($14) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'THRESH LOW LSB
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($08) 'Thresh Low LSB
    
    
    SPI_Write($C0) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET THRESH LOW MSB
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($09) 'Thresh Low MSB
    
    
    SPI_Write($12) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET WATCHDOG MIN
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($03) 'Watchdog Min
    
    
    SPI_Write($94) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET LDC CONFIG
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($04) 'LDC COnfig
    
    
    SPI_Write($17) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET CLOCK CONFIG
     
    
    
    
    
    
    Clear SPI_CSPin'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($05) 'Clock Config
    
    
    SPI_Write($02) 'Value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET POWER MODE TO ACTIVE MODE
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($0B) 'Power mode (set to actove mode)
    
    
    SPI_Write($01) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    
    
    Return
    

    Hopefully the 33EP512MU810 Development board will arrive on Friday and then I can hoox it up to the LDC1000 and try this super fast software SPI bit bash style.

    Thanks Les,

    Hope it works will test when the board arives

    Regards Matty



  6. #26
    Member matty's Avatar
    Join Date
    Dec 2003
    Posts
    111
    Thumbs Up
    Received: 6
    Given: 3
    Total Downloaded
    228.03 MB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    Good news Les,

    My 33EP512MU810 arrived today I quickly unboxed it and carefully wired it up to the LDC1000 sensor chip.

    I used the PIC24_Software_SPI_DEM0.bas and its associated Software_SPI.inc file.

    I modified the Inc file to slow the clock from 10MHz to 1Mhz by chaning delays Cs 10 to delay Cs 100.

    I spent the whole day stuck on this every thing looked correct on the scope,

    The SCK, SDI,SDO Chip Select all looked to be doing the correct thing but the dam proximity register always returned 0 but I could see the data on the scope. how odd

    I wasted a whole morning and afternoon could not get the proximity data to read anything but 0,

    Then I thought Hook SDI pin PORTB.2 to VSS 3.3v through a 1K and the register should fill with $ff $ff as in all 1's still but no good still 0.

    Then I twigged it te SDI pin isn't working its not seing the 0,1 from the LDC1000 chip even though I CAN SEE THE DATA ON THESCOPE.

    Try making SDI input to a different pin was portb.2 then tried portb.1 then still didn't work

    So drastic measures I moved the SDI Input to another Port on the other side of the dspic I picked

    PORTd.13

    Then BOOM all the data appeared now it works hurray.

    As you put a metal target in front of Inductive probe LDC1000 now reads from 0-32768 for0-4mm Gap and sends answer to DSPIC.

    The next task is to change the DelayCs in the Software_SPI.inc file from
    DelaycS100
    dow to
    DelyaycSxx where xx makes the clock speed 4Mhz which is the max fatest clock the LDC1000 can handle.

    Its all working Lovely

    Heres the code

    Next I will try the hardware SPI remembering you did for SPI1 with spi33.inc and have to map SPI1 PPS etc..

    Ayway it works great heres the Code and I have attached some pictures as evidience.

    Code:
    
    
    
    
    
    
    '
     
    
    ' Write and read ldc10000 inductive proximity sensor
     
    
    '  
     
    
    
    
    
    
    Device = 33EP512MU810 '100 pin tqfp          
    
    
    Declare Xtal = 140 'was 140
    
    
    
    
    
    
     
    
        
     
    
    
    
    
    
    CLKDIV.7 = 0 'PLL POST (set to divide by 2)
    
    
    CLKDIV.6 = 0 'PLL POST (set to divide by 2)  
    
    
    CLKDIV.4=0 ' PLL POST (set to divide by 2)
    
    
    CLKDIV.3=0 ' PLL POST (set to divide by 2)
    
    
    CLKDIV.2=0 ' PLL POST (set to divide by 2)
    
    
    CLKDIV.1=0 ' PLL POST (set to divide by 2)
    
    
    CLKDIV.0=0 ' PLL POST (set to divide by 2)  
    
    
    PLLFBD.8=0'70MIPS full speed with internal oscilator and PLL to max
    
    
    PLLFBD.7=0
     
    
    PLLFBD.6=1
     
    
    PLLFBD.5=0
     
    
    PLLFBD.4=0
     
    
    PLLFBD.3=0
     
    
    PLLFBD.2=1
     
    
    PLLFBD.1=0
     
    
    PLLFBD.0=0
      
    
    
    
    
    
    
    
    'configs for 33EP512 
     
    
    
    
    
    
    Config FICD = ICS_PGD1,JTAGEN_OFF
     
    Config FPOR = ALTI2C1_ON,BOREN_OFF,FPWRT_PWR32
     
    Config FWDT = WDTPOST_PS256,PLLKEN_OFF,WINDIS_OFF,FWDTEN_OFF
     
    Config FOSC = POSCMD_HS,OSCIOFNC_OFF,FCKSM_CSECME
     
    Config FOSCSEL = FNOSC_PRIPLL,IESO_OFF
     
    Config FGS = GWRP_OFF
     
    Config FAS = AWRP_OFF,APLK_OFF
     
    
    '------------------------------------------------------------------------- 
      
    
    
    
    
    
    Input PORTD.13 ' serial data in this input this input finally works to get sdi data from the LDC1000 sdo data output pin
    
    
    
    
    
    
      
    
    'input portb.2 'this pin dosent work wont get input data from LDC1000 when set as SDI input pin ??? stuck to analogue or other peripheral?
     
    
    'input portb.1 'this pin dosent work wont get input data from LDC1000 when set as SDI input pin???  stuck to analogue or other peripheral?
      
    
    '
     
    
    ' Setup the pins for the software SPI routines
     
    
    ' These must be declared before the include file is loaded so it can get the Port.Pins
     
    
    '
     
    
        
     
    
    
    
    
    
    $define SPI_SDIPin PORTD.13                          ' SPI DI to eeprom's DO pin Hurray this works
    
    
    
    
    
    
     
    
                ' $define SPI_SDIPin PORTb.1                          ' SPI DI THIS DID NOT WORK
     
    
                ' $define SPI_SDIPin PORTb.2                          ' SPI DI  THIS DID NOT WORK
     
    
    
    
    
    
    $define SPI_SDOPin PORTB.3                          ' SPI DO to eeprom's DI pin
    
    
    $define SPI_CLKPin PORTB.4                          ' SPI CLK pin
    
    
    $define SPI_CSPin PORTB.0                           ' SPI CS pin (active low)
    
    
    Include "Software_SPI.inc"                          ' Load the software SPI procedures into the program
    
    
    
    
    
    
     
    
    '-----------------------------------------------------------------------------------------------------------
      
    
    '''''''''''' U3 Tx and Rx Setup --------------------------------------
     
    
    
    
    
    
    Input  PORTG.0 'pin 90 RP112 U3 RX   '
    
    
    Output PORTG.1 'pin 89 RP113 U2 TX
    
    
    
    
    
    
      
    
     
     
    
    
    
    
    
    Declare Hserial3_Baud = 9600'9600
    
    
    Declare Hrsout3_Pin = PORTG.1
    
    Declare HRSin3_pin = PORTG.0
    
    
      
    
     
     
    
    RPOR13 = 0                 'clears
    
    
    RPOR13 = %0000000000011011 ' pps output reg mapped u3tx pin 89 338p512mu810
    
    
    RPINR27 = 0                'CLEARS
    
    
    RPINR27 = %0000000001110000'pps input reg mapped U3RXPIN 90 33ep512mu810
    
    
    
    
    
    
      
    
    '-------- end of U3 Tx and Rx setup ----------------------------------
     
    
    '
      
    
    'setup variables needed 
     
    
      
     
    
    
    
    
    
    Dim proxlsb As Byte
    
    
        Dim proxmsb As Byte
        Dim proximity As Word
        Dim sendtimer As Word
    'initialise the LDC1000s many complex registers
     
    
        
     
    
    
    
    
    
    GoSub init_ldc1000 'initialises all the complex registers at power up of the LDC1000 befor scanning proxoimty register to sense vibration
    
    
    
    
    
    
      
    
    '--------------------------------------------------------------------------------------
      
    
    
    
    
    
    Main:
     
    
                                                 
     
    Clear SPI_CSPin                                 ' Enable the SPI interface
    
    
    SPI_Write($A1)                                   'Issues a Command to read 16 bit proximity register 
    
    
    proxlsb = SPI_Read()                             'reads lsb of prximity register
    
    
    proxmsb = SPI_Read()                             'reads msb of proximity register
    
    
    Set SPI_CSPin                                    'chip select idles high till another command issued
    
    
    
    
    
    
     
    
                                              
     
    
                                                      
     
    
    
    
    
    
    proximity.LowByte = proxlsb    'least significat byte 
    
    
    proximity.HighByte = proxmsb   'most significant byte 
    
    
    
    
    
    
      
    
    'HRSOut3 Dec proximity,13                 'transmits to hyper terminal via max232 chip to send proximity to pc
     
    
           
     
    
    
    
    
    
    DelayMS 1    'scan rate 1000 times a second just for test 
    
    
    
    
    
    
      
    
     
     
    
    
    
    
    
    Inc sendtimer
      
    If sendtimer = 500 Then
    HRSOut3 Dec proximity,13 'sends proximity reading to hyper terminal
    
    
    
    
    
    
     
    
                             ' reading is 0-32,768 for 0-5mm gap to metal target and inductive sensor
     
    
    
    
    
    
    sendtimer = 0
     
    
    
    
    EndIf
      
    
     
     
    
    
    
    '******************** displays raw proximity serial data to visual basic real time graph graph ***************
     
    
    'HRSOut3 proxlsb   'raw  proximity data lsb
     
    
    'DelayMS 1
     
    
    'HRSOut3 proxmsb   'raw proximity data msb
     
    
    'DelayMS 1
      
    
    'HRSOut3 $0        'will be filtered proximity data lsb
     
    
    'DelayMS 1
     
    
    'HRSOut3 $0        'filtered proximity data msb
     
    
    'DelayMS 1
      
    
    'HRSOut3 $4        'dummy buyte for VB end of packet
     
    
    'DelayMS 1
     
    
    '**************************************************************************************************************
     
    
           
     
    
    
    
    
    
    GoTo Main
     
    
           
      
    
    init_ldc1000:
     
    
    ' this sets up all the programmable settings in the ldc1000 on power up
      
    
    'SET POWER MODE IDLE TO CONFIGURE STUFF
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($0B) 'Power mode
    
    
    SPI_Write($00) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
     
     
    
    'RP MAX
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($01) 'rpmax reg
    
    
    SPI_Write($0C) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'RP MIN
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($02) 'rpmin reg 
    
    
    SPI_Write($3A) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'DISABLE ALL INTERRUPT MODES
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($0A) 'Iterrupt modes
    
    
    SPI_Write($02) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET THRESH HI LSB
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($06) 'Thresh high LSB
    
    
    SPI_Write($50) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'THRESH HIGH MSB
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($07) 'Thresh high MSB
    
    
    SPI_Write($14) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'THRESH LOW LSB
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($08) 'Thresh Low LSB
    
    
    SPI_Write($C0) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET THRESH LOW MSB
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($09) 'Thresh Low MSB
    
    
    SPI_Write($12) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET WATCHDOG MIN
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($03) 'Watchdog Min
    
    
    SPI_Write($94) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET LDC CONFIG
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($04) 'LDC COnfig
    
    
    SPI_Write($17) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET CLOCK CONFIG
     
    
    
    
    
    
    Clear SPI_CSPin'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($05) 'Clock Config
    
    
    SPI_Write($02) 'Value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    'SET POWER MODE TO ACTIVE MODE
     
    
    
    
    
    
    Clear SPI_CSPin 'CHIPS SELECT LOW FOR WRITE
    
    
    SPI_Write($0B) 'Power mode (set to actove mode)
    
    
    SPI_Write($01) 'value
    
    
    Set SPI_CSPin 'CHIP SELECT HIGH FOR READ
    
    
    
    
    DelayMS 1
      
    
    
    
    Return
    
    Eventually I will try a hardware SPI version with the spi33.inc and the hardware example file remembering to tie it to SPi1 and map the PPS to spi1.

    In the eventual application I have to measure frequency

    like a frequency measuremet 0-6Khz with timers and interrupts so hardware SPI might benefit as delayCs can holt the processor and effect interrupts so id like to try the hardware SPI next which is where | might get stuck it will be tricky.

    Picutres attached P.S takes 25uS for the entire clock packet yellow channel on scope picture this will be vastly reduced by reducing the delayscs100 to delayscsxx in the software SPi.inc file.

    Thanks for all the help so far Les
    it works great Les the PIC24_SOftware_SPI_Demo now tested on a real hardware 33ep512MU810

    Screen shot of graphed data sent from 33ep512 to a vb graph program I wrote.
    Attached Images Attached Images

  7. #27
    Member matty's Avatar
    Join Date
    Dec 2003
    Posts
    111
    Thumbs Up
    Received: 6
    Given: 3
    Total Downloaded
    228.03 MB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    HARDWARE SPI IS NOW working success using the SPI33.INC file works and the hardware SPI example converted from 24f to 33e.

    Just spent all morning implementing Hardware SPI on DSPIC33EP512MU810 to a LDC1000 spi inductive sensor.

    I basically USED the file Les wrote SPI33.INC and the Hardware_SPI_example back in post #16 and modified it to work with 33EP512MU810

    The hardest part by far was The PPS Peripheral Pin Select I soon realised I couldn't use the same pins Les Used in his example you must you RPxxxR for outputs and RPIxxx For inputs very complex but very configurable.

    After several hours battling with the 500 + Page data sheet I worked out how to map SPI1 clock SPI1 DO and SPI1 DI to some Sensible PINS this was the hardest part.

    Initially the SPI Hardware worked and cant believe it worked on 1st attempt the ptoblem was the SPI1 SCK clock was way way to fast for the LDC1000.

    I attemped 5 different trys see in the code below till I got the clock working perfect at 0.25uS= 4MHz = Max LDC1000 Clock Speed.

    the data returned is great very stable noise free it just feels better to me than software spi.

    The reason is this project will have so much going on eventually 10 * LDC1000 chips, and Frequency Measurment on ISR basis, COMS, etc I thought if I used Harware SPI less chance of interrupting the Main CPU Like you would use Harware UART if the CHip has one rather than software Uart.

    Anyway a massive thanks to Les the 33SPI.INC folder worked flawlessly 1st time

    Here is the code and couple of pictures as HaRDWARE_spi_EVIDENCE

    Code:
    '
     ' Read LDC1000 SUPER FAST hardware SPI _ LDC1000 _ 33EP512MU810 _ ver fast _hardware _spi 
     '
     Device = 33EP512MU810'24FJ64GA002
        
     Declare Xtal = 140 'was 140
         
     CLKDIV.7 = 0 'PLL POST (set to divide by 2)
    CLKDIV.6 = 0 'PLL POST (set to divide by 2)  
    CLKDIV.4=0 ' PLL POST (set to divide by 2)
    CLKDIV.3=0 ' PLL POST (set to divide by 2)
    CLKDIV.2=0 ' PLL POST (set to divide by 2)
    CLKDIV.1=0 ' PLL POST (set to divide by 2)
    CLKDIV.0=0 ' PLL POST (set to divide by 2)  
    PLLFBD.8=0'70MIPS full speed with internal oscilator and PLL to max
    PLLFBD.7=0
    PLLFBD.6=1
    PLLFBD.5=0
    PLLFBD.4=0
    PLLFBD.3=0
    PLLFBD.2=1
    PLLFBD.1=0
    PLLFBD.0=0
    'configs for 33EP512 
     Config FICD = ICS_PGD1,JTAGEN_OFF
     Config FPOR = ALTI2C1_ON,BOREN_OFF,FPWRT_PWR32
     Config FWDT = WDTPOST_PS256,PLLKEN_OFF,WINDIS_OFF,FWDTEN_OFF
     Config FOSC = POSCMD_HS,OSCIOFNC_OFF,FCKSM_CSECME
     Config FOSCSEL = FNOSC_PRIPLL,IESO_OFF
     Config FGS = GWRP_OFF
     Config FAS = AWRP_OFF,APLK_OFF
     '-------------------------------------------------------------------------
     '-----------------------------------------------------------------------------------------------------------
      '''''''''''' U3 Tx and Rx Setup --------------------------------------
     Input  PORTG.0 'pin 90 RP112 U3 RX   '
    Output PORTG.1 'pin 89 RP113 U2 TX
       
     Declare Hserial3_Baud = 9600'9600
    Declare Hrsout3_Pin = PORTG.1
    Declare HRSin3_pin = PORTG.0
       
     RPOR13 = 0                 'clears
    RPOR13 = %0000000000011011 ' pps output reg mapped u3tx pin 89 338p512mu810
    RPINR27 = 0                'CLEARS
    RPINR27 = %0000000001110000'pps input reg mapped U3RXPIN 90 33ep512mu810
      '-------- end of U3 Tx and Rx setup ----------------------------------
     '------------------------------------------------------------------------- 
      Include "SPI_33.inc"                                ' Load the 24-bit SPI macros into the program
    Dim wAddress As Word                                ' Address within the eeprom
    Dim Byteout As Byte                                 ' The byte written to the eeprom
    Dim Bytein As Byte                                  ' The byte read from the eeprom
    Dim proxlsb As Byte
        Dim proxmsb As Byte
        Dim PROXIMITY As Word
        Dim SENDTIMER As Word
         
         
         
         Symbol CS_Pin = PORTB.0                             ' Connects to the eeprom's CS pin
      '--------------------------------------------------------------------------------------
     ' Initialise the SPI interface
     ' Input     : None
     ' Output    : None
     ' Notes     : Also configures PPS for the SPI1 peripheral
     '           : Final SPI speed (in KHz) = ((fOSC / 2) / 1000) / (Secondary Prescale * Primary Prescale)
     '
     Proc SPI_Init()
       
     '
      ' Setup the PPS pins for SPI THIS WAS ALLOT OF WOTK READING MANY PAGES OF pps SECTION OF 33EP512MU810 DATA SHEET
      '
     Output PORTG.13  ' Make the SCk G.13 '[RP125] [REGISTER RPOR14]
    RPOR14 = 0 ' CLEAR
    RPOR14 = %0000011000000000 'BITS 13 - BITS 9 = SCK = 000110
      
     Output PORTG.14 'Make the SDO G.14 '[RP126] [REGISTER RPOR15]
    RPOR15 = 0 ' CLEAR
    RPOR15 = %0000000000000101
      
      Input PORTD.13 ' Make the SDI D.13 '[rpI77] [REGISTER RPINR20]
    RPINR20 = 0 'CLEARS
    RPINR20 = %0000000001001101
       
     '
     ' Setup the SPI as master Mode 0:0
     ' When operating at 32MHz, the prescaler values below will operate the SPI clock at 8MHz:
     '   ((32000000 / 2) / 1000) / (2 * 1) = 8000KHz
     '
         'SPEED TRY 1
         'SPI_Open(cSPI_MODE0 & cSEC_PRE_2_1 & cPRI_PRE_1_1, cSPI_ON & cSPI_IDLE_ON & cSPI_RX_OVFLOW_CLR)
                               ' cSEC_PRE_2_1 & cPRI_PRE_1_1 'WAY WAY TO fAST ENTIRE 24 CLOCKS PACKET IS OVER IN LESS THAN 1mhZ LDC1000 does not respond
         'SPEED TRY 2
         'SPI_Open(cSPI_MODE0 & cSEC_PRE_8_1 & cPRI_PRE_64_1, cSPI_ON & cSPI_IDLE_ON & cSPI_RX_OVFLOW_CLR)
                              ' cSEC_PRE_8_1 & cPRI_PRE_64_1 'TO SLOW ENTIRE 24 CLOCKS PACKET IS OVER IN 200Us BUT IT WORKS HURRAY LDC1000 RESPONDS WITH DATA
          'SPEED TRY 3
         'SPI_Open(cSPI_MODE0 & cSEC_PRE_4_1 & cPRI_PRE_4_1, cSPI_ON & cSPI_IDLE_ON & cSPI_RX_OVFLOW_CLR)                    
                              'cSEC_PRE_4_1 & cPRI_PRE_4_1 'FAR TO FAST ENTIRE 24 CLOCKS PACKET IS OVER IN 7.5Us TO FAST DATA IS SCRAMLBELLED
          
          'SPEED TYRY 4
          'SPI_Open(cSPI_MODE0 & cSEC_PRE_8_1 & cPRI_PRE_16_1, cSPI_ON & cSPI_IDLE_ON & cSPI_RX_OVFLOW_CLR)                    
          '                   'cSEC_PRE_8_1 & cPRI_PRE_16_1'this is very good takes 50uS for entire 24 clocks packet bit slow though need setting between try 3 and try4
          
          'SPEED TRY 5
     SPI_Open(cSPI_MODE0 & cSEC_PRE_8_1 & cPRI_PRE_4_1, cSPI_ON & cSPI_IDLE_ON & cSPI_RX_OVFLOW_CLR)
    'cSEC_PRE_8_1 & cPRI_PRE_4_1 'absoloutley perfect
                                                           'entire 24 clocks takes exactly 12uS
                                                           'data returned from LDC1000 is very stable 
                                                           'expand oscillosocope and clock period on / off is exactly 250ns = 0.25uS = 4MHz
                                                           'now running at full speed 4MHz as fast as LDC1000 can handle
                                                           'Hardware SPI Now achieved full speed 
                                                                                                     
      
      
      
       
      
     High PORTG.13                                        ' Make the SCk G.13 '[RP125] [REGISTER RPOR14]
    High PORTG.14                                        ' Make the SDO G.14 '[RP126] [REGISTER RPOR15]
    High CS_Pin                                         ' Make the CS pin output high
          
     EndProc
       
     SPI_Init()                                          ' Configure the SPI interface 
    GoSub init_ldc1000
     '--------------------------------------------------------------------------------------
     Main:
                                  
     Clear CS_Pin                                 ' Enable the SPI interface
    SPI_Write($A1)                                   'Issues a Command to read 16 bit proximity register 
    proxlsb = SPI_Read()                             'reads lsb of prximity register
    proxmsb = SPI_Read()                             'reads msb of proximity register
    Set CS_Pin 
      PROXIMITY.LowByte = proxlsb    'least significat byte 
    PROXIMITY.HighByte = proxmsb   'most significant byte 
           
     DelayMS 1    'scan rate 1000 times a second just for test 
       
     Inc SENDTIMER
      If SENDTIMER = 500 Then
    HRSOut3 Dec PROXIMITY,13 'sends proximity reading to hyper terminal
                              ' reading is 0-32,768 for 0-5mm gap to metal target and inductive sensor
     SENDTIMER = 0
     EndIf
      '******************** displays raw proximity serial data to visual basic real time graph graph ***************
     'HRSOut3 proxlsb   'raw  proximity data lsb
     'DelayMS 1
     'HRSOut3 proxmsb   'raw proximity data msb
     'DelayMS 1
      'HRSOut3 $0        'will be filtered proximity data lsb
     'DelayMS 1
     'HRSOut3 $0        'filtered proximity data msb
     'DelayMS 1
      'HRSOut3 $4        'dummy buyte for VB end of packet
     'DelayMS 1
     '**************************************************************************************************************
      GoTo Main
              
          
     '--------------------------------------------------------------------------------------
     init_ldc1000:
     ' this sets up all the programmable settings in the ldc1000 on power up
      'SET POWER MODE IDLE TO CONFIGURE STUFF
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($0B) 'Power mode
    SPI_Write($00) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
       
     'RP MAX
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($01) 'rpmax reg
    SPI_Write($0C) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'RP MIN
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($02) 'rpmin reg 
    SPI_Write($3A) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'DISABLE ALL INTERRUPT MODES
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($0A) 'Iterrupt modes
    SPI_Write($02) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'SET THRESH HI LSB
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($06) 'Thresh high LSB
    SPI_Write($50) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'THRESH HIGH MSB
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($07) 'Thresh high MSB
    SPI_Write($14) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'THRESH LOW LSB
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($08) 'Thresh Low LSB
    SPI_Write($C0) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'SET THRESH LOW MSB
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($09) 'Thresh Low MSB
    SPI_Write($12) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'SET WATCHDOG MIN
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($03) 'Watchdog Min
    SPI_Write($94) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'SET LDC CONFIG
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($04) 'LDC COnfig
    SPI_Write($17) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'SET CLOCK CONFIG
     Clear CS_Pin'CHIPS SELECT LOW FOR WRITE
    SPI_Write($05) 'Clock Config
    SPI_Write($02) 'Value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      'SET POWER MODE TO ACTIVE MODE
     Clear CS_Pin 'CHIPS SELECT LOW FOR WRITE
    SPI_Write($0B) 'Power mode (set to actove mode)
    SPI_Write($01) 'value
    Set CS_Pin 'CHIP SELECT HIGH FOR READ
    DelayMS 1
      Return
    
    Thanks to LES and tumbleweed for all the support.
    This is now just 1 brick in a wall but its the foundation of a new PCB with 33EP512MU810 and 10* LDC1000 for vibration monitoring of a gas turbine shaft.

    Thanks Everyone for the Exceptional Support
    Happy Now SPI HARDWARE working full speed ahead....
    Attached Images Attached Images
    Attached Files Attached Files

  8. #28
    Article Author johngb's Avatar
    Join Date
    Oct 2003
    Posts
    2,076
    Thumbs Up
    Received: 55
    Given: 0
    Total Downloaded
    1.09 GB

    1 Not allowed!

    Default Re: Very flexible SPI Bit-Bashed routines for any device

    I was going to suggest my Peripheral Pin Select Wizard which may have made your life a little easier, but see it is restricted to P24 devices.
    However, the P33 devices also have the same info in their Def files and I cannot see any reason why the Wizard shouldn't also be usable for P33 devices.

    So I have updated the wizard to also parse the P33 Def files.

    You can download it from here

    Please let me know if this has introduced any problems.
    JohnB

  9. #29
    Member matty's Avatar
    Join Date
    Dec 2003
    Posts
    111
    Thumbs Up
    Received: 6
    Given: 3
    Total Downloaded
    228.03 MB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    Thanks John I will try it next week my head hurts now.
    Finishing a PCB layout over the weekend.

    I need to download FireFOx next week so I can try it looks like the file you have linked me to is .php and my stupid internet explorer wont open .php files.
    Ill get fire fox as les suggested and try it next week at work.

    The peripheral Pin Select Is a complex but very configurable system By Doing things manually I hope I have grasped a basic concept of the PPS process.

    Thanks very much John this will save me allot of time as I have many more peripherals to map on this 33EP512MU810 project its only at the very early stages now.

    Ill try it next week much appreciated John
    Regards Matty

  10. #30
    Article Author johngb's Avatar
    Join Date
    Oct 2003
    Posts
    2,076
    Thumbs Up
    Received: 55
    Given: 0
    Total Downloaded
    1.09 GB

    0 Not allowed!

    Default Re: DSPIC33EP512MU810 How to use Hardware SPI can SPI_24.inc be used for 33EP512MU810

    Just realised I posted the wrong file, it wasn't an installation file but the executable. I have deleted it and replaced it with the correct install file.
    Download it from the PDS Peripheral Pin Select Wizard on the wiki.
    JohnB

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Similar Threads

  1. Hardware SPI - LSB first
    By towlerg in forum Proton Plus Compiler v3
    Replies: 3
    Last Post: 1st August 2016, 17:14
  2. Hardware SPI
    By Maxim in forum Proton 24
    Replies: 9
    Last Post: 19th March 2015, 01:34
  3. Hardware SPI
    By CPW1992 in forum Proton Plus Compiler v3
    Replies: 9
    Last Post: 28th June 2008, 05:24
  4. SPI hardware with 2 PICS
    By nigelstephens in forum Proton Plus Compiler v3
    Replies: 11
    Last Post: 9th March 2008, 21:10
  5. SPI Software / Hardware
    By dmTulsa in forum Proton Plus Compiler v3
    Replies: 10
    Last Post: 27th October 2006, 21:50

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts