STM8S学习01——SPI&IIC

2019-09-16来源: eefocus关键字:STM8S  SPI  IIC

1、温习IIC总线协议

1)I2C 总线的一些特征

1> 只要求两条总线线路 一条串行数据线 SDA 一条串行时钟线 SCL

2> 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机 从机关系软件设定地址 主机可以作为主机发送器或主机接收器

3> 它是一个真正的多主机总线 如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁,防止数据被破坏

4> 串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s 快速模式下可达 400kbit/s 高速模式下可达 3。4Mbit/s

5> 片上的滤波器可以滤去总线数据线上的毛刺波 保证数据完整

6> 连接到相同总线的 IC 数量只受到总线的最大电容 400pF 限制



2)起始和停止条件

1> 在 I2C 总线中 唯一出现的是被定义为起始 S 和停止 P 条件,其中一种情况是在 SCL 线是高电平时 SDA 线从高电平向低电平切换; 

2> 这个情况表示起始条件,当 SCL 是高电平时 SDA 线由低电平向高电平切换表示停止条件;

3> 起始和停止条件一般由主机产生 总线在起始条件后被认为处于忙的状态 在停止条件的某段时间后总线被认为再次处于空闲状态;

4> 如果产生重复起始 Sr 条件而不产生停止条件,总线会一直处于忙的状态,此时的起始条件 S 和重复起始 Sr 条件在功能上是一样的;

5> 如果连接到总线的器件合并了必要的接口硬件,那么用它们检测起始和停止条件十分简便,但是没有这种接口的微控制器在每个时钟周期至少要采样 SDA 线两次来判别有没有发生电平切换

  

2、SPI协议学习

1)SPI总线介绍

1> SPI接口是Motorola首先提出的全双工三线同步串行外围接口,采用主从模式架构,支持多设备应用,一般只支持单主设备;

2> 时钟由主设备控制,数据在时钟脉冲下按位传输,高位在前;

3> 目前应用中的数据速率可达几Mbps

2)SPI总线

1> SPI在一般应用中有4根信号线:MOSI、MISO、SCK、SS;

MOSI:主器件数据输出,从器件数据输入

MISO:主器件数据输入,从器件数据输出

SCK:时钟信号,由主设备控制发出

/SS:从设备选择信号,由主设备控制<根据此信号可以决定连接到总线上从设备的数量>


2> 传输模式:

A、根据时钟极性(CPOL)以及相位(CPHA)不同可以组合成 4 种工作模式:SPI0、SPI1、SPI2、SPI3;

(1)SPI0:CPOL=0,CPHA=0

(2)SPI1:CPOL=0,CPHA=1

(3)SPI2:CPOL=1,CPHA=0

(4)SPI3:CPOL=1,CPHA=1

B、时钟极性(CPOL)定义了时钟空闲状态电平,对传输协议没有重大影响;

(1)CPOL=0:时钟空闲状态为低电平;

(2)CPOL=1:时钟空闲状态为高电平。

C、时钟相位(CPHA)定义数据的采样时间;

(1)CPHA=0:在时钟的第一个跳变沿(上升沿或下降沿)进行数据采样;

(2)CPHA=1:在时钟的第二个跳变沿(上升沿或下降沿)进行数据采样;

3> 优缺点

A、优点:

(1)接口简单,利于硬件设计与实现;

(2)时钟速度快,且没有系统开销;

(3)相对抗干扰能力强,传输稳定

B、缺点:

(1)缺乏流控制机制,无论主器件还是从器件均不对消息进行确认,主器件无法知道从器件是否繁忙,因此,需要软件弥补,增加了软件开发工作量;

(2)没有多主器件协议,必须采用很复杂的软件和外部逻辑来实现多主器件架构



关键字:STM8S  SPI  IIC 编辑:什么鱼 引用地址:http://news.2689mr.com/mcu/ic474612.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8S学习02——ADC
下一篇:STM8S 带缓冲区 串口中断 使用心得

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8S配置位 OptionByte
 1.什么是STM8S 的配置字 OptionByte2.Option Byt Byte 里面的位都表示什么3.如何编程Option Byte一 选项字节(OptionByte )STM8S 的配置字类似于AVR 的Fuse 熔丝位。用于配置端口的复用功能和读保护等操作。不同于AVR 的熔丝位,STM8S 的时钟配置并不在Option Byte 中,不会出现写完STM8S 后芯片直接锁死的尴尬。选项字节用于配置硬件特性和存储器保护状态,这些字节位于同一页的特定存储器阵列中。选项字节可以在ICP/SWIM模式中或IAP模式中修改, 也就是可以通过STlink 写配置字,或者是通过程序写选项字。举例:STM8S 的有一个
发表于 2020-04-27
STM8S配置位 OptionByte
STM8S——8位基本定时器(TIM4)
简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。主要功能:(1)8位向上计数的自动重载计数器;(2)3位可编程的预分配器(可在运行中修改),提供1、2、4、8、16、32、64、128这8种分频比例;(3)中断产生:更新中断(溢出,计数器初始化)。代码实现: 1 /* Includes ------------------------------------------------------------------*/ 2 #include "stm8s.h" 3  4 /* Private
发表于 2020-04-25
stm8S毫秒定时器
#include "tim4.h"#include "stm8s_tim4.h"#define TIM4_PERIOD 124void Dely1ms(void){TIM4_DeInit();/* Time base configuration */// 8M/64=125000HZ// (x + 1)/125000=0.001s = 1ms// x = 124TIM4_TimeBaseInit(TIM4_PRESCALER_64, TIM4_PERIOD);/* Clear TIM4 update flag */TIM4_ClearFlag(TIM4_FLAG_UPDATE
发表于 2020-04-25
STM8S 115200bps 串口中断连续接收出错问题
内部16M晶振误差太大,导致波特率不准,9600bps可以。要想使用115200,就用外部晶振吧。还有数据寄存器DR中的数据如果没有及时取走(也可能因为波特率不准)导致数据溢出,出现反复中断现像,如在调试时如果暂停时串口上还有数据,再次运行时DR中的数据将一直是某个数据,正常情况下是不会出现的,解决办法就是进中断的时候清OV标志(不能解决根本问题)。
发表于 2020-04-18
STM8S主时钟切换(使用HSE时钟源)
的时钟源:HSE;启动切换中断;保持原时钟源开启  if (es == SUCCESS)  //切换是否成功,SUCCESS or ERROR  {      CLK_CCOConfig(CLK_OUTPUT_MASTER);//配置时钟输出脚的时钟源:f(master)      CLK_CCOCmd(ENABLE);//启动时钟输出功能  };  /* Infinite loop */  while (1)  {  }  }stm8s_it.c文件
发表于 2020-04-18
STM8S主时钟切换(使用HSE时钟源)
STVP烧录出错
用STVP烧录程序到STM8S003F时出现错误提示:Cannot communicate with the tool.其实是下载工具没选择好,确定返回到软件界面后,点Configure->Configure ST Visual Programmer,弹出如下窗口我们一般会选择右边两个栏内的选项,而把左边的Hardware一栏忘记选择,软件安装好之后默认是RLINK,而我们购买的工具大部分是ST-LINK,点选这个之后再返回软件,就可以正常烧录了。
发表于 2020-04-15
STVP烧录出错
小广播
何立民专栏 单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 2689mr.com, Inc. All rights reserved
彩票大赢家 澳客彩票 澳客彩票app官网下载 白菜送彩金38网站大全 澳客彩票 彩票大赢家 网上送彩金的网站 那个时时彩平台送彩金 怎么找送彩金的网站 那个棋牌游戏送彩金