完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我刚接触到SMT32的芯片,想问问,SMT32G030串口重映射的问题:
1、初始化串口2: HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_15);我定义在PA2和PA15,主程序运行起来,也都正常了,数据交互都正常了,由于应用需要,,我需要把串口重映射,映射到HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);也就说,PA3我还挂了一个设备读取数据,程序需要切换到PA3读取数据,但是不知道如何映射? |
|
相关推荐
2个回答
|
|
映射时分配的管脚不一样,部分映射时,官网上有的,可以查看哈,如果映射管脚没错,但还是收到不数据,可以查查是不是RX和TX接反了,数据线有无问题,波特率是否正确等
|
|
|
|
你可以使用HAL库的函数"HAL_UART_MspInit()"来进行串口重映射。具体步骤如下:
1. 首先,在你的主程序里面找到"HAL_UART_MspInit()"函数,在这个函数里面做一些重新初始化的准备工作。 可以通过CubeMX生成的代码文件"stm32g0xx_hal_uart.c"中找到该函数。 2. 在调用"HAL_UART_MspInit()"函数之前,通过调用以下函数将原本的PA2和PA15管脚取消映射: HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2 | GPIO_PIN_15); 3. 在调用"HAL_UART_MspInit()"函数之后,使用HAL库的函数"__HAL_SYSCFG_USART1_3_4_TxRxSwapped()"进行串口的映射操作: __HAL_SYSCFG_USART1_3_4_TxRxSwapped(); 4. 在映射完成后,通过HAL库的函数"HAL_UART_MspDeInit()"进行不使用的串口管脚的释放操作。 可以通过CubeMX生成的代码文件"stm32g0xx_hal_uart.c"中找到该函数。 通过以上步骤,你就可以将串口重映射到PA3管脚,然后使用PA3进行数据的读取。希望这能解决你的问题! |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1649 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1566 浏览 1 评论
994 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
693 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1613 浏览 2 评论
1871浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
656浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
526浏览 3评论
543浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
515浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 15:57 , Processed in 0.850750 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号