/* * BL25CM1A.c * * Created on: 7 сент. 2023 г. * Author: seklyuts */ #include "f28x_project.h" #include "spi_init.h" #define WREN 0b00000110 //Enable Write Operations #define WRDI 0b00000100 //Disable Write Operations #define RDSR 0b00000101 //Read Status Register #define WRSR 0b00000001 //Write Status Register #define READ 0b00000011 //Read Data from Memory #define WRITE 0b00000010 //Write Data to Memory #define RDID 0b10000011 //Read identification page #define WRID 0b10000010 //Write identification page #define RDLS 0b10000011 //Reads the identification page lock status #define LID 0b10000010 //Locks the identification page in read-only mode uint16_t sdata2 = RDSR; // sent data uint16_t rdata2[16] ; // received data //uint16_t error2 = 0; void Bl25cm1a_en(void) { volatile uint16_t empty; transmitData(WREN); while(SpiRegs.SPIFFRX.bit.RXFFST != 1) { } empty = SpiRegs.SPIRXBUF; } void Bl25cm1a_write(void) { transmitData(sdata2); transmitData(0xFF); while(SpiRegs.SPIFFRX.bit.RXFFST != 2) { } rdata2[0] = SpiRegs.SPIRXBUF; rdata2[1] = SpiRegs.SPIRXBUF; } #define quant 8 void Bl25cm1a_read_data(uint32_t Addr) { volatile uint16_t empty, i, j; transmitData(READ); transmitData(Addr>>16); transmitData(Addr>>8); transmitData(Addr); for(i = 0; i>16); transmitData(Addr>>8); transmitData(Addr); for(i = 0; i