OpenEdv-开源电子网

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

im6ull 裸板spi驱动与STM32不一致的问题。

[复制链接]

10

主题

31

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2020-4-9
在线时间
17 小时
发表于 2021-6-28 22:11:00 | 显示全部楼层 |阅读模式
1金钱
以SPI举例
以前做STM32的时候SPI的MISO,MOSI等管脚都要配置输入输出的;但是IMX6ULL我发现只有在复用为GPIO的管脚才配置输入输出,而其他的只需要配置电气属性。
请问这是为什么???????????????

最佳答案

查看完整内容[请看2#楼]

以你说的SPI举例,在STM32F1xx系列中,其复用功能属性是包含在输出模式中的,即你如果想将配置IO口的复用功能,那么从分类上它就属于“输出”类型。 而在S32K系列中(NXP的车规级ARM单片机),IO口的mux属性是单独设置的,所以无需重复设置IO口是输出还是输入,只要配置其对应复用功能就可以了。 虽然你的问题是imx6,但nxp所有控制器的设计思路都是差不多的。至于为什么这么设计,不同公司有不同的设计思路这也很正 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
269
金钱
269
注册时间
2019-3-6
在线时间
36 小时
发表于 2021-6-28 22:11:01 | 显示全部楼层

stm32.jpg

以你说的SPI举例,在STM32F1xx系列中,其复用功能属性是包含在输出模式中的,即你如果想将配置IO口的复用功能,那么从分类上它就属于“输出”类型。
s32k.jpg

而在S32K系列中(NXP的车规级ARM单片机),IO口的mux属性是单独设置的,所以无需重复设置IO口是输出还是输入,只要配置其对应复用功能就可以了。

虽然你的问题是imx6,但nxp所有控制器的设计思路都是差不多的。至于为什么这么设计,不同公司有不同的设计思路这也很正常。

所以遇到这种问题,你要学会查手册,手册中有99%的问题的答案。


BTW,STM32的设置复用属性方式粗看上去有点蠢,但其实也没必要想太多。
因为说到底也只是对GPIOx_CRx这个寄存器上的CNFx位进行设置,只不过是将复用属性分类成了“输出而已”,对普通使用者而言,其实无需关注这跟线实际上到底是输出还是输入,用就是了。比如I2C的SDA线,你说它是输入还是输出呢?管它干嘛,用就是了~~~~
不过ST的芯片上确实要注意设置复用IO的推挽/开漏属性,而这个属性通常确实是输出pin才会涉及到的,这大概就是ST会将其放在“输出”类下的原因吧。当然了,这个属性的设置就和硬件的设计相关了。与之相对的,NXP的思路就是根据具体PIN脚设置的复用功能自动去设置其是推挽还是开漏。这点上确实NXP的芯片使用起来要方便些,对于不懂硬件的人来说也稍微友好那么一点点。
回复

使用道具 举报

10

主题

31

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2020-4-9
在线时间
17 小时
 楼主| 发表于 2021-7-20 23:39:27 | 显示全部楼层
QuiGonJinn 发表于 2021-6-28 22:11
以你说的SPI举例,在STM32F1xx系列中,其复用功能属性是包含在输出模式中的,即你如果想将配置IO口的 ...

谢谢大神!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 16:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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