Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 25.10.2018, 18:20   #1
Dima
Senior Member
 
Регистрация: 26.02.2007
Адрес: Minsk
Возраст: 50
Сообщений: 231
Вес репутации: 233/49
Dima has a spectacular aura aboutDima has a spectacular aura aboutDima has a spectacular aura about
По умолчанию PIC16F15344 NVM

Всем привет!
Не могу найти, по какому адресу нужно писать.
Может кто работал, и есть пример?
Заранее благодарен.
Dima вне форума   Ответить с цитированием
Старый 25.10.2018, 18:41   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 32
Сообщений: 2,007
Вес репутации: 3723/82
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC16F15344 NVM

Dima
сформулируйте вопрос иначе - мне не совсем понятно, какие конкретно проблемы у Вас возникли.

Вы хотите жечь flash и не можете разобраться, как написать функцию для записи?
besogon вне форума   Ответить с цитированием
Старый 25.10.2018, 18:49   #3
Dima
Senior Member
 
Регистрация: 26.02.2007
Адрес: Minsk
Возраст: 50
Сообщений: 231
Вес репутации: 233/49
Dima has a spectacular aura aboutDima has a spectacular aura aboutDima has a spectacular aura about
По умолчанию Re: PIC16F15344 NVM

Мне нужна эмуляция EEPROM.
Еще обнаружил странность, когда включаю SAFEN, проц все время сбрасывается.
Dima вне форума   Ответить с цитированием
Старый 25.10.2018, 19:00   #4
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 32
Сообщений: 2,007
Вес репутации: 3723/82
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC16F15344 NVM

Dima
если Вы выбрали тот контроллер, о котором Вы пишете, то Вам придется использовать flash для хранения данных в обесточенном состоянии.

я не понимаю, что Вы понимаете под эмуляцией eeprom.
если вопрос в том, можно ли считать содержимое блока в оперативную память, модифицировать оперативную память, стереть блок памяти если это необходимо, а потом записать туда модифицированный блок, то да, так вполне можно сделать.

когда включаю SAFEN, проц все время сбрасывается - из storage area flash невозможно исполнение. может поэтому сбрасывается.

я не очень люблю малые пики. злые они как собака.
besogon вне форума   Ответить с цитированием
Старый 25.10.2018, 19:04   #5
Dima
Senior Member
 
Регистрация: 26.02.2007
Адрес: Minsk
Возраст: 50
Сообщений: 231
Вес репутации: 233/49
Dima has a spectacular aura aboutDima has a spectacular aura aboutDima has a spectacular aura about
По умолчанию Re: PIC16F15344 NVM

Нужно хранить пару переменных, которые может пользователь менять.
Пытаюсь делать так:
Код:
void WriteEEPROM(uint16_t bAdd, uint8_t bData)
{
    uint8_t GIEBitValue = INTCONbits.GIE;
    
    NVMADRH = ((bAdd >> 8) & 0xFF);
    NVMADRL = (bAdd & 0xFF);
    NVMDATL = bData;    
    NVMCON1bits.NVMREGS = 0;
    NVMCON1bits.WREN = 1;
    INTCONbits.GIE = 0;     // Disable interrupts
    NVMCON2 = 0x55;
    NVMCON2 = 0xAA;
    NVMCON1bits.WR = 1;
    // Wait for write to complete
    while (NVMCON1bits.WR)
    {
    }

    NVMCON1bits.WREN = 0;
    INTCONbits.GIE = GIEBitValue;   // restore interrupt enable
    Nop();
    Nop();
}

uint8_t ReadEEPROM(uint16_t bAdd)
{
    NVMADRH = ((bAdd >> 8) & 0xFF);
    NVMADRL = (bAdd & 0xFF);
    NVMCON1bits.NVMREGS = 0;    
    NVMCON1bits.RD = 1;
    NOP();  // NOPs may be required for latency at high frequencies
    NOP();
    return (NVMDATL);
}
Dima вне форума   Ответить с цитированием
Старый 25.10.2018, 19:18   #6
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 32
Сообщений: 2,007
Вес репутации: 3723/82
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC16F15344 NVM

Dima
я не увидел в описании Вашего устройства eeprom.
вполне может быть, что его там нет.

наверное там все-таки flash.

операции с flash сводятся к read, write и erase.

read - прочесть.
write - сделать в ячейке из единиц нули. из нулей единицы делать нельзя.
erase - сделать в блоке, который состоит и кучи ячеек из во всех ячейках единицы.

в Ваш код вникать не готов, пока Вы не сбросите ссылку на eeprom в этом чипе. страница такая-то даташита такого то.
besogon вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pic32mx nvm besogon Вопросы начинающих 3 20.03.2017 11:31
PIC32 и библиотечные функции NVM gontharov Продукция MICROCHIP 1 14.09.2010 10:32


Часовой пояс GMT +3, время: 03:15.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot