问答

汇集网友智慧,解决技术难题

21ic问答首页 - TAG - systick
  • GD32F303用systick做延时出现延时不准 sos

    /* Configure the system clock */ rcu_config(); /* configure systick */ systick_config(); /* GPIO configuration */ gpio_config(); while (1) { gpio_bit_set(GPIOB, SCRPL_Pin); mydelay(); // delay_1ms(1); gpio_bit_reset(GPIOB, SCRPL_Pin); delay_1ms(1); } void mydelay(void) { uint16_t i; i=5000; while(0U != i){ i--; } } 在用2个delay_1ms(1)延时时,端口高低电平时间都是1ms,但是如果把高电平的延时换成for循环实现的延时会使低电平的时间也发生变化不是1ms了。

    GD32F303 systick

    1347浏览量 0回复量 关注量
  • CH579M BLE例程Peripheral中CH57X_BLEInit()函数关闭了SysTick的中断

    RT,CH579M BLE例程Peripheral中CH57X_BLEInit()函数为什么要关闭SysTick的中断 代码如下: SysTick_Config( SysTick_LOAD_RELOAD_Msk ); SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk ; /* disable SysTick IRQ */ 代码中对SysTick设置了最大的 SysTick_LOAD_RELOAD_Msk,为0xFFFFFF,且关闭了中断 问题:重装载值可以改吗?中断可以打开吗?

    BLE peripheral systick 函数 BLE ni

    3216浏览量 2回复量 关注量
  • 航顺单片机程序总是死

    程序死在了自带库的微秒延时 void BSP_SYSTEM_Delay_us(uint32_t usCnt) { /* SysTick default clock source: HCLK/8 = 32MHz/8 = 4MHz */ SysTick->LOAD = 4 * usCnt; /* Clear SysTick current counter value */ SysTick->VAL = 0; /* Enable SysTick counter */ SysTick->CTRL = SysTick_CTRL_ENABLE_Msk; /* Wait for SysTick counter to 0 */ while (!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk))//死在这一部 { } /* Disable SysTick counter */ SysTick->CTRL = ~SysTick_CTRL_ENABLE_Msk; /* Clear SysTick current counter value */ SysTick->VAL = 0; }

    单片机程序 ck ST systick ic TI

    2633浏览量 4回复量 关注量
  • 用SYSTICK延时实现stm32f103ZET6的呼吸灯效果

    [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px]今天学习了pwm的原理后,尝试用SYSTICK模拟pwm的占空比变化来实现LED的呼吸效果,但没有成功.是因为不使用GPIO的pwm模式就无法输出模拟电压吗?[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px]代码如下:[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px]int main(void)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px]{[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] u32 i;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] LED_Init();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] delay_init();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] while(1)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] for(i=0xFFFFF; i>0 ;i--)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] LED_Output_Low();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] delay_ms(1);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] LED_Output_High();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] delay_ms(9);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] for(i=0xFFFFF; i>0;i--)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] LED_Output_Low();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] delay_ms(9);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] LED_Output_High();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] delay_ms(1);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px]}[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(255, 255, 255)][font=Tahoma, "][size=15px]在两个时间段内赋予不同的占空比,跟pwm的原理应该是一样的,但不知道为什么不能实现呼吸灯效果[/size][/font][/backcolor][/color]

    Output LED stm32f103zet6 systick 呼吸灯 技术交流

    10470浏览量 32回复量 关注量
  • 用SYSTICK延时stm32f103ZET6的呼吸灯效果 sos

    今天学习了pwm的原理后,尝试用SYSTICK模拟pwm的占空比变化来实现LED的呼吸效果,但没有成功.是因为不使用GPIO的pwm模式就无法输出模拟电压吗? 代码如下: int main(void) { u32 i; LED_Init(); delay_init(); while(1) { for(i=0xFFFFF; i>0 ;i--) { LED_Output_Low(); delay_ms(1); LED_Output_High(); delay_ms(9); } for(i=0xFFFFF; i>0;i--) { LED_Output_Low(); delay_ms(9); LED_Output_High(); delay_ms(1); } } } 在两个时间段内赋予不同的占空比,跟pwm的原理应该是一样的,但不知道为什么不能实现呼吸灯效果

    stm32f103zet6 呼吸灯 systick LED Output PWM

    3250浏览量 0回复量 关注量
  • AT32F415 开启SysTick中断

    刚入手AT32没几天,求问AT32F415怎么开启SysTick中断

    systick TI ic ck

    1944浏览量 3回复量 关注量
  • HK32F030进入SysTick_Handler中断

    怎么设置呢?好像没在例程里找到

    Handler systick

    882浏览量 1回复量 关注量
  • GD32F103 systick中断时间不对 sos

    自己新建了GD32F103CBT6工程,建好后调试进不去主函数在系统初始化时钟就死了,后来把主频设置成72M就好了,但是systick中断延时不对,大概7ms进入一次,测试Delay延时也出现死机。哪位大神知道什么原因

    systick gd32F103 函数 时钟 调试

    3217浏览量 0回复量 关注量