今天讲解“STM32F103 SPI读写Flash”,其实这第一阶段主要是讲解STM32的SPI功能,所有今天的重点是SPI,关于FLASH我应该要在后面再次讲述。
今天提供并讲解的软件工程,基于软件工程“A0.0.0(STM32F10x_TIM延时)”修改而来。若不知道如何而来,请关注微信公众号“EmbeddDeveloper”获取更多信息。
本着免费分享的原则,将讲解的工程源代码分享给大家,还望看到的朋友关注和推广一下微信公众号,增加一下人气。
每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。
今天的软件工程下载地址(360云盘):
https://yunpan.cn/cPzhMXjRPbWzc 访问密码 032f
STM32F10x的资料可以在我360云盘下载:
https://yunpan.cn/crBUdUGdYKam2 访问密码 ca90
关于“STM32F103 SPI读写Flash” 我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。
一、RCC时钟配置
该函数位于在bsp.c文件下面;
使能RCC时钟:RCC_APB2Periph_SPI1
二、引脚配置
该函数位于在spi.c文件下面;
这里是对SPI所使用引脚进行配置。
注意:
SPI作为主机,我们使用硬件SPI时,通常只使用SCK, MOSI, MISO三个引脚,片选CS需要单独配置,所以这里配置CS需要和器件对应才行。
三、SPI配置
该函数位于在spi.c文件下面;
对SPI进行配置。
配置的每一条语句都有注释,请看源代码.
这里配置的都比较基础的,后续我会讲解复杂一点的配置(前期第一阶段定位在初级,所以,如果你想了解更高级的功能,请持续关注我的微信公众号)。
四、SPI读写字节
该函数位于在spi.c文件下面;
外设操作SPI时就需要调用这个函数。
五、主函数应用
该函数位于在main.c文件下面;
这里是通过SPI操作FLASH读写数据,但今天主要是测试SPI通信是否正常,所以关于FLASH的函数今天就不在这里讲解,感兴趣的朋友可以研究一下,经过我大量测试,sflash.c文件的接口可以正常使用。
可以看到现象:间隔500ms,LED变化,串口打印出读出flash的数据。
六、今天的重点提示
SPI的对应从机基本上都有片选信号,所以这里要对应起来;还有SPI可作为从机使用,后续我会讲解。
下载方式:长按网站 ->选择复制
->打开
或者复制网站在电脑上下载也可。
想掌握更多精彩内容,请关注我的微信公众号。
微信搜索“EmbeddDeveloper”, 或扫描下面二维码关注