赞
踩
HT32的点灯函数,自行跟HAL库对应
GPIO_WriteOutBits(HT_GPIOC,GPIO_PIN_14,RESET);
HT32init生成的工程文件中,是有重定向这个文件的,所以我们只需要引用其中的接口函数即可
RETARGET_Configuration();//重定向初始化
PS: 注意如果重定向失败的话也许是串口的宏定义不对应
因为最小系统板上的串口跟elink32连接的是串口1,所以这里的要选择COM1,但是不知道为什么我初始化了串口1之后还是给我默认是COM0
我们找到它的定义可以看到是10,而COM0是13
或者在初始化的时候勾选这个选项即可
(2022/3/23编辑)
在初始化工程的时候,最好不勾选作为重定向端口了,因为这样他会帮你写好串口中断的函数,并且开启中断,我们只需要像上面说的一样去修改com的值也可也作为重定向端口可以用printf
(编辑结束)
(2022年3月31日编辑)
需要注意的是,HT官方给的那块HTF52352的板子的排针上的A5是空的过孔,我们看他的原理图会发现都没有这个网络在那,所以使用A4和A5作为USART1的引脚时,记得链接板子中间那个跳线帽的A5才是有效的。
(编辑结束)
#ifndef __DELAY_H
#define __DELAY_H
#include "ht32_cm0plus_misc.h"
void delay_s(u16 s);
void delay_ms(u16 ms);
void delay_us(u32 us);
#endif
#include "delay.h" //mS微秒级延时程序 void delay_us(u32 us) { u32 i; SYSTICK_ClockSourceConfig(SYSTICK_SRC_STCLK); //选择外部参考时钟作为SysTick时钟源。8MHZ SYSTICK_SetReloadValue(SystemCoreClock / 8 / 1000000); // 重装计数初值 SYSTICK_IntConfig(DISABLE); // 是否开启中断 SYSTICK_CounterCmd(SYSTICK_COUNTER_CLEAR); //清空定时器 SYSTICK_CounterCmd(SYSTICK_COUNTER_ENABLE); //使能 for( i = 0;i < us;i++ ) { while( !( (SysTick->CTRL) & (1<<16) ) ); } SYSTICK_CounterCmd(SYSTICK_COUNTER_DISABLE); //关闭 SYSTICK_CounterCmd(SYSTICK_COUNTER_CLEAR); //复位清零 } void delay_ms(u16 ms){ //mS毫秒级延时程序 while( ms-- != 0){ delay_us(1000); //调用1000微秒的延时 } } void delay_s(u16 s){ //S秒级延时程序 while( s-- != 0){ delay_ms(1000); //调用1000毫秒的延时 } }
HT32F5232学习之利用dealy延时函数实现呼吸灯效果
u16 SPI1_MASTER_SendByte(u8 byte)//HT32
HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size,uint32_t Timeout)//STM32
在对应的中断函数中编写业务代码即可
中断的开启NVIC_EnableIRQ(GPTM0_IRQn); // interrupt enable
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。