收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
// 读取 ID 测试 OK 0xEF 0X17
void read_W25Q128_ID()
{
uint8_t _RxData[2]={0x00};
W25Q128_Enable();
//发送指令
spi2_Transmit_one_byte(0x90);
spi2_Transmit_one_byte(0x00);
spi2_Transmit_one_byte(0x00);
spi2_Transmit_one_byte(0x00);
//接收数据
_RxData[0] = spi2_Receive_one_byte();
_RxData[1] = spi2_Receive_one_byte();
W25Q128_Disable();
printf("%s\r\n",_RxData); //串口打印 ID
}
2、读、写、擦除操作
读、写、擦除操作的24位地址取值范围是0-16777216,因为读可以从指定地址一直读到最后,而写,一次最多写一页,擦除的最小单位为一个扇区4096个字即16页,当然也可以一不做二不休整个芯片擦除,这个擦除时间比较长十几秒,因为是自学,所以总得做点什么。比如:
1、写10个数,卡在第一页和第二页之间,即第一页写5个数第二页写5个数。
2、写10个数,卡在第一个扇区和第二个扇区之间,即第255页写5个数第256页写5个 数。
**问题点:**第一个问题,就要考虑翻页写的问题,第二个问题就要考虑擦除两个扇区和翻页写的问题。
解决思路: