Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.05.2015, 19:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите с F-RAM
Разве это не очевидно?
|
|
|
|
24.05.2015, 21:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: Помогите с F-RAM
У меня FM25L256.
PHP код:
|
#define WREN 0b00000110 #define WRDI 0b00000100 #define RDSR 0b00000101 #define WRSR 0b00000001 #define READ 0b00000011 #define WRITE 0b00000010
void eeprom_write_enable(void) { MEM_ON(); spi_write_byte(WREN); MEM_OFF(); delay_us(5); MEM_ON(); spi_write_byte(WRSR); spi_write_byte(0); MEM_OFF(); }
unsigned char eeprom_read_byte(unsigned int addr) { unsigned char c; MEM_ON(); spi_write_byte(READ); spi_write_byte(addr ›› 8); spi_write_byte(addr); c = spi_read_byte(); MEM_OFF(); return c; }
void eeprom_write_byte(unsigned int addr, unsigned char c) { MEM_ON(); spi_write_byte(WREN); MEM_OFF(); delay_us(1); MEM_ON(); spi_write_byte(WRITE); spi_write_byte(addr ›› 8); spi_write_byte(addr); spi_write_byte(c); MEM_OFF(); }
|
Последний раз редактировалось Godzilla82; 24.05.2015 в 21:50.
|
|
|
|
24.05.2015, 22:40
|
|
Частый гость
Регистрация: 16.11.2005
Сообщений: 46
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Помогите с F-RAM
Со свежекупленными проблем не было,
если протокол выдержали, программной и аппаратной блокировки записи не делали, должно работать,
Один раз fm25h20 вылетала у заказчика - причина неизвестна,
еще раз снимал с макетки термофеном, поторопился с разогревом, после этого запись в память работать перестала, обращение к регистру статуса работало.
Cypress выпускает и fm25v20, они появились позже,
один продавец предлагал h20 и v20, последние дешевле.
|
|
|
|
25.05.2015, 10:06
|
|
Частый гость
Регистрация: 06.11.2007
Сообщений: 47
Сказал спасибо: 1
Сказали Спасибо 12 раз(а) в 5 сообщении(ях)
|
Re: Помогите с F-RAM
я делал так:
Код:
|
#define SetBit(reg, bit) reg |= (1‹‹bit)
#define ClearBit(reg, bit) reg &= (~(1‹‹bit))
#define SetFlashCS SetBit(PORTB, FlashCS)
#define ClrFlashCS ClearBit(PORTB, FlashCS)
ClrFlashCS;
SPI_Write(WREN);
SetFlashCS;
ClrFlashCS;
SPI_Write(RDSR);
while((SPI_Read()&0x02) == 0){};
SetFlashCS;
ClrFlashCS;
SPI_Write(SectorErase);
SPI_Write(0x00);
SPI_Write(0x00);
SPI_Write(0x00);
SetFlashCS;
ClrFlashCS;
SPI_Write(RDSR);
while((SPI_Read()&0x01) == 1){};
SetFlashCS;
ClrFlashCS;
SPI_Write(WREN);
SetFlashCS;
ClrFlashCS;
SPI_Write(WRITE);
SPI_Write(0x00);
SPI_Write(0x00);
SPI_Write(0x00);
SPI_Write(RS232.Len);
for(unsigned char Begin = 0; Begin ‹ RS232.Len; Begin++)
{
SPI_Write(RS232.Buffer[Begin]);
}
SetFlashCS;
ClrFlashCS;
SPI_Write(RDSR);
while((SPI_Read()&0x01) == 1){};
SetFlashCS; |
пока все работает
|
|
|
|
25.05.2015, 11:03
|
|
Частый гость
Регистрация: 14.07.2010
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
|
Re: Помогите с F-RAM
Какую Вы среду используете ?
У меня Эклипс и стандартная библиотека от STM.
Так вот эта библиотека была зависима от уровня оптимизации.
При включении ненулевого уровня оптимизации не читала первый байт из массива.
|
|
|
|
25.05.2015, 16:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: Помогите с F-RAM
Сообщение от AlexWonder
|
я делал так:
Код:
|
SPI_Write(SectorErase); |
|
Так у вас не ферроэлектрическая память, а обычная Flash.
|
|
|
|
26.05.2015, 10:07
|
|
Частый гость
Регистрация: 06.11.2007
Сообщений: 47
Сказал спасибо: 1
Сказали Спасибо 12 раз(а) в 5 сообщении(ях)
|
Re: Помогите с F-RAM
ну а для проверки, почему бы не попробовать?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:32.
|
|