stm8s10X的SPI硬件通讯配置

发布者:神雕最新更新时间:2017-11-04 来源: eefocus关键字:stm8s10X  SPI  硬件通讯 手机看文章 扫描二维码
随时随地手机看文章

前期:

1.打开外设时钟前期(打开外设时钟设时钟均处于开的状态。用户可通过清除CLK_PCKENR1或CLK_PCKENR2中PCKEN位来关闭相应的外设时钟。但是在关闭外设的时钟前,用户必须设置相应的位禁用该外设。为了使能一个外设,用户必须先设置寄存器CLK_PCKENR中对应的PCKEN位,然后设置外设控制寄存器中的外设使能位。) SPI对应的标号时PCKEN11 

2.Alternate function output: SPI outputs must be set-up as push-pull. 

3.复用功能的输出:复用输出功能为外设输出到外部或者I/O引脚提供一个方便的操作方法。当复用功能使能时,复用功能模块接管了输出锁存寄存器(Px_ODR)并强制Px_ODR相应的位为1。复用输出功能可以是上拉或者开漏输出,取决于外设本身和控制寄存器1(Px_CR1),输出摆率取决于控制寄存器2 (Px_CR2)的值。

例如:

考虑到要达到最佳性能,SPI输出引脚必须设置为上拉,快速摆率。

配置步骤

1. 通过SPI_CR1寄存器的BR[2:0]位定义串行时钟波特率

2. 选择CPOL和CPHA位,定义数据传输和串行时钟间的相位关系(改变CPOL/CPHA位之前,必须清除SPE位将SPI禁止)

3. 配置SPI_CR1寄存器的LSBFIRST位定义帧格式。

 

4. 硬件模式下,应把NSS脚连接到高电平;软件模式下,SPI_CR2寄存器的SSM和SSI位为‘1’

5. 必须设置MSTR和SPE位

/********开时钟************************************/

 CLK->PCKENR1 =  CLK->PCKENR1|0x10;  

/********将所有与spi相关寄存器置0**************/

void SPI_DeInit(void)

{

    SPI->CR1    = SPI_CR1_RESET_VALUE;

    SPI->CR2    = SPI_CR2_RESET_VALUE;

    SPI->ICR    = SPI_ICR_RESET_VALUE;

    SPI->SR     = SPI_SR_RESET_VALUE;

    SPI->CRCPR  = SPI_CRCPR_RESET_VALUE;

}

/********spi配置函数***************************/

void SPI_Init(SPI_FirstBit_TypeDef FirstBit, SPI_BaudRatePrescaler_TypeDef BaudRatePrescaler, SPI_Mode_TypeDef Mode, SPI_ClockPolarity_TypeDef ClockPolarity, SPI_ClockPhase_TypeDef ClockPhase, SPI_DataDirection_TypeDef Data_Direction, SPI_NSS_TypeDef Slave_Management, uint8_t CRCPolynomial)

/********使能spi*******************************/

void SPI_Cmd(FunctionalState NewState)

就此spi就配置好了


关键字:stm8s10X  SPI  硬件通讯 引用地址:stm8s10X的SPI硬件通讯配置

上一篇:MSP430 PIN 操作寄存器
下一篇:MSP430F2370(三)UART串口通讯说明与实现

推荐阅读最新更新时间:2024-03-16 15:43

