你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32基于库3.5的SysTick问题

[复制链接]
赵怡彬 提问时间:2016-12-14 13:27 /
网上找了资料得知:
在标准外设库3.5中移除了SysTick的驱动,因此用户必须调用CMSIS定义的函数。
CMSIS只提供了一个SysTick设置的函数(SysTick_Config(uint32_t ticks)),替代了STM32原有SysTick驱动的全部函数。
这样我们就不能自动重载入计数器(LOAD)的值,这样不就不方便了吗,为什么越升级越死板?
还有一个问题就是,新配置的函数
void Init_SysTick(void)
{
  if(SysTick_Config(SystemCoreClock / 1000))
  while(1);
}为什么要加一个while(1),这样我放在main里不就会在停在Init_SysTick(),不会运行下面的程序吗,但是我实验的时候还是成功的延时了。这我很不能理解,求大神解释解释。下面的是我的main。程序不应该停在Init_SysTick();,while(1)里面的应该都不会执行啊~~
int main(void)
{
        u8 time=0;
        RCC_Configuration();
  GPIO_Configuration();
  USART_Configuration();
        Init_SysTick();
  while(1)      
        {
                printf("\n\t %d",time);
                delay_ms(1000);
                time++;
        }
}

收藏 1 评论4 发布时间:2016-12-14 13:27

举报

4个回答
creep 回答时间:2016-12-14 14:36:18
  1. void Init_SysTick(void)
  2. {
  3.   if(SysTick_Config(SystemCoreClock / 1000))
  4.         {
  5.                 //如果配置失败才会停在这里
  6.                 while(1);               
  7.         }  
  8. }
复制代码


评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

jackten 回答时间:2016-12-14 15:39:13
过来学习                       
jackten 回答时间:2016-12-14 15:39:41
过来学习                       
赵怡彬 回答时间:2016-12-14 21:58:04

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版