当前位置: 首页 > news >正文

做网站建设的企业还有那些广州 竞价托管

做网站建设的企业还有那些,广州 竞价托管,做视频上传到网站怎么赚钱,wordpress过滤评论插件摘要 随着嵌入式系统对存储需求的增长,选择合适的存储设备变得尤为重要。W25Q64 Flash存储器以其8Mbit的存储容量和SPI接口的便捷性,成为STM32微控制器项目中的优选存储方案。本文将深入探索STM32的SPI功能,提供W25Q64 Flash存储器的全面集成…

摘要

随着嵌入式系统对存储需求的增长,选择合适的存储设备变得尤为重要。W25Q64 Flash存储器以其8Mbit的存储容量和SPI接口的便捷性,成为STM32微控制器项目中的优选存储方案。本文将深入探索STM32的SPI功能,提供W25Q64 Flash存储器的全面集成指南,包括硬件配置、SPI接口编程和实际代码示例。

1. SPI通信基础

SPI是一种同步串行通信协议,广泛应用于微控制器与外设间的通信。主要特性包括:

  • 主从模式:一个主设备控制多个从设备。
  • 全双工通信:同时发送和接收数据。
  • 时钟同步:数据传输由主设备时钟信号同步。

2. W25Q64 Flash存储器特性

W25Q64是一款串行Flash存储器,具备以下特性:

  • 容量:8Mbit,即1M字节。
  • 组织:分为128个扇区,每扇区含16页,每页256字节。
  • 擦写次数:高达100万次。
  • 工作电压:2.7V至3.6V。

3. 硬件连接

W25Q64与STM32的硬件连接包括:

  • CS(片选)接至STM32 GPIO(如PA4)。
  • SCK(时钟)接至STM32 SPI时钟引脚(如PA5)。
  • MOSI(主设备数据输出)接至STM32 SPI MOSI引脚(如PA7)。
  • MISO(主设备数据输入)接至STM32 SPI MISO引脚(如PA6)。
  • VCC接3.3V,GND接地。

4. SPI接口配置

4.1 硬件SPI初始化

硬件SPI初始化代码示例:

void SPI_Hardware_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;SPI_InitTypeDef SPI_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB1Periph_SPI1, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;SPI_InitStructure.SPI_Mode = SPI_Mode_Master;SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;SPI_Init(SPI1, &SPI_InitStructure);SPI_Cmd(SPI1, ENABLE);
}
4.2 W25Q64初始化

W25Q64初始化涉及SPI初始化和芯片特定设置。

void W25Q64_Init(void) {SPI_Hardware_Init();// 发送W25Q64的复位指令(如果需要)
}

5. W25Q64 Flash存储器操作

5.1 读取W25Q64 ID

读取ID用于验证W25Q64芯片。

uint16_t W25Q64_ReadID(void) {uint16_t id = 0;SPI_CS_Low();SPI_SendByte(0x90); // READ ID COMMANDid = SPI_ReceiveByte() << 8;id |= SPI_ReceiveByte();SPI_CS_High();return id;
}
5.2 写入W25Q64

页编程是W25Q64写入数据的基本操作。

void W25Q64_WriteByte(uint32_t addr, uint8_t data) {SPI_CS_Low();SPI_SendByte(0x02); // PAGE PROGRAM COMMANDSPI_SendByte(addr >> 16);SPI_SendByte(addr >> 8);SPI_SendByte(addr);SPI_SendByte(data);SPI_CS_High();// 等待写入完成...
}
5.3 从W25Q64读取数据

读取数据操作允许从指定地址读取信息。

uint8_t W25Q64_ReadByte(uint32_t addr) {uint8_t data;SPI_CS_Low();SPI_SendByte(0x03); // READ DATA COMMANDSPI_SendByte(addr >> 16);SPI_SendByte(addr >> 8);SPI_SendByte(addr);data = SPI_ReceiveByte();SPI_CS_High();return data;
}

6. 完整示例代码

以下是STM32与W25Q64通信的完整示例代码。

int main(void) {SystemInit();W25Q64_Init();uint16_t id = W25Q64_ReadID();printf("W25Q64 ID: 0x%X\r\n", id);uint32_t testAddr = 0x000000; // 测试地址uint8_t testData = 0xAA; // 测试数据W25Q64_WriteByte(testAddr, testData); // 写入数据// 延迟一段时间,等待数据写入完成for (volatile int i = 0; i < 0x100000; i++);uint8_t readData = W25Q64_ReadByte(testAddr); // 读取数据if (readData == testData) {printf("Write and Read Test Passed.\r\n");} else {printf("Write and Read Test Failed.\r\n");}while(1) {// 其他应用代码}
}

7. 结论

本文深入探索了STM32的SPI功能,并提供了W25Q64 Flash存储器的全攻略。从SPI通信的基础到W25Q64的特性,再到具体的硬件连接和SPI接口编程,本文为读者提供了全面的集成方案。示例代码进一步演示了如何在实际项目中应用这些知识,帮助读者深入理解和掌握SPI通信技术。

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进

❤欢迎关注我的知乎:对error视而不见

代码获取、问题探讨及文章转载可私信。

☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。

🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!👇

点击领取更多详细资料

http://www.hkea.cn/news/379974/

相关文章:

  • 为什么上不了建设银行个人网站漳州网络推广
  • 天津手机网站建站培训代运营公司可靠吗
  • 网站制作的一般步骤长春网站优化平台
  • Python做网站 性能上海seo培训中心
  • 网上投诉平台公众号排名优化
  • 网页模板网站推荐媒体公关是做什么的
  • 泰安的网站建设公司爱站网域名查询
  • 台州椒江网站制作公司广告推销
  • 南康做网站合肥seo招聘
  • 成都网站建设定长沙专业网站制作
  • 有什么网站是python做的如何自己开发一个平台
  • 网站建设标志设计北京网站优化公司
  • 图标使用wordpress杭州seo博客
  • 企业网站如何做推广竞价推广托管公司介绍
  • 网站如何做微信登录seo公司 杭州
  • 中山里水网站建设软文广告案例分析
  • 做外贸是用什么网站做新型网络营销方式
  • 心理咨询网站开发百度手机seo软件
  • 17网站一起做网批seo营销优化
  • 做赚钱网站程序员培训班要多少钱
  • 已经收录大规模修改收录页面对网站有影响吗什么软件可以推广自己的产品
  • 丁香园做科室网站厦门网络推广
  • 免费的企业网站制作提高网站权重的方法
  • 兰州网站制作怎么样网页在线生成
  • 自建网站网址雅虎搜索引擎首页
  • 注册科技有限公司可以做网站吗百度搜索排名机制
  • 武汉做网站好网站制作多少钱一个
  • 安阳网站建设怎么从网上找客户
  • 文章博客媒体网站模板怎样在百度上打广告
  • 做网站是不是要模板直接打开百度