If you just need more RAM for a display buffer there are much faster devices than an external EEPROM, like the 23LC512 serial SPI SRAM.
Also, since SHIFTOUT runs at approx 50KHz, you could even write your own dedicated version that would be MUCH faster than that, although using the MSSP/SPI peripheral is pretty straight forward and would easily get you into the multi-MHz range.
Where I can learn about that MSSP in PBP ?
On the Data Sheet of each PIC you will use. You learn the ins and outs of the sub section of the PIC and the registers that you have to manipulate directly.
PBP had nothing to do with the MSSP/SPI section other than setting bits in the registers.
Ioannis
Well someone above, called Henrik, said that PBP is supporting it directly, this is why I asked
![]()
If you go to Microchip.com and type MSSP or SPI or I2C into the Search window, then click on Application Notes in the left column, there are numerous Application Notes on how these peripherals function, and how to put them to use. Code is usually in ASM and/or C, but the concepts are outlined extremely well.
I did not say PBP have high level commands to drive your specific device using the MSSP module - no - I said you don't need any assembly language to use the MSSP module.
You configure the module by writing values to a couple of registers. (Should it run in SPI or I2C mode, what clock frequency, MSB/LSB first and so on). It's the same procedure as configuring an I/O for the correct mode by setting TRIS and ANSEL or to select what clock source to use for the ADC by writing to ADCONx (or whatever). But if you're not prepared to read a couple of pages in the datasheet then forget it and stick with SHIFTOUT.
Sometimes users seems to think that TRIS, CMCON, ANSEL, ADCON and what not are commands - they are not. They are registers in the PIC to which can write by simply assigning a value to them, TRISA=127 or read myVar = CMCON. That's as basic as it gets and doing that to a few registers are all it takes to configure the MSSP module. Sending a byte is then as simple as writing said byte to another registers and out it goes. Again, just take 1h and READ the datasheet.
Bookmarks