您的位置 首页 电源

STM32体系嘀嗒时基定时器使用

测试条件:STM32F103VET6开发板includestm32f10xhvoidDelay_Nms(unsignedintn){SysTick->LOAD=9000*n;装入初始值,定时时间

测验条件: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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/257098.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部