书签 分享 收藏 举报 版权申诉 / 4
上传文档赚钱

类型[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] 第十五章.docx

  • 上传人(卖家):最好的沉淀
  • 文档编号:5716851
  • 上传时间:2023-05-05
  • 格式:DOCX
  • 页数:4
  • 大小:102.24KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] 第十五章.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式系统设计基于STM32F4 徐灵飞 习题解答 嵌入式系统设计基于STM32F4徐灵飞习题解答 第十五章 嵌入式 系统 设计 基于 STM32F4 习题 解答 第十五
    资源描述:

    1、嵌入式系统设计(基于STM32F429)第 15 章课后题参考答案1. SPI 多机通信时,主机怎么区别各个从机? 答:来自主机的片选信号用于选择从机,它通常是一个低电平有效信号,拉高时从机与 SPI 总线断开连接。当使用多个从机时,主机需要为每个从机提供单独的片选信号。2. 描述 CPOL 极性和 CPHA 相位的组合形式。答:根据 CPOL 位和 CPHA 位的选择,有 4 种SPI 模式可用。SPI 模式CPOL 位CPHA 位空闲时时钟极性采样/移位数据的时钟相位000低电平第一个边沿,数据在上升沿采样,在下降沿移出101低电平第二个边沿,数据在下降沿采样,在上升沿移出210高电平第一

    2、个边沿,数据在下降沿采样,在上升沿移出311高电平第二个边沿,数据在上升沿采样,在下降沿移出参考教材 15.1.3 小节。3. 根据 SPI 结构,描述 SPI 怎么实现读操作,并绘制相应的数据传输流图。答:根据 通信结构,MOSI、MISO、SPI 主机和 SPI 从机内部的数据寄存器构成一个数据串行传输的环路, 在时钟的控制下实现数据的环形传输。因此。SPI 主机读数据时,需要先写任意数据到SPI_DR 寄存器。操作流程如下:通过将SPE位置1来使能SPI将任意数据数据写入SPI_DR等待至RXNE=1,读取SPI_DR以获取接需要读取的数据4. 说明 SPI 接口 Flash 各个引脚的

    3、功能,以及Flash 怎么和 SPI 控制器连接。答:以 SPI 接口Flash W25Q16 为例。/CS:片选引脚,低电平有效。SPI 通信时片选信号一般使用GPIO 单独控制。DO:数据输出。/WP:写保护,低电平时只能读,高电平时可读写。GND:接地。DI:数据输入。CLK:时钟。/HOLD:数据暂停控制,低电平代表暂停,高电平工作,通常用于多个设备共享一个 SPI,如果只有一主一从,可以把这引脚接 VCC。VCC:2.73.6V。W25Q16 和 STM32F429 连接电路图如下所示:5. 尝试编写 SPI 主机的软件模拟程序,使用SPI 模式 2。答:在 SPI 模式 2 下,C

    4、POL=1,表示时钟的空闲状态为高电平。CPHA=0,数据在第一个边沿(下降沿) 采样,并且数据在接下来时钟信号的上升沿移出。假设 SPI 通信引脚对应关系如下:PF7SCK PF8MISOPF9MOSIPF6CS#define SCK_H GPIO_SetBits(GPIOF, GPIO_Pin_7) #define SCK _L GPIO_ResetBits (GPIOF, GPIO_Pin_7) #define MOSI_H GPIO_SetBits(GPIOF, GPIO_Pin_9) #define MOSI_L GPIO_ResetBits (GPIOF, GPIO_Pin_9)#

    5、define MISOGPIO_ReadInputDataBit (GPIOF, GPIO_Pin_8)#define CS_H GPIO_SetBits(GPIOF, GPIO_Pin_6) #define CS _L GPIO_ResetBits (GPIOF, GPIO_Pin_6)(1)SPI GPIO 引脚初始化void SPI_GPIO_Config(void)GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);/设置引脚复用/*! 配 置 SPI 引 脚

    6、 : SCK 、 MOSI 、 CS*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_9 ; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOF, &

    7、GPIO_InitStructure);/*! 配 置 SPI 引 脚 : MISO */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_Init(GPIOF, &GPIO_InitStructure);(2)SPI 模式 2 通信函数uint8_t SOFT_SPI_RW_MODE2(uint8_t byte)uint8_t i,Temp=0;CS _L; /使能 SPI 通信for(i=0;i8;i+)/ 循环 8 次if(byte&0x80)elseM

    8、OSI_H; /若最到位为高,则输出高MOSI_L;/若最到位为低,则输出低byte = 1;/ 低一位移位到最高位delay_us(1);SCK_L;/拉低时钟Temp 擦除 - 烧写。8. 编写程序,向 W25Q16 连续写 100 个字节数据,写入开始地址为 0x03。答:参考教材 15.4 小节中 SPI Flash 常用操作函数 中的 Flash 任意写函数。/* brief 对 FLASH 写入数据,调用本函数写入数据前需要先擦除扇区* parampBuffer,要写入数据的指针* param WriteAddr,写入地址* param Num,写入数据长度* retval 无*/void SPI_Flash_Write(u8* pBuffer, u32 WriteAddr, u16 Num)。pBuffer:假设数据存储在数组 u8 Data_Buff100 WriteAddr:0x03Num:100功能实现函数:SPI_Flash_Write(Data_Buff, 0x03, 100);

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] 第十五章.docx
    链接地址:https://www.163wenku.com/p-5716851.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库