你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

采用stm32cubemx进行SPI设置的方法  

[复制链接]
feiante 发布时间:2015-1-13 16:35
试验目的:芯片采用F0芯片,通过配置SPI1完成W25X16的读写。片选CS为PA1,SCK为PB3,MISO为PB4,MOSI为PB5
具体配置:
捕获.JPG
捕获.JPG
由于没有使用中断和DMA,所以中断配置不选。
捕获.JPG
程序分析:
首先要读取W25X16的ID号,需要发送0x90,加2个伪数据+0x00。同时由于ID号为2个8位数据构成,并且ST的F0芯片的SPI是要读取时需要先写,所以定义
uint8_t Data1[4] = {0x90,0x00,0x00,0x00}
uint8_t Data2[2]= {0x00,0x00}
uint8_t Rxdata[2];

然后主程序中使能SPI端口:HAL_SPI_MspInit(&hspi1);
最后就是读取ID命令了,如下图
捕获.JPG
此时Rxdata=0xEF14,这个就是W25X16的ID号。
读取ID正确了,剩下的就是对Flash的操作了。




收藏 3 评论27 发布时间:2015-1-13 16:35

举报

27个回答
沐紫 回答时间:2015-1-13 16:47:47
谢谢
dsjsjf 回答时间:2015-1-14 11:40:28
我是这样做的:

unsigned char Data[6] = {0x90,0x00,0x00,0x00,0x00,0x00};
....
HAL_SPI_TransmitReceive(&hspi3, Data, Data, 6, 1000);
....
这样Data的后两个字节就是器件的ID号
lkl0305 回答时间:2015-1-14 13:10:54
学习哈!
为它停留 回答时间:2015-1-29 18:00:41
哥们,按你的方法我的还是ID都为0,可以把你的工程分享一下吗?我的邮箱1305886705@qq.com
zfz0122 回答时间:2015-1-29 18:44:38
学习了 1.png 1.png
宛仔 回答时间:2015-1-29 19:01:45
cube确实很方便,期待中文的cube库函数说明。
拼命三郎 回答时间:2015-1-30 08:17:46
stm32.jpg
ataudio 回答时间:2015-1-30 09:31:35
好帖,谢谢分享。

二十四节气~大雪

二十四节气~大雪
feiante 回答时间:2015-1-30 11:15:45
为它停留 发表于 2015-1-29 18:00
哥们,按你的方法我的还是ID都为0,可以把你的工程分享一下吗?我的邮箱

一般不应该是0,如果读不到,应该是FF
123下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版