ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
53042 Топик полностью
maxvid (06.03.2006 14:09, просмотров: 1) ответил rezident на Неверно понимаете.
Ответ: снова смотрим сноску: NOTES: 1. The cumulative program time must not be exceeded when writing to a 64-byte flash block. This parameter applies to all programming methods: individual word/byte write and block write modes. Второе предложение гласит: Этот параметр применяется ко всем методам программирования: индивидуальной записи слов/байт и режиму записи блока. Кроме того, в режими записи блока можно писать несколько блоков подряд. В этом случае Cumulative program time будет суммироваться или как? В документе SLAU049E MSP430x1xx Family User’s Guide смотрим параграф 5.3.3 Writing Flash Memory стр.5-8(138) на картинке разложено время записи слова/байта и значение tWord = 35/fFTG определяется флэшконтроллером и без разницы откуда была запущена подпрограмма записи.
 void FlashWriteSegment(uint8_t *dst, uint16_t *data)
{
unsigned int old_wdt;
  int index = 0;

  dst &= 0xFE00; 

  old_wdt = WDTCTL;                     
  WDTCTL = WDTPW + WDTHOLD;             
  __disable_interrupt();                
  FCTL3 = FWKEY;                      
  FCTL1 = FWKEY | WRT;                

  for(; index < 256; index++)
    *dst = *(data + index);         

  FCTL1 = FWKEY;                     
  FCTL3 = FWKEY | LOCK;              
  WDTCTL = WDTPW + ( old_wdt & 0x00ff );
  __enable_interrupt();              
}