Hallo,
habe den Speicher auch und es klappt ohne Probleme.
Dein Programm habe ich jetzt nicht genau analysiert, sieht bei mir einiges anders aus, allein CS wird bei mir nicht nach jedem übertragenem Byte (schreiben/lesen) wieder gesetzt. Beispiel ein Byte aus Flash Speicher Adresse lesen:
CS <- low;
SPI1_Write (0x03) [_SERIAL_FLASH_CMD_READ]
SPI1_Write(Higher(address)) (3 Byte Adresse)
SPI1_Write(Hi(address))
SPI1_Write(Lo(address))
temp = SPI1_Read(0)
CS <- high
usw.
Schreiben lasse ich jetzt hier für erste mal weg, kannst Du aus dem Exambles extrahieren, da ist natürlich einiges mehr zu tun…
Hast Du schon mal nur zwecks Kontrolle passender SPI Initialisierung die ID ausgelesen?
CS <- low
SPI1_Write (0x9F) [_SERIAL_FLASH_CMD_RDID)]
temp = SPI1_Read(0)
CS <- high
Warum nutzt Du nicht als Orientierung das zugehörige „flash_click_examples“ für PIC18F45k22. Dies hatte ich am Anfang zum Test auch. Ein entsprechender „Serial_Flash_driver“ ist da bereits eingebunden. Zumindest kannst Dir die benötigten Informationen holen.
Für MicroC kannst Du aber auch gern von mir ein paar Auszüge bekommen, soweit Du nicht weiter kommst.
Gruß André
Lesezeichen