第七个实验 SYSTIC实验

来源:互联网 发布:淘宝对比价格的软件 编辑:程序博客网 时间:2024/04/30 13:48
代码下载地址(绝对可用)
http://download.csdn.net/download/v_zhangyang/10130002

#include "stm32f10x.h"
#include <stdio.h>
#define LED1                     1
void LEDXToggle(uint8_t ledx);
void SYSTICK_Init(void);
void delay_ms(u16 nms);

int main(void)
{
   //打开GPIO时钟  定义结构体  对结构体赋值 并调用库函数进行初始化
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  GPIO_InitTypeDef GPIO_InitStructure1;
  GPIO_InitStructure1.GPIO_Pin = GPIO_Pin_13;
  GPIO_InitStructure1.GPIO_Mode=GPIO_Mode_Out_PP;
  GPIO_InitStructure1.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOC,&GPIO_InitStructure1);
   //初始化systim
    while (SysTick_Config(SystemCoreClock/1000000));
  
  while (1)
   {
//灯的循环亮灭
    LEDXToggle(LED1);
    
    delay_ms(1000);
   }

}
    
  void LEDXToggle(uint8_t ledx)
   {
    if(ledx==1)
    {
     GPIOC->ODR^=GPIO_Pin_13;
    }
    

   }
   u16 nTime;
   void SysTick_Handler(void)
   {
    if(nTime)
    nTime--;
   }

   void SYSTICK_Init(void)
   { 
   /*SystemCoreClock/ 1000000£º1usÖжÏ1´Î£»SystemCoreClock/ 1000£º1msÖжÏÒ»´Î*/ 
    while (SysTick_Config(SystemCoreClock/1000000));
   }

   void delay_us(u16 nus)
   {
    nTime=nus;
    while(nTime);
   }

   void delay_ms(u16 nms)
   {
    while(nms--)
    delay_us(1000);
   }

原创粉丝点击