赞
踩
先放出双串口的代码,很多时候我们要利用一个串口仿造写出另一个串口的时候,时而失败。我通过改了几次HT32的代码之后发现主要问题出现在宏定义这边。
usart.c文件
- #include "usart.h"
- #include "ht32f5xxxx_gpio.h"
-
-
- /**************************实现函数********************************************
- 函数说明:配置usart串口
-
- *******************************************************************************/
- void USART_Configuration(void)
- {
- USART_InitTypeDef USART_InitStructure;
- {
- CKCU_PeripClockConfig_TypeDef CKCUClock = {
- {0}};
- CKCUClock.Bit.AFIO = 1;
- CKCUClock.Bit.PA = 1;
- CKCUClock.Bit.USART1 = 1;
- CKCU_PeripClockConfig(CKCUClock, ENABLE);
- }
-
- {
- CKCU_PeripClockConfig_TypeDef CKCUClock = {
- {0}};
- CKCUClock.Bit.AFIO = 1;
- CKCUClock.Bit.PA = 1;
- CKCUClock.Bit.USART0 = 1;
- CKCU_PeripClockConfig(CKCUClock, ENABLE);
- }
-
- GPIO_PullResistorConfig(HT_GPIOA, GPIO_PIN_15, GPIO_PR_UP); //记得这里也要改
- GPIO_PullResistorConfig(HT_GPIOA, GPIO_PIN_3, GPIO_PR_UP);
-
- AFIO_GPxConfig(GPIO_PA, AFIO_PIN_14, AFIO_FUN_USART_UART);//如果要使用数据线进行串口通信功能,把PA14 15改成PA4 5
- AFIO_GPxConfig(GPIO_PA, AFIO_PIN_15, AFIO_FUN_USART_UART);//并且把开发板的跳线帽接到Tx端
- AFIO_GPxConfig(GPIO_PA, AFIO_PIN_2, AFIO_FUN_USART_UART);
- AFIO_GPxConfig(GPIO_PA, AFIO_PIN_3, AFIO_FUN_USART_UART);
-
- /*
- 波特率: 115200
- 长度: 8bits
- 停止位: 1位
- 校验位: 无
- 模式: 正常模式
- */
-
- USART_InitStructur
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。