本章介绍430F169的FLASH操作以及特性
建议点击下方链接根据官方手册进行程序书写
废话不多说冲!!!
什么是FLASH 简单来说就像是储物间,你的代码就是物品存储在里面,用到那个代码时取出来用再放回去!
1 430F169 具有60KB主存和256B闪存和2KB RAM
相对于其他的单片机来说是比较大的存储空间了
2 注意事项
(敲黑板)
在进行FLASH操作的时候必须保证电压在2.7V以上时钟频率在257~476KHZ之间,不然会出现意想不到的错误
3 FLASH的写入和擦除
(敲黑板)
430F169这款芯片只支持段擦除或者块擦除(擦除主存段)或者全部擦除(主存加闪存)。
选择WRT或者BLKWRT选择是字/字节或者段写入
从RAM写入FLASH流程如下(*字写入*)
<1>关闭所有中断和看门狗(一般情况下关门狗默认关闭)
<2>通过BUSY判断FLASH是否忙碌
<3>设置FLASH控制寄存器 设置字写入(可以理解为解锁)
<4>写入数据
<5>设置控制寄存器(上锁)开启中断
从RAM写入FLASH流程如下(块写入)
<1>关闭中断和看门狗定时器
<2>判断是否忙碌
<3>设置FLASH控制寄存器
<4>设置块写入还是段写入
<5>是否等待
<6>是否忙碌
<7>是否写入其他快
<8>打开中断
4 停止操作FLASH
任何关于FLASH的读写操作可设置EMEX位来停止
5 4KB的FLASH例子如图
5 FLASH寄存器
<1>FCTL1,FLASH控制寄存器1(主要用来选择块写入或者字写入,擦除的方式)
<2>FCTL2,FLASH控制寄存器2(选择FLASH时钟和分频比)
<3>FCTL3,FLASH控制寄存器3(上锁,等待,忙碌)