搜索
bottom↓
回复: 4

和多个外设相关的写操作,linux可以保证先后顺序吗

[复制链接]

出0入4汤圆

发表于 2024-3-26 18:12:42 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 liuqian 于 2024-3-26 20:24 编辑

比如,某些芯片的接口,需要特定的时序,先启动pwm,把gpio片选拉高,pwm关闭并拉低,然后spi发数据,数据发完,gpio拉低,启动pwm。那么linux可以保证在硬件上一定是按照这样的顺序吗?会不会,拉低cs的写文件动作,内核还没有调度到驱动的写输出寄存器的部分,那边spi被先调度到了,于是数据就先于cs,导致数据无效。

出40入518汤圆

发表于 2024-3-26 18:32:53 | 显示全部楼层
应该还要看硬件或者芯片吧?如果SPI和GPIO都是主控芯片硬件自带的,而且编程在同一线程按顺序操作,应该能保证吧。
或者自己再加个Read GPIO的操作是不是就保险了

出0入0汤圆

发表于 2024-3-26 18:52:57 来自手机 | 显示全部楼层
把gpio定义为spi的cs引脚,spi驱动会保证执行顺序的

出0入90汤圆

发表于 2024-3-26 19:16:37 | 显示全部楼层
写一个专门的驱动不就好了。
gpio和spi的两个驱动,在应用层通过ioctrl去调用,不会慢吗?
说不定你一个CS动作,就延时10ms了呢

出0入4汤圆

 楼主| 发表于 2024-3-26 20:28:57 来自手机 | 显示全部楼层
honami520 发表于 2024-3-26 19:16
写一个专门的驱动不就好了。
gpio和spi的两个驱动,在应用层通过ioctrl去调用,不会慢吗?
说不定你一个CS ...

(引用自4楼)

就是怕这个,现在每个动作都加一个小的延时,看波形还是对的,但是非实时系统在加上调度,就怕到最终的管脚上不按顺序
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 18:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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