最近在写FLASH驱动,遇到如下问题,诚心请教,jelline@126.com
(1)时钟频率
FLASH时序控制发生器频率要求在 257~476kHz,我选择MCLK作为时钟,而MCLK默认是由DCOCLK产生,查得数据手册,默认时钟频率为0.8MHz ~ 1.5MHz(没给出典型值,用户指南说是~1.1MHz)。如此,我选择3分频,正好在257~476kHz范围内,但调试写入不成功。换成是2分频,则写入成功,但擦除不成功。请问我错在哪?
- FCTL2 = FWKEY + FSSEL_1 + FN1
PS:我的版子就是团购的那个MSP-EXP430G2 LaunchPad,MCU是G2231。
(2)为何FCTL3总是0x96
我调试,执行完语句FCTL3 = FWKEY;按理说FCTL3高8位应该是0xA5了,为何还是0x96?
(3)需要测试BUSY
擦除的时候,*addr = 0;之后,需要测试BUSY位吗?while(FCTL3 & BUSY);。
我看用户指南,没这样做,网上用些例子这样做了。
谢谢各位看官!烦请指点!