• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

程序还没运行到主函数就进入硬件中断

f869ccc0e53982a0 2019-03-05 浏览量:1027
我的芯片是STM32F103CBT6,运行正点原子普通例程没问题   运行Freertos例程  还没到主函数执行到这RCC->CR |= (uint32_t)0x00000001;就进入硬件中断了,求教怎么回事
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • RCC->CR |= (uint32_t)0x00000001;
     |是按位或,最后结果是把RCC->CR二进制最后位置1
    功能是打开HSI内部高速时钟

    这里设置的时钟有问题,一般是如果有晶振是要设置成部的时钟的,最有可能的问题是这一句的设置与其他的时钟配置冲突 了。
    • 发布于 2019-04-02
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:13
  • 操作系统的配置可能出了问题
    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 系统配置问题。根据移植手册,检查下是否有遗漏
    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 启动文件的堆栈扩大一倍试试,把200改成400
    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般是驱动配置出了问题,主函数之前的按个调试,看具体在哪个部分
    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 初始化配置中出线了问题,这种比较笨的方法就是反复仿真,多设断点,看是在哪个函数里进入的硬件中断;再到这个函数里,设断点。逐步缩小范围,最终确定是哪一步出错了。
    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 看一下堆栈那些是不是没有设置正确
    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 是进入那个错误中断了吧,应该是RTOS移植问题,看看系统堆栈大小,起始地址这些
    • 发布于2019-03-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是在时钟配置函数中,时钟配置的参数不对生成的
    • 发布于2019-03-06
    • 举报
    • 评论 0
    • 0
    • 0

  • RCC->CR应该是时钟配置这块,看看系统配置,尤其是堆栈这块设置。
    • 发布于2019-03-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 参考下移植例程,主要还是时基设置和堆栈分配的问题。
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是时钟配置参数异常,看看在硬件中断之前的堆栈分配
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

程序还没运行到主函数就进入硬件中断