打印

请教STM32互联型USART1、CAN1

[复制链接]
6660|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
l2010|  楼主 | 2010-4-9 12:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教:
STM32互联型USART1的默认复用引脚为PA8、PA9、PA10、PA11、PA12。当使用USART1功能时,若只用到TX(PA9)、RX(PA10)两脚,那么其余三脚只能浪费么?此时能否同时令PA11、PA12作为CAN1的功能脚使用呢?
谢谢各位高手指教!
沙发
ST_ARM| | 2010-4-9 13:10 | 只看该作者
如果PA11、PA12有可remap为CAN1的功能脚就可以。

使用特权

评论回复
板凳
l2010|  楼主 | 2010-4-9 13:28 | 只看该作者
USART1要占用5个管脚,分别PA8、PA9、PA10、PA11、PA12,若只用TX(PA9)、RX(PA10)两脚,其它三脚就不能了,这是不是有点浪费呀?试想,若要用多个串口,而每个串口都只用两脚,哪岂不是好多管脚都白白的浪费了?

使用特权

评论回复
地板
ST_ARM| | 2010-4-9 13:42 | 只看该作者
谁说USART1要占用5个管脚?串口本来就使用两个引脚,其他三个引脚可以用作其他功能。ST怎么会浪费资源呢?

使用特权

评论回复
5
l2010|  楼主 | 2010-4-9 14:33 | 只看该作者
哦,多谢ST_RAM的回答,在此多谢了!
不过,我水平差,还不太理解USART功能,请指教。USART1相关管脚5个:USART1_CK、USART1_TX、USART1_RX、USART1_CTS、USART1_RTS,默认复用功能时此5脚分别为PA8、PA9、PA10、PA11、PA12。当激活USART1时,是不是这5个管脚就变成是USART1的功能管脚呢?难道只有TX、RX两脚才是串口功能脚,而另三脚不作为USART1的功能脚却能用作其它用途呢?STM3210XXX都有这种情况。
烦请ST_RAM兄解释一下,谢谢!

使用特权

评论回复
6
ST_ARM| | 2010-4-9 14:43 | 只看该作者
PA8、PA9、PA10、PA11、PA12可以用作USART的功能引脚,当使用UASRT的时,如果你只用RX和TX两个引脚时,你只需对PA9和PA10进行相应的初始化,如果你要使用RS-232接口的硬件应答接口时,同时你还要初始化PA11和PA12,使其用作CTS和RTS功能。如果你要将USART用作SPI总线模式,可以初始化PA8、PA9和PA10。如果你要将USART用作智能卡模式你只要初始化PA8和PA9。在这些初始化中如果哪个引脚没有被用作USART的功能口,你就可以把它用作普通的IO口。

所有的STM32芯片都是这样的。

使用特权

评论回复
7
l2010|  楼主 | 2010-4-9 15:03 | 只看该作者
非常多谢ST_ARM的指教,刚才错将阁下写成ST_RAM了,SORRY!!!
回到本贴第一个问题。先对PA9、PA10进行USART的初始化,再激活USART1,然后又对PA11、PA12进行CAN的初始化,再激活CAN1。这样PA9、PA10就可用于USART1功能,而PA11、PA12则用于CAN1功能了。
是这样的吧?

使用特权

评论回复
8
ST_ARM| | 2010-4-9 17:57 | 只看该作者
是的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

1

粉丝