尊敬的专家:
我们将在离线 LED 调光器应用中使用 MSP430G2553。 在此代码中、我们将使用闪存写入和读取操作来保存开/关状态和调光级别。
当我们执行闪存写入操作时、我们观察到灯在闪烁。 我们观察到在运行期间缺失了其中一个交流电压周期+ve/-ve。
根据我们的观察,闪存写入操作似乎花费了更多的时间(~>10毫秒)。 因此我们在控制中错过了调光周期。
闪存写入操作所需的最长时间是多少? 我们有没有机会减少这个时间?
以下代码用于闪存写入操作。
*****
void save_dimlevel (无符号字符级别)
{
// TRANSMIT_Char ('s');
//转换(dim_level);
_BIC_SR_register (GIE);
unsigned char * Flash_ptr;//闪存指针
Flash_ptr =(unsigned char *) 0x1030;//初始化闪存指针
FCTL3 = FWKEY;//清除锁定位
FCTL1 = FWKEY + ERASE;//设置擦除位
* Flash_ptr = 0;//虚拟写入以擦除闪存段
FCTL1 = FWKEY + WRT;//为写入操作设置 WRT 位
* Flash_ptr =级别;//将值写入闪存
FCTL1 = FWKEY;//清除 WRT 位
FCTL3 = FWKEY + LOCK;//设置 LOCK 位
__ bis_SR_register (GIE);
}
****
请提供解决负载闪烁问题的解决方案。