HT32F52352单片机,双串口,PWM的4路输出,GPIO输入(红外模块)(可以当合泰杯比赛的程序模板,非常好用),printf使用自定义串口输出

本文介绍了HT32F52352单片机如何实现双串口通信和4路PWM输出,特别指出串口中断宏定义对通信的影响。在代码示例中,详细解析了如何调整宏定义以确保串口正常接收和发送,并提供了printf函数使用自定义串口的技巧。同时,提到了单片机的GPIO输入适用于红外模块。最后,分享了关于PWM扩展和代码模板的资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先放出双串口的代码,很多时候我们要利用一个串口仿造写出另一个串口的时候,时而失败。我通过改了几次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_InitStructure.USART_BaudRate = 115200;
  USART_InitStructure.USAR
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值