STM32 SPI硬件模式

最新更新时间:2022-02-21来源: eefocus关键字:STM32  SPI 手机看文章 扫描二维码
随时随地手机看文章

反复试验,发现SPI_NSS引脚的自动硬件控制与想象的不同,无论是否外加上拉,只要一使能SPI,SPI_Cmd(SPI1, ENABLE); SPI_NSS引脚就一直处于低电平,直到SPI_Cmd(SPI1, DISABLE);这个需要用程序来控制。  而用过其他芯片则是发送完成自动会拉高,这点是要注意的

我说的就是做主机的时候

SPI_SSOutputCmd(SPIx,ENABLE) 在soft模式时这句话有必要吗?我的理解是当hard模式,需要multimaster的时候,才应该要开启这个output功能,这点从我的截图上可以看出。


我觉得,这里只要把SPI_InitStructure.SPI_NSS = SPI_NSS_Soft 写上,然后把对应的IO管脚设置成输出,再用GPIO_ResetBits去拉低选择slave,通信结束后再用GPIO_SetBits去拉高告诉slave通信结束就可以了,和SPI_SSOutputCmd(SPIx,ENABLE)没有关系。

关键字:STM32  SPI 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic563324.html

上一篇:f4 外部中断的例子同f1略有不同
下一篇:STM32F4之ADC1【库函数操作】

推荐阅读

STM32中 一些类型的别名
typedef signed char int8_t;typedef signed short int int16_t;typedef signed int int32_t;typedef signed __INT64 int64_t; /* exact-width unsigned integer types */typedef unsigned char uint8_t;typedef unsigned short int uint16_t;typedef int uint32_t;typedef unsigned __INT64 uint64_t; /* 7.18.1.2 */ /* smal
发表于 2022-09-29
STM32+超声波
1.初始化IO口void HC_SR04Init(void){GPIO_InitTypeDef GPIOInit;TIM_TimeBaseInitTypeDef TIMInit; NVIC_InitTypeDef NVICInit;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); //负责发送高电平PB11GPIOInit.GPIO_Mode = GPIO_Mode_Out_PP
发表于 2022-09-28
STM32+AS608指纹模块
前言:这个串口逻辑有点问题,要是用串口做命令输入端的话要自己改一下串口逻辑,串口只是调试能不能用指纹模块的功能,后期不需要串口发命令所以没怎么写串口的命令逻辑1.AS608的资料挺全的,就是按照他给的来写命令,基本上看懂会用就行,没必要一个个写太多了2.AS608.c#include <string.h>#include "system.h" #include "usart2.h"#include "as608.h"u32 AS608Addr = 0XFFFFFFFF; //默认//初始化PA6为下拉输入 //读摸出感应状态(触摸感应时输出高电平信号)voi
发表于 2022-09-28
STM32+AS608指纹模块
STM32固件库使用USART
1.USART的配置(1)关键结构体GPIO_InitTypeDefUSART_InitTypeDefNVIC_InitTypeDef//用于接收的中断1.1USART的TX在PA9,RX在PA10.2.时钟线2.1 USART时钟挂载在APB2上RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//配时钟3.代码段3.1(单发送)void usart_init(void){ GPIO_InitTypeDef gpio_initStructure; USART_Init
发表于 2022-09-28
STM32外设之GPIO
一、GPIO是什么?全称:General-purpose input/output(通用型输入输出)操作要点:1. 使能 GPIO 端口时钟。2. 初始化 GPIO 目标引脚为推挽输出模式。3. 编写简单测试程序,控制 GPIO 引脚输出高、低电平。二、使用步骤1.GPIO功能与模式1.输入浮空 :输入模式施密特触发器打开及GPIO端口内部上下拉开关打开, 并且状态不确定。2.输入上拉:输入模式施密特触发器打开及GPIO端口内部上拉开关关闭,默认为高电平。3.输入下拉 :输入模式施密特触发器打开及GPIO端口内部下拉开关关闭,默认为低电平。4.模拟输入 : 模拟输入施密特触发器关闭─,输入数据寄存器禁止,实现模拟信号采集。5.开漏输
发表于 2022-09-27
<font color='red'>STM32</font>外设之GPIO
STM32外设之ADC
一、ADC是什么?ADC,Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。那么就有人要问了,什么是模拟信号,什么是数字信号。模拟信号:指的是连续变化的物理量,如温度,压力,湿度。而数字信号可以简单的理解为0和1两种状态。12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部 信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右 对齐方式存储在16位数据寄存器中二、ADC的基本使用1.ADC的主要特征●12位分辨率 //0-4095● 转换结束、注入转换结束和发
发表于 2022-09-27
<font color='red'>STM32</font>外设之ADC
小广播
设计资源 培训 开发板 精华推荐

何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved