微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32系统嘀嗒时基定时器应用

STM32系统嘀嗒时基定时器应用

时间:11-27 来源:互联网 点击:
测试条件:STM32F103VET6开发板



#include "stm32f10x.h"

void Delay_Nms(unsigned int n)
{
SysTick->LOAD=9000*n;//装入初始值,定时时间为1/(72M/8) *9000 s
SysTick->CTRL=0x00000001; //设置始终源为系统始终八分频,并打开定时器
while(!(SysTick->CTRL&0x00010000));//等待递减计数器减到0
SysTick->CTRL=0x00000000;//关闭定时器
}

int main(void)
{
SystemInit();//配置系统时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//使能APB2外设时钟
GPIO_InitTypeDef GPIO_InitStructure;//定义I/O口结构体
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);

GPIO_ResetBits(GPIOC, GPIO_Pin_6);


while(1)
{

GPIO_SetBits(GPIOC, GPIO_Pin_6);
Delay_Nms(1000);//延时1s
GPIO_ResetBits(GPIOC, GPIO_Pin_6);
Delay_Nms(1000);
}
}

//以下是报错函数
#ifdefUSE_FULL_ASSERT
void assert_failed(uint8_t* file, uint32_t line)
{
while (1)
{
}
}
#endif

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top