新闻中心

EEPW首页>嵌入式系统>设计应用> STM32系统嘀嗒时基定时器应用

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

作者: 时间:2016-11-27 来源:网络 收藏
测试条件:STM32F103VET6开发板



本文引用地址://m.amcfsurvey.com/article/201611/322253.htm


#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



关键词:STM32系统定时

评论


技术专区

关闭