OpenEdv-开源电子网

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

假如板子有俩一样的外设(例如俩w25q128)

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2021-5-3
在线时间
8 小时
发表于 2022-6-16 18:12:35 | 显示全部楼层 |阅读模式
看了原子哥的代码  难不成还要写俩差不多的驱动? 是不是应该把外设作为对象 传参进去比较好? 有没有好心人回答下  求教啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2021-5-3
在线时间
8 小时
 楼主| 发表于 2022-6-17 15:39:20 | 显示全部楼层
回复 支持 反对

使用道具 举报

5

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2021-5-26
在线时间
39 小时
发表于 2022-6-17 15:47:15 | 显示全部楼层
如果用硬件spi 不是得用两个spi吗  把初始化俩spi 然后把驱动复制一份 程序名字改一下 spi替换一下 是挺麻烦的
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2021-5-3
在线时间
8 小时
 楼主| 发表于 2022-6-17 16:21:35 | 显示全部楼层
tianduyingcai 发表于 2022-6-17 15:47
如果用硬件spi 不是得用两个spi吗  把初始化俩spi 然后把驱动复制一份 程序名字改一下 spi替换一下 是挺麻 ...

虽然这样的场景不太会出现  万一俩外设驱动程序很庞大要是这么写就麻烦了 就为创建俩实例 写成面对对象的方式感觉又怪怪的 来自菜鸟的困惑
回复 支持 反对

使用道具 举报

0

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2019-5-5
在线时间
150 小时
发表于 2022-6-18 10:00:24 | 显示全部楼层
可以把分层,把硬件相关的接口和硬件无关的接口分层,驱动层调用底下的硬件接口,这样硬件变动时只需要修改硬件相关的接口
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2021-5-3
在线时间
8 小时
 楼主| 发表于 2022-6-18 11:20:51 | 显示全部楼层
石头君 发表于 2022-6-18 10:00
可以把分层,把硬件相关的接口和硬件无关的接口分层,驱动层调用底下的硬件接口,这样硬件变动时只需要修改 ...

是这个意思吗?  感觉我问的不是这个意思吧  感觉是要把外设封装成对象 然后传参实现代码复用的样子
回复 支持 反对

使用道具 举报

1

主题

31

帖子

0

精华

高级会员

Rank: 4

积分
694
金钱
694
注册时间
2019-6-2
在线时间
238 小时
发表于 2022-6-18 15:16:59 | 显示全部楼层
本帖最后由 会单片机 于 2022-6-18 15:18 编辑

SPI是可以总线的  只需要 使能脚分开接一个IO就行了  其它的三根各接各对应的IO    写驱动接口的时候  多加一个参数  用来选择哪个一个设备
回复 支持 反对

使用道具 举报

5

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2021-5-26
在线时间
39 小时
发表于 2022-6-27 10:55:16 | 显示全部楼层
clhclh123 发表于 2022-6-17 16:21
虽然这样的场景不太会出现  万一俩外设驱动程序很庞大要是这么写就麻烦了 就为创建俩实例 写成面对对象的 ...

看楼下的那个使能脚确实可行 ,flash接收数据需要把使能脚拉低  定义一个普通输出当做第二个flash的spi——cs片选 在写入读取时 只拉低你想写入的那个flash的使能脚就可以了 其他的三根线接两个flash
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 20:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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