#include "timer.h"
#include "led.h"
u8 temp=0;
void SysTick_Handler(void)
{
LED0=!LED0;
}
//初始化延迟函数
//当使用ucos的时候,此函数会初始化ucos的时钟节拍
//SYSTICK的时钟固定为HCLK时钟的1/8
//SYSCLK:系统时钟
void SysTick_init()
{
SysTick->CTRL&=~(1<<2); //SYSTICK使用外部时钟源
SysTick->CTRL|=1<<1; //开启SYSTICK中断
SysTick->VAL = 0;
SysTick->LOAD=9000; //每1ms中断一次
SysTick->CTRL|=1<<0; //开启SYSTICK // SysTick->LOAD = 9000;
// SysTick->CTRL = 0x00000007;
}
程序中加入SysTick->VAL = 0; 后DS0阴极波形
我注意到低电平是很准确的1ms,是不是因为LED0=!LED0; 这句占用了系统时间,产生了220us的高电平,因为我一旦
将LED0=!LED0改为LED0!=LED0;后DS0阴极一直为高电平
|