uwyciw100
提问时间:2017-2-17 09:12 /
用cube产生一份代码,在初始化配制阶段,会死在下面这段代码中:
在工程中,查找到涉及到的几个定义和变量,如下:
谢谢!!! |
微信公众号
手机版
评分
查看全部评分
跟踪代码执行,在运行第一个函数时,SystemCoreClock 变为216000000(系统时钟),看来是超了systick。请问想使能systick,只需要在configureation->NVIC->code generation中勾选time base:system tick timer就可以了吗?systick的中断频率在哪里设置呢?
谢谢!
你先看下 HAL_Init(); 这个函数吧。
希望是在cubemx中直接配置最好不过了,找了半天,没找到在哪配制。
评分
查看全部评分
systick有哪些对应的设置项吗?我想设置周期,没找到
那么:SystemCoreClock * 90e-3 = 19440000 = 0x128a180
传递给SysTick_Config函数的参数值为0x128a180,超出了可接受的最大值0xffffff,因此函数内的第一个return起作用了。
检查你的时钟设置,降低HCLK频率,或者选择其他频率更低的时钟作为SysTick的输入时钟源。
如果你说明了你的MCU型号,可以帮你试试生成的代码,你没说,也就没法试了。
评分
查看全部评分
我把sysclk设置成108m是可以的,我用的是stm32f767,代码是使用simulink和stm32cube共同产生的,如果只使用stm32cube产生代码,没有这个问题。