#include "stm32f10x.h"
#include "GPIOLIKE51.h"
#define uint unsigned int
#define uchar unsigned char
#define CLOCK 72/8 //时钟=72M
//函数声明
void GPIO_Configuration(void);
/****************************************************************************
* 名 称:delay_us(u32 nus)
* 功 能:微秒延时函数
* 入口参数:u32 us
* 出口参数:无
* 说 明:
* 调用方法:无
****************************************************************************/
//void delay_us(u32 us)
//{
// u32 temp;
// SysTick->LOAD = 9*us;
// SysTick->VAL=0X00;//清空计数器
// SysTick->CTRL=0X01;//使能,减到零是无动作,采用外部时钟源
// do
// {
// temp=SysTick->CTRL;//读取当前倒计数值
// }while((temp&0x01;)&&(!(temp&(1VAL =0X00; //清空计数器
//}
/****************************************************************************
* 名 称:delay_ms(u16 ms)
* 功 能:毫秒延时函数
* 入口参数:u16 nms
* 出口参数:无
* 说 明:
* 调用方法:无
****************************************************************************/
void delay_ms(u16 ms)
{
u32 temp;
SysTick->LOAD = 9000*ms;
SysTick->VAL=0X00;//清空计数器
SysTick->CTRL=0X01;//使能,减到零是无动作,采用外部时钟源
do
{
temp=SysTick->CTRL;//读取当前倒计数值
}while((temp&0x01;)&&(!(temp&(1VAL =0X00; //清空计数器
}
//=============================================================================
//文件名称:main
//功能概要:主函数
//参数说明:无
//函数返回:int
//=============================================================================
int main(void)
{
GPIO_Configuration();
while (1)
{
// GPIO_SetBits(GPIOB,GPIO_Pin_9);
// delay_ms(500);// 100=0.1S
GPIO_ResetBits(GPIOB,GPIO_Pin_9);
delay_ms(500);
}
}
//=============================================================================
//文件名称:GPIO_Configuration
//功能概要:GPIO初始化
//参数说明:无
//函数返回:无
//=============================================================================
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE
2021-09-08 10:37:50
2.76MB
stm32
1