viking-92 0 14 мая, 2015 Опубликовано 14 мая, 2015 · Жалоба Добрый день! Возможно я поднимаю старую тему, помогите тогда ссылкой хотя бы. Мне на MSP430F169 необходимо прописать запись во флеш вот такого выражения (ADC10MEM0+ADC10MEM0)/2, потом обратиться к данной ячейке во флеш для сравнения данного значения. Как это осуществить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mcheb 0 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба Добрый день! Возможно я поднимаю старую тему, помогите тогда ссылкой хотя бы. Мне на MSP430F169 необходимо прописать запись во флеш вот такого выражения (ADC10MEM0+ADC10MEM0)/2, потом обратиться к данной ячейке во флеш для сравнения данного значения. Как это осуществить? //------------------------------------------------------------------------------ //--------------------------- Запись во Flash memory --------------------------- //------------------------------------------------------------------------------ void WriteFlash(void) // { _DINT(); //__disable_interrupt(); FCTL2=FWKEY+FSSEL_0+FN0+FN1; //ACLK div=4 FCTL3=FWKEY; //reset LOCK FCTL1=FWKEY+ERASE; //Set Erase Segment __asm("clr.b &0x1000"); _NOP(); FCTL3=FWKEY+LOCK; //Set LOCK FCTL3=FWKEY; //reset LOCK FCTL1=FWKEY+WRT; //Set Write __asm("mov.b &TypeDevice,&0x1000"); _NOP(); FCTL3=FWKEY+LOCK; //Set LOCK FCTL1=FWKEY; //ReSet Write and Erase _EINT(); //__enable_interrupt(); } #define ADC_ROM 0x1000 Как то вот так. TypeDevice=(ADC10MEM0+ADC10MEM0)/2 0x1000 адрес флэша,где это хранится. Обращаться к нему так *(uint16_t *)ADC_ROM Следует учесть,что стирается вся страница! Будьте аккуратны. Учите даташит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 29 15 мая, 2015 Опубликовано 15 мая, 2015 (изменено) · Жалоба … _DINT(); //__disable_interrupt(); FCTL2=FWKEY+FSSEL_0+FN0+FN1; //ACLK div=4 … #define ADC_ROM 0x1000 … Позволю себе чуть конструктивной кртики: тактирование от ACLK (а это в подавляющем большинстве случаев 32768Гц + собственный постделитель) да ещё и делённого на 4 не подходит, тк тактовая частота для генератора временных интервалов flash-а должна быть в диапазоне 257..476кГц. Думаю следовало бы указать частоту ACLK. Изменено 15 мая, 2015 пользователем Obam Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться