OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3186|回复: 2

嵌入式系统中SPI、I2C等一主多从总线该如何管理?

[复制链接]

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2012-10-9
在线时间
12 小时
发表于 2018-10-29 23:51:51 | 显示全部楼层 |阅读模式
4金钱
    这个问题来自于实际产品开发中的疑问,在我们的产品中MCU和1*RF_IC通过SPI总线进行连接。该RF_IC和MCU还有一个中断引脚,通过该中断引脚通知MCU产生中断。
     目前的软件架构为,主程序中间隔一定时间通过SPI操作RF_IC发包,对应的中断函数中也有一定量通过SPI操作RF_IC的代码,目前有以下疑问:
        a. 针对一个SPI时序的代码,如果不加临界区保护,那么有可能在主循环中一个spi时序还没有完成,就进入中断,在中断中也有SPI访问,实际导致产生的SPI时序异常。
        b. 针对一个SPI时序的代码加临界区保护,但是没有对一些api函数使用临界区保护。有些操作是一些列的SPI操作,虽然单个SPI时序不会被打断,但是一系列SPI操作如果被打断,将导致API的功能异常。
        c. 针对所有API的代码价临界区保护,这回导致部分SPI操作较长的API影响中断的响应。
    这还只是1个SPI总线上只有1个SPI设备的情况,如果有多个SPI设备,如何协调线程、中断之前对设备的访问?以及在UCOS这类抢占式系统中,如何对控制对这些设备的访问?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-10-30 01:31:55 | 显示全部楼层
回复

使用道具 举报

1

主题

231

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2872
金钱
2872
注册时间
2018-1-24
在线时间
258 小时
发表于 2018-10-30 08:40:30 | 显示全部楼层
钱太少,不回答
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 09:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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