完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
SPI,I2C和中断硬件可以使用的引脚可能会限制您选择的引脚。
电路板的布局也可能影响引脚选择。 对于(相对)高输出电流(通常不是一个好主意IMO),一些芯片具有每端口限制,这有利于选择引脚以获得来自不同端口的更高电流输出。 (从Jeroen3的答案中复制)当你非常缺乏时,最好禁用未使用的端口,这可能有利于在已使用的端口中使用引脚。 当你必须快速将多位值复制到多个引脚时,当这些引脚位于一个端口上时会更容易(当它们是连续的并且从位0开始时更容易)。 除了那些方面,我不知道它是如何从相同或不同的端口产生任何显着差异的选择。 |
|
|
|
STM32L1xx通常用于每个uA都很重要的低功耗器件中。因此,在没有实际需要的情况下启用GPIO并不是一个很好的选择。
|
|
|
|
我不同意这样的绝对:一切都取决于具体情况。但这一点确实值得一提。我添加了另一个理由,赞成在一个端口使用位。
|
|
|
|
他在问Lxx uC。Lxx uCs是低功耗并用于低功耗设计(否则,如果你有更便宜和更快的Fxx,使用更昂贵的设计是不合逻辑的)。所以我假设OP在选择uC时使用大脑。如果是对于低功耗设计启用尽可能少的外设,因为任何启用只消耗一些uA / MHz来为其自己的电子设备供电。
|
|
|
|
从技术角度来看,不需要使用来自一个端口的所有引脚或在所有端口之间分配。一个原因可能是您有许多当前的驱动引脚,但在大多数情况下,电路板布局定义了外围设备的连接位置,因此定义了端口。在其他情况下,您希望计算并行数据(例如某些按钮),然后将它们放在一个端口上更容易,因为这样可以简化代码。
当然,如果你使用某些引脚的特殊功能,它们也是定义的。 |
|
|
|
如果你的目标是通过不启用GPIO bank来节省5 uA / MHz,那么就是。否则,只需让外设使用板设计决定使用哪个IO。
|
|
|
|
你可能设计了一个低功耗器件(Lxx系列),每个使能的外设(如另一个GPIO端口)只消耗一些电流来驱动内部电子器件。这就是为什么非常低功耗的设备设计者应该尝试不启用任何不是100%必需的东西的主要原因。
|
|
|
|
将所有硬件IP分配给符合您需求的端口后,你将获得一堆用于其他GPIO相关内容的I / O. 其中最重要的是IRQ线。
STM32L1有一个外部中断控制器(EXTI),强制在所有端口中只有一个编号为N的引脚作为中断。(即如果A0是IRQ,则不能使用B0,C0,...作为IRQ等)。将此约束与PCB路由约束合并时,使用尽可能少的端口是一个优点,但可能无法实现。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
878 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
936 浏览 2 评论
2044 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1145 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1568 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 20:57 , Processed in 0.777378 second(s), Total 84, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号