MBDCORE基于模型设计论坛

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1289|回复: 5

STM32F103C8T6的IIC和SPI不能同时使用

[复制链接]

7

主题

29

帖子

194

积分

注册会员

Rank: 2

积分
194
发表于 2020-12-25 16:24:28 | 显示全部楼层 |阅读模式
功能说明:通过can接收数据,通过SPI1发送出去,同时存入IIC接口的eeprom中,eeprom芯片为开发板使用AT24C02型号;
问题描述:1.单独使用SPI1和can,都可以正常收发;
2.单独使用IIC和CAN,can可以正常收发,eeprom数据可以正常读写;
3.同时使用IIC,SPI1和CAN,CAN可以正常收发,IIC数据读写错误,SPI1不能收发数据,但是SPI1中的cs和clk信号正常,MOSI和MISO无数据变化。
模型如下:

SPI1写

SPI1写

eeprom写

eeprom写

模型结构

模型结构
回复

使用道具 举报

60

主题

438

帖子

9005

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9005
QQ
发表于 2020-12-25 19:01:12 | 显示全部楼层
SPI的数据线上无数据,可能是传入到SPI的数据本身就是0,请检查SPI的数据输入问题,先把E2PROM屏蔽掉,只调试CAN 与 SPI。
回复

使用道具 举报

60

主题

438

帖子

9005

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9005
QQ
发表于 2020-12-25 19:04:36 | 显示全部楼层
三个模型在使用的时候,请将SPI的发送数据固定为同一个数据,E2PROM写入也固定一个数据,保证不是你的模型在数据传输过程出现问题。
回复

使用道具 举报

7

主题

29

帖子

194

积分

注册会员

Rank: 2

积分
194
 楼主| 发表于 2020-12-27 13:02:25 | 显示全部楼层
Katherine 发表于 2020-12-25 19:04
三个模型在使用的时候,请将SPI的发送数据固定为同一个数据,E2PROM写入也固定一个数据,保证不是你的模型 ...

上面的模型,屏蔽掉IIC相关模块后,其它不变,通过can发送同样的数据,SPI正常工作;屏蔽掉SPI相关模块后,其它不变,通过can发送同样的数据,IIC正常工作,储存的数据是模型指定的地址;上面模型同时工作,通过can发送同样的数据,MOSI和MISO依然无数据,keil debug看到给到的SPI发送的数据是变化的,但是示波器观察不到MOSI数据输出,对应个slave器件无响应; IIC中有数据读写,但不是指定给的数据。有无可能IIC和SPI不能同时使用,亦或者二者中断过程有冲突?
回复

使用道具 举报

60

主题

438

帖子

9005

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9005
QQ
发表于 2020-12-28 21:26:01 | 显示全部楼层
小白 发表于 2020-12-27 13:02
上面的模型,屏蔽掉IIC相关模块后,其它不变,通过can发送同样的数据,SPI正常工作;屏蔽掉SPI相关模块后 ...

这个问题不好分析了,留下模型,我看一看。
回复

使用道具 举报

7

主题

29

帖子

194

积分

注册会员

Rank: 2

积分
194
 楼主| 发表于 2020-12-30 10:49:17 | 显示全部楼层
Katherine 发表于 2020-12-28 21:26
这个问题不好分析了,留下模型,我看一看。

附件是模型,请帮忙分析一下

spi&iic.rar

39.17 KB, 下载次数: 2

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|苏ICP备18050910号|Archiver|手机版|小黑屋|MBDCORE基于模型设计论坛 ( 苏ICP备2021007361号 )

GMT+8, 2021-5-18 10:04 , Processed in 0.024504 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表