stm32专题十八:详细分析SPI FLASH
这里使用的SPI FLASH型号为W25Q64,是一种NOR FLASH。容量为64M bit = 8M Byte(8M 字节),而AT24C02 EEPROM才只有256字节,存储容量简直不是一个量级,这个FLASH和stm32内部的FLASH性质一样,适合存储语音、文本和数据。 W25Q64BV阵列分为32,768个可编程页面,每页256字节。 一次最多可编程256个字节。 可以以16个组(4KB扇区擦除),128个组(32KB块擦除),256个组(64KB块擦除)或整个芯片(芯片擦除)的组擦除页面。 W25Q64BV分别具有2,048个可擦除扇区和128个可擦除块。 小的4KB扇区允许在需要数据和参数存储的应用中具有更大
[单片机]
stm32专题十八:详细分析<font color='red'>SPI</font> FLASH
基于SPI总线的电能计量芯片ATT7022及其在配电监测终端的应用
摘要:介绍了高精度电能计量芯片ATT7022的主要功能、性能比较、内部结构、接口方式及校表方法等,同时对ATT7022在电能配电监控终端的应用作了简要阐述。 关键词:SPI总线 ATT7022 电能计量 W77E58 配电监控终端 1 概述 ATT7022是珠海炬力集成电路设计有限公司生产的一款高精度三相电能计量芯片,该芯片对有功、无功功率的测量精度分别达到0.2s和0.5s,所能测量的电参数包括有功、无功、视在功率、双向有功和四角限无功电能;电压和电流有效值;相位、频率等。ATT7022具有计量参数齐全、校表功率完善等优点,简化了软件设计,缩短了软件开发周期。特别是AT7022可支持全数字校表,即软件校表。软件校表可提高
[电源管理]
STM32F10x_SPI硬件接口 + 软件模拟)读写Flash(25Q16)
Ⅰ、写在前面 SPI(Serial Perripheral Interface)串行外设通信接口,主要实现设备(主从)之间的通信。硬件上由CS、SCK、MISO、MOSI四根通信线连接而成。关于SPI更多介绍不再详细描述,本文主要以STM32F103为主机、W25Q16为从机进行SPI通信实验。 本文将提供STM32硬件SPI、软件模拟SPI两实例工程代码供大家参考、掌握两种方式的区别。 STM32硬件SPI:控制简单、运行效率高、使用方便等。 软件模拟SPI:移植性强,只需要简单修改接口,就能在其他MCU芯片(如:51、430等)上使用。 实例实验效果: 两个实例SPI通信控制方式不一样,但实验效果是一样的。 W2
[单片机]
STM32F10x_<font color='red'>SPI</font>(<font color='red'>硬件</font>接口 + 软件模拟)读写Flash(25Q16)
通过底层AVR方法实现SPI数据传输
主机端: 1 /********************************* 2 代码功能:通过底层AVR方法实现SPI数据传输(主机端) 3 创作时间:2016*10*17 4 使用资源: 5 更低阶的 aTmega(AVR) 库 6 SPI三个寄存器SPCR(控制寄存器),SPCR(状态寄存器),SPDR(数据的暂存器) 7 SPCR(SPI Control Register暂存寄存器) 8 7bit SPIE 片选使能,SPIE = 1;片选无效,SPIE = 0片选有效(主机无需片选)(单机通信也无需片选) 9 6bit SPE 10
[单片机]
单片机SPI通信中数据流的同步问题研究
SPI 是串行外设接口(Serial Peripheral Interface)的缩写,通常称为“同步外设接口”,是由Motorola公司开发的全双工同步串行总线。该总线大量用在微处理器及其外设器件的通信中。与SPI有关的软件设计比较简单,使CPU有更多的时间处理其他事务。现在,越来越多的单片机带有SPI,采用SPI的外围芯片也与日俱增。采用SPI通信可以简化电路设计,提高电路可靠性,降低系统成本。 1 SPI通信的基本方式 SPI通信总线定义了以下4个接口信号。 ◇ SIMO: 从入/主出。 ◇ SOMI: 从出/主入。 ◇ SCK: 串行时钟。 ◇ SS: 从属选择(在有些芯片中定义为STE信号)。
[单片机]
单片机<font color='red'>SPI</font>通信中数据流的同步问题研究
理解ATE SPI (串行外设接口)
理解ATE SPI (串行外设接口) 大多数Maxim® ATE设计都采用了一个串行接口,以便从外部控制器件。这种串行接口正在成为一种重要且非常有用的功能,但也可能是较难理解的部分之一。本应用笔记介绍了Maxim ATE SPI™接口,并阐述了系统架构设计方法。从时序图可以看出如何对该接口进行编程。 串行外设接口(SPI)的基础 SPI是一种同步数据链路协议,其构想最初由Motorola®提出。按照主/从模式进行通信,其中主控设备启动与一个或多个从设备之间的通信,在器件之间交换数据。SPI接口已经演化出了许多不同结构,但它们都采用公用的一组控制信号和输出。最简单的方法是基于移位寄存器的3线设计,如 图1 所示。信号
[模拟电子]
理解ATE <font color='red'>SPI</font> (串行外设接口)
兆易创新高速8通道SPI NOR Flash斩获“中国芯”创新产品奖
业界领先的半导体器件供应商兆易创新GigaDevice(股票代码 603986)宣布,其旗下全新一代高速8通道SPI NOR Flash---GD25LX256E荣获中国电子信息产业发展研究院颁发的2019年第十四届“中国芯”优秀技术创新产品奖。 “中国芯”奖项是目前国内最具权威性与影响力的奖项之一,本届共有125家芯片企业、累计187款芯片产品参与报名,基本涵盖国内最具实力的集成电路企业和最具代表性的产品,是国内集成电路产品和技术发展的风向标和大检阅。此次SPI NOR Flash产品 GD25LX256E获得“中国芯”优秀技术创新产品奖,填补目前中国国内集成电路产业关键技术领域空白,并具备了明显的进口替代能力,这也恰
[嵌入式]
兆易创新高速8通道<font color='red'>SPI</font> NOR Flash斩获“中国芯”创新产品奖
STM8 SPI 例程 通信出错
这个STM8的SPI通信也够奇葩的,跟STM32有大区别。光判断发送空和接收空的标志还不行,还必须判断忙标志位,而且读数的时候要等忙标志完毕才能读,废话少说上代码: 这是一段发2字节收2字节的代码,注意如果第二个字节接收才有效的话,也需要发送第二个字节才能提供时钟进行接收: GPIO_WriteLow(GPIOA, GPIO_PIN_3); while (SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET){} SPI_SendData(0x80 | 0x75); while(SPI_GetFlagStatus(SPI_FLAG_BSY) == SET){}
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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