[STM32F1] systick延时

[复制链接]
529|3
 楼主| googcheng 发表于 2020-1-7 11:38 | 显示全部楼层 |阅读模式
本帖最后由 googcheng 于 2020-1-7 11:56 编辑

使用**里的第二种方法,https://blog.csdn.net/zhongao2259/article/details/85259646

  1. //ÑÓʱnus
  2. //nusΪҪÑÓʱµÄusÊý.                                                                                       
  3. void DelayUs(unsigned long nus)
  4. {               
  5.         u32 temp;                     
  6.         SysTick->LOAD=nus*fac_us; //ʱ¼ä¼ÓÔØ                           
  7.         SysTick->VAL=0x00;        //Çå¿Õ¼ÆÊýÆ÷
  8.         SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;          //¿ªÊ¼µ¹Êý         
  9.         do
  10.         {
  11.                 temp=SysTick->CTRL;
  12.         }
  13.         while(temp&0x01&&!(temp&(1<<16)));//µÈ´ýʱ¼äµ½´ï   
  14.         SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;      
  15.         SysTick->VAL =0X00;               
  16. }




和做一个1ms SysTick_Handler 中断有冲突?
  1. void SysTick_Handler(void)
  2. {
  3.     //static int key_cnt = 0;
  4.    
  5.     if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_7) != 0)
  6.         key_cnt++;
  7.     else
  8.         key_cnt = 0;
  9.    
  10.     if(key_cnt > 30)
  11.         key_long_press = 1;
  12. }



mmuuss586 发表于 2020-1-16 10:01 | 显示全部楼层
xiaoqizi 发表于 2020-2-3 12:18 | 显示全部楼层
不能冲突吧
木木guainv 发表于 2020-2-3 12:20 | 显示全部楼层
怎么没看明白呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

58

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部