что-то странное при записи в INFO камушек F149 (на 133 все то же), при выполнении следующего кода (находится в составе большого проекта)
__disable_interrupt();
erase_flash(0x1000);
unsigned int addr;
unsigned char i;
for (i = 0; i < 255; i++)
{
addr = 0x1000 + i;
write_flash_b(addr, i);
}
__enable_interrupt();
void write_flash_b(unsigned int addr, unsigned char data)
{
FCTL3 = FWKEY; // Clear LOCK
FCTL1 = FWKEY + WRT; // Enable write
*(unsigned char*)addr = data; // Write data
FCTL1 = FWKEY; // Done. Clear WRT
FCTL3 = FWKEY + LOCK; // Set LOCK
}
получаем в INFO не то что ожидали (см. картинку), причем если в структуре поменять на dat[5] то в INFO будут записано еще 2 байта больше - 0x12, 0x13
struct t_MySystem
{
unsigned char Device_Address[4];
unsigned int wakeup_period;
unsigned char config_done;
unsigned char dat[3];
};
кстати, если после кода
__enable_interrupt(); поставить точку останова или шагать то все INFO пишется правильно !!!
где копать-то ?