STM32串口在程序中配置时PA9,USART-TX和PA10,USART-RX为什么工作模式配置成复用推挽输出和浮空输入??

 我来答
云淡淡的枫
2019-07-29
知道答主
回答量:14
采纳率:0%
帮助的人:5.5万
展开全部
usart串口,首先tx是作为输出的,逻辑上输出的数据都是0或者1,也就是由高低电平来表示,推挽就是能稳定输出1或者0。而复用,是因为这个io受的是内部的的usart模块来控制,并非是gpio寄存器来控制。至于rx设置为浮空输入那就很好理解了,首先接收的肯定是要设置为输入,才能检测外界的电平,其次,浮空就能收到高和低的电平,也才能分析出0和1.
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
lphaff
推荐于2017-10-02 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1565
采纳率:72%
帮助的人:602万
展开全部
关于STM32的USART配置,需要完成以下几个步骤
1,打开USART时钟
2,配置PA9及PA10
由于USART属于可选功能项
所以TX要设置成GPIO_Mode_AF_PP;,即复用推挽输出
RX用于数据输入,被设置成浮空输入
这是由于STM32的IO口引脚总共只有以下几种模式
GPIO_Mode_AIN = 0x0,
GPIO_Mode_IN_FLOATING = 0x04,
GPIO_Mode_IPD = 0x28,
GPIO_Mode_IPU = 0x48,
GPIO_Mode_Out_OD = 0x14,
GPIO_Mode_Out_PP = 0x10,
GPIO_Mode_AF_OD = 0x1C,
GPIO_Mode_AF_PP = 0x18
对于特殊功能模式,只有一个复用开漏及复用推挽。
这两种都是用于输出的情况。
所以RX只能被设置成浮空输入
这不仅是USART,对于其他的如SPI也是如此。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小姝97
2012-11-08 · TA获得超过347个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:62.5万
展开全部
这个,因为串口的两根数据线TX是用来发送数据,RX是用来接收数据的.然后复用是因为使用了GPIO的复用功能,然后推挽输出是为了增强IO口的输出能力.
更多追问追答
追问
这个配置是固定的吗?
追答
这个应该是固定的吧,也没有必要去纠结是否固定,毕竟只是初始化而已,只要设定成这样能使用USART模块就OK啦,不过我是很少用固件库函数,直接写寄存器跟固件库还是有些区别的,因为这个一个GPIO_Init();函数要设定很多个寄存器.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式