4198|0

55

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【F7-2015】03.SPI的使用 [复制链接]

本帖最后由 为半导而生 于 2015-12-10 22:23 编辑

一、实验目的
学习使用STM32F7SPI,为血氧测试驱动提供支持。
二、开发工具
STM32CUBEMX
KEIL V5
三、开发步骤
1.STM32F7的时钟初始化(本小组按照nemo1991方式进行系统初始化)
STM32的时钟系统相对复杂,可以使用多种时钟源,同时可以选择锁相环、倍频分频系数等,同时不同的外设总线可以设置相应的时钟频率。
本次实验中,我们使用内部时钟作为时钟源。
首先,打开STM32CUBEMX(下文简称CUBE),选择新建工程。之后选择MCU的型号,DIS板子上的芯片型号是STM32F746NGH,点击OK。此时即可完成工程的基本创建。
之后选择clock configuration进行时钟配置。几个要点:使用HSIRC内部16M时钟作为时钟源;使用PLL,设置分频倍频系数,使得PLL输出为200M(事实上F7的最高时钟频率官方设置为216M);之后合理设置分频系数给HCLK和后续外设及总线使用。
至此,完成时钟初始化。
2.SPI引脚选择
对于F7的板子,可以引出来的管脚只有Arduino兼容的部分管脚。引脚中包含SPI,这里,对应在F7上的引脚如图1所示。此时使用的SPI模块为模块2
3.SPI引脚设置
本次设计中,SPI2对应的三个引脚为PB14PB15PI1。使用SPI复用功能下,IO应该设置为高速模式,上拉等无特殊要求。具体设置如图2所示。
4.SPI功能设置
我们使用的模拟前端为AFE4400,查看其SPI通信要求,按照该要求可以设计出符合要求的规约。最终设置的SPI模式中,波特率为25MCPOLlowCPHA1Edge模式。其中SPI使能管脚为软件控制。具体设置如图3所示。
5.SPI在设计中的功能说明
本次设计中,通过SPIAFE进行通讯。
这里展示一个典型的通讯过程,即通过SPIAFE写入数据。
  1. void AFE44x0_Reg_Write (unsigned char reg_address, unsigned long data)
  2. {
  3.         SpiSTE_L;
  4.         spi_xmit(reg_address);
  5.         spi_xmit((unsigned char)(data >>16));
  6.         spi_xmit((unsigned char)(((data & 0x00FFFF) >>8)));
  7.         spi_xmit((unsigned char)(((data & 0x0000FF))));
  8.         SpiSTE_H;

  9. }
复制代码

此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表