/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
*/
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "hk32f030m.h"
#include "hk32f030m_gpio.h"
#include <stdio.h>
#include "stdarg.h"
uint16_t TimerPeriod = 0;
uint16_t Channel1Pulse = 0;
void RCC_Configuration(void);
void GPIO_Configuration(void);
void TIM_Config(void);
void Delay(__IO uint32_t nCount) //简单的延时函数
{
for(; nCount != 0; nCount--);
}
int main(void)
/* Infinite loop */
{
RCC_Configuration();
GPIO_Configuration();
TIM_Config();
while (1)
{
TIM_SetCompare1(TIM2,5000);
Delay(5000000);
TIM_SetCompare1(TIM2,0);
Delay(5000000);
}
}
/*配置时钟*/
void RCC_Configuration(void)
{
RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA, ENABLE );
RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOB, ENABLE );
RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOC, ENABLE );
RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOD, ENABLE );
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
}
/*配置GPIO*/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
/*PD4 = TIM2 Channel 1*/
//GPIOD Configuration: Channel 1
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource4,GPIO_AF_4);
}
/*配置TIMER*/
void TIM_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
// TimerPeriod = (SystemCoreClock / 2 ) - 1;//配置输出10KHZPWM
/* Compute CCR1 value to generate a duty cycle at 50% for channel 1 */
// Channel1Pulse = (uint16_t) (((uint32_t) 5 * (TimerPeriod - 1)) / 10);
/* Time Base configuration */
TIM_TimeBaseStructure.TIM_Prescaler = 0; //预分频系数
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period = 16000;//自动重载值
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
/* Channel 1 Configuration in PWM mode */
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
// TIM_OCInitStructure.TIM_Pulse = Channel1Pulse;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
TIM_OC1Init(TIM2, &TIM_OCInitStructure);
//TIM_SelectOnePulseMode(TIM2, TIM_OPMode_Single);
/* TIM2 counter enable */
TIM_Cmd(TIM2, ENABLE);
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t* file, uint32_t line)
{
/* User can add his own implementation to report the file name and line number,
tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
}
#endif /* USE_FULL_ASSERT */
没有合适的资源?快使用搜索试试~ 我知道了~
软件:便携计分器项目(20240317 )
共595个文件
h:130个
c:94个
o:91个
需积分: 5 0 下载量 113 浏览量
2023-11-14
22:35:15
上传
评论
收藏 11.64MB RAR 举报
温馨提示
20231114 : 1.左右按键控制数码管加分,减分; 2.tim2 通用定时器 PWM控制回馈,按键按下后发出声音。
资源推荐
资源详情
资源评论
收起资源包目录
软件:便携计分器项目(20240317 ) (595个子文件)
Project.uvguix.Administrator 180KB
HK32F030M_Demo.uvguix.Administrator 174KB
WHEELTEC.uvguix.Administrator 94KB
PWM.uvguix.Administrator 71KB
Project.uvguix.Alexander 175KB
Project.uvguix.Alexander 174KB
Project.axf 431KB
NewProject.axf 300KB
WHEELTEC.axf 296KB
Project.axf 217KB
WHEELTEC_sct.Bak 479B
keilkill.bat 401B
keilkill.bat 401B
双击删除“编译产生文件”.bat 231B
双击删除“编译产生文件”.bat 190B
hk32f030m_tim.c 110KB
hk32f030m_tim.c 110KB
stm32f10x_tim.c 107KB
hk32f030m_usart.c 73KB
hk32f030m_usart.c 73KB
stm32f10x_flash.c 61KB
stm32f10x_rcc.c 50KB
hk32f030m_i2c.c 48KB
hk32f030m_i2c.c 48KB
stm32f10x_adc.c 46KB
stm32f10x_i2c.c 45KB
stm32f10x_can.c 44KB
hk32f030m_spi.c 42KB
hk32f030m_spi.c 42KB
hk32f030m_adc.c 39KB
hk32f030m_adc.c 39KB
hk32f030m_rcc.c 38KB
hk32f030m_rcc.c 38KB
stm32f10x_usart.c 37KB
system_stm32f10x.c 36KB
stm32f10x_fsmc.c 35KB
hk32f030m_flash.c 34KB
hk32f030m_flash.c 34KB
stm32f10x_spi.c 30KB
stm32f10x_dma.c 29KB
stm32f10x_sdio.c 28KB
stm32f10x_gpio.c 23KB
hk32f030m_gpio.c 22KB
hk32f030m_gpio.c 22KB
stm32f10x_dac.c 19KB
core_cm3.c 17KB
system_hk32f030m.c 16KB
system_hk32f030m.c 16KB
stm32f10x_cec.c 11KB
stm32f10x_pwr.c 9KB
stm32f10x_rtc.c 8KB
stm32f10x_bkp.c 8KB
misc.c 7KB
stm32f10x_exti.c 7KB
bsp_key.c 6KB
hk32f030m_wwdg.c 6KB
hk32f030m_wwdg.c 6KB
delay.c 6KB
hk32f030m_pwr.c 6KB
hk32f030m_pwr.c 6KB
hk32f030m_iwdg.c 6KB
hk32f030m_iwdg.c 6KB
stm32f10x_wwdg.c 6KB
hk32f030m_exti.c 5KB
hk32f030m_exti.c 5KB
hk32f030m_crc.c 5KB
hk32f030m_crc.c 5KB
hk32f030m_beep.c 5KB
hk32f030m_beep.c 5KB
stm32f10x_dbgmcu.c 5KB
hk32f030m_misc.c 5KB
hk32f030m_misc.c 5KB
stm32f10x_iwdg.c 5KB
tm1624.c 4KB
bsp_GeneralTim.c 4KB
tm1624.c 4KB
usart.c 4KB
hk32f030m_it.c 4KB
hk32f030m_it.c 4KB
hk32f030m_it.c 4KB
main.c 4KB
bsp_adc.c 4KB
bsp_exit.c 4KB
TIMER.c 3KB
bsp_TimBase.c 3KB
hk32f030m_syscfg.c 3KB
hk32f030m_syscfg.c 3KB
stm32f10x_crc.c 3KB
main.c 3KB
main.c 3KB
bsp_AdvanceTim.c 3KB
usart_printf.c 3KB
hk32f030m_dbgmcu.c 3KB
hk32f030m_dbgmcu.c 3KB
systick_delay.c 3KB
system.c 3KB
hk32f030m_awu.c 3KB
hk32f030m_awu.c 3KB
systick_delay.c 3KB
bsp_usart.c 3KB
共 595 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
Naiva
- 粉丝: 2w+
- 资源: 222
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功