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

STM32L使用模拟仿真时的问题, 求助各位大神!

[复制链接]
小马-393649 提问时间:2016-11-9 17:17 /
使用STM32L475RC建立的工程,板子没回来想使用simulator模拟仿真下,采用的是HSI内部时钟源, main函数大致如下
1.int main(void)
2.{
3.    HAL_Init();
4.    /* Configure the system clock to have a frequency of 80 MHz */
5.     SystemClock_Config();
6.        TIM1_Init();
7.        TIM3_Init(25600);
8.     /* Start loopback */
9.     while(1){}
10.}

问题描述:在Debug中选择use simulator,配置好.ini文件,编译OK,然后点击DEBUG按钮,代码可以顺利执行到上面的第5行,但是在进入 SystemClock_Config()后,程序一直死循环在等待HSI ready的循环中,如下:
        /* Wait till HSI is ready */
        while(READ_BIT(RCC->CR, RCC_CR_HSIRDY) == RESET)
        {
          if((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE)
          {
            return HAL_TIMEOUT;
          }
        }
一直死循环在该while中,从症状看,循环条件READ_BIT(RCC->CR, RCC_CR_HSIRDY) == RESET一直为真,而且HAL_GetTick() 一直返回是0,所以也达不到HSI_TIMEOUT_VALUE值,不会返回HAL_TIMEOUT,所以一直死循环。打开RCC->SR设备看到HSION Bit的确设置为1了,但是HSIRDY的确没有变成1

这会是什么原因导致的呢?难道STM32L4系列不支持模拟仿真吗?求各位大神指教~
收藏 1 评论2 发布时间:2016-11-9 17:17

举报

2个回答
peter001 回答时间:2016-11-10 08:48:12
修改一下代码,这个地方会卡住
小马-393649 回答时间:2016-11-10 09:34:19
peter001 发表于 2016-11-10 08:48
修改一下代码,这个地方会卡住

如何修改啊,我看都有人说使用PLL时,软件仿真会过不了,所以禁止了PLL,改为使用内部的HSI时钟源,还需要该啥啊?

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版