3 月19 日 M25P80 的模拟SPI 总线读写程序 欢迎转载,但请注明出处与作者
MCU:MSP430
存储器:M25P80(SPI 总线) 虽然MSP430 本身自带SPI 总线模块
但下面的程序并没有用此
而是用普通I/O 模拟总线时序进行操作的
详细代码如下: 在调试时,犯了超级无敌白痴错误
我竟然把FLASHRAM 编程写入只能有1 变0,不能从0 到1,结果在调式的时候不断的向首地址写数,然后都给变成0,接下来回读数据全0,当时还以为是自己的时序没搞定呢
无意间换了个地址重写重读,数据正常
/于是乎"天才的"我认为是首地址已经被我写坏(调试的时候不停的循环写入)
接着我象改变的地址重新写一个新数,读出比较,发现数据还是不对
才想起 FLASH RAM 的这个特点,不象 E2RAM 可以随改随写
FLASH 要先擦除再写
切记 /********************************************************************* *公司名称: * *模 块 名: SPI 总线FLASHRAM 读写模块 * *创 建 人: 日期: * *修 改 人: 日期: * *功能描述: * *其他说明: * *版 本:VER 1
0 **********************************************************************/ #define M25_CLK_0 P4OUT&=~ BIT2 // 时钟置 0 #define M25_CLK_1 P4OUT|=BIT2 //时钟置 1 #define M25_SI_0 P4OUT&=~ BIT3 //输入0,上升沿写数据 #define M25_SI_1 P4OUT|=BIT3 //输入1 #define M25_SO (