Sitting here philosophizing, wondering and looking at options...
Can GCbasic read and write sequentially to/from a SPI Serial SRAM (like 23LC1024) ?
-That is after sending the startadress, continuing without sending the long address for each byte.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you want to add arrays/string/pointers( to send a block of data ) then please extend the existing library. If you need help, just ask.
I spotted a typo in the PIC example on the help web page. I am updating the online version at the moment. So, your local Windows Help will have a typo when you compile. Use the online version to get the latest web page.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you want to add arrays/string/pointers( to send a block of data ) then please extend the existing library. If you need help, just ask.
I spotted a typo in the PIC example on the help web page. I am updating the online version at the moment. So, your local Windows Help will have a typo when you compile. Use the online version to get the latest web page.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I looked there first thing and did not find anything on sending receiving sequentially without sending a long address for each byte. Then I searched this forum.
Yes, a block of data.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Here is an untested method to write. It would be a similar approach to read.
I have added page addressing. Do these device need page addressing? This means do you have to write the page address when the page changes? If not remove that part of the method any just keep pushing the data out.
Many of the variable names are shared with other methods. But, do retain these names.
subSRAMWriteArray(ineepAddraslong,ineepArray(),OptionalineepLenasbyte=0)dimeep_iasByte// implies max array of 255 bytesdimCalcNextPage,eepPageSizeasByte// implies that page exist in the deviceeepPageSize=128// page sizedimeepromValtoSendasbyteeepromValtoSend=eepromValifeepLen=0theneepLen=eepArray(0)setSPISRAM_CSOFFSendData_SPISRAM(SRAM_23LC_COMMAND_WRITE)#ifSPISRAM_CAPACITY>0x10000'LargedevicethereforeneedtosendthirdbyteaddressSendData_SPISRAM(eepAddr_u)#endifSendData_SPISRAM(eepAddr_h)SendData_SPISRAM(eepAddr)foreep_i=1toeepLenSendData_SPISRAM(eepArray(eep_i));writenextbytefromarrayeepAddr++;prepfornextbyteCalcNextPage=eepAddrmodeepPageSize;calculatenextpageifCalcNextPage=0then;endofpageSendData_SPISRAM(eepAddr_h)SendData_SPISRAM(eepAddr)endifnextsetSPISRAM_CSONendsub
Add to your program. When this all works move the methods into your C:\GCstudio\gcbasic\include\lowlevel\spisram.h and upload here so other can use in the future.
I will add to the HELP etc.
Good work!!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks. I was just trying to find out the options available.
For the idea I',m working on it is probably easier to get a processorchip with more built in RAM.
I will save this and test later. I could definitely find use for this and if I get it to work, I will ofcourse report back.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Combining two PIC18F27Q83 (one could be a slave, sending parallel bytes) then I would have 25kB available and cheap too. For now that is more tempting.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sitting here philosophizing, wondering and looking at options...
Can GCbasic read and write sequentially to/from a SPI Serial SRAM (like 23LC1024) ?
-That is after sending the startadress, continuing without sending the long address for each byte.
Yes, is the answer.
You can use the existing methods or write your own.
Existing methods I had no luck finding. I will try again tomorrow.
I would look at the Help.
https://gcbasic.sourceforge.io/help/_sram_overview.html
If you want to add arrays/string/pointers( to send a block of data ) then please extend the existing library. If you need help, just ask.
I spotted a typo in the PIC example on the help web page. I am updating the online version at the moment. So, your local Windows Help will have a typo when you compile. Use the online version to get the latest web page.
I would look at the Help.
https://gcbasic.sourceforge.io/help/_sram_overview.html
If you want to add arrays/string/pointers( to send a block of data ) then please extend the existing library. If you need help, just ask.
I spotted a typo in the PIC example on the help web page. I am updating the online version at the moment. So, your local Windows Help will have a typo when you compile. Use the online version to get the latest web page.
I looked there first thing and did not find anything on sending receiving sequentially without sending a long address for each byte. Then I searched this forum.
Yes, a block of data.
OK. There is a need to extend the functionality.
I assume the existing operations all work?
Here is an untested method to write. It would be a similar approach to read.
I have added page addressing. Do these device need page addressing? This means do you have to write the page address when the page changes? If not remove that part of the method any just keep pushing the data out.
Many of the variable names are shared with other methods. But, do retain these names.
Add to your program. When this all works move the methods into your C:\GCstudio\gcbasic\include\lowlevel\spisram.h and upload here so other can use in the future.
I will add to the HELP etc.
Good work!!
Thanks. I was just trying to find out the options available.
For the idea I',m working on it is probably easier to get a processorchip with more built in RAM.
I will save this and test later. I could definitely find use for this and if I get it to work, I will ofcourse report back.
On-board RAM will be a lot faster. A lot faster.
Combining two PIC18F27Q83 (one could be a slave, sending parallel bytes) then I would have 25kB available and cheap too. For now that is more tempting.
Maybe. Time will tell.
Does the 27Q83 support DMA? That would even faster. Choose a DMA chip.
Yes, It has DMA. If I will be able to handle DMA, that is for later.
Start with DMA. It is very easy. I made video and demo to show capability. DMA will move data with CPU... it is the best method.
Start with DMA. It is very easy. I made video and demo to show capability. DMA will move data with CPU... it is the best method.
Start with DMA. It is very easy. I made video and demo to show capability. DMA will move data with CPU... it is the best method.