各位,新年好。有个奇怪的问题困扰我几天了,一直调不好。我用网上的比如野火、硬石的HAL程序,在Keill里就是不能运行下去,我查了一下,是卡在SystemClock_Config()这一段里出不来,具体就是卡在if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)这一句上。已经排除硬件原因,我用3.5标准库文件编程,时钟程序是可以运行,但用HAL,就是不行。我自己用stm32cubeMX编了一个简单的LED点亮程序,也是不行。不知问题出在哪里了,折腾了我一个春节。 今天同事电脑上试过,他编译后可以运行。我把同样的程序弄到我电脑上,用keil打开编译,也不行了。郁闷啦。 不知有没有同学碰到过类似情况,请教。 STM32cubemx版本是V6.4.0, Keil用V5.25和V5.35都试过。 |
怎么获取SMBus示例代码
如何设计硬件R-2R梯形网络电路,得以输出16bit的分辨率?
stm32编码器模式3采1200ppr的编码器转一圈为啥是计数器是2400不是4800?
No source available for "uwTickPrio0 at 0x20000004
stm32输入捕获模式下,TIM_ICFilter的值选择不解,盼求解
我想找STM32网口的设计方案
使用STM32F103控制两步进电机同时进行不同的运动(软件指令驱动),与控制一个电机的不同之处在于哪里?
STM32F103在用stm32cubeide编程,用stlink烧录调试的时候
STM32 HID和CDC组合设备无法枚举成功
Failed to execute MI command
[md]SystemClock_Config是在main.c里,时钟和LED外设都是在STM32cubemx里配置好的,应该没问题。我同事也检查过我的cubemx设置和keil程序,和他电脑上一样,但就是在我电脑上编译后不行,而他的没问题。
[md]我也怀疑是硬件问题了。刚才我在家里用野火的霸道板写了LED闪烁的程序,运行正常,看起来Keil和cubemx版本没问题。周一上班我用示波器测量一下看看。
多谢鱼老弟,多谢热心解答的诸多网友,谢谢。
[md]start.s开始的时候要先运行SystemInit,这里如果时钟配置不对,后面运行会受影响。从你的描述上看,是tick不增加,tick中断不能正常工作导致的。你用的外部晶振是多大的?
HAL_GetTick()看一下tick是不是正常增加。SystemClock_Config是在自己的代码中,还是system_stm32f1xx.c中的?如果是自己的代码中,可能是system_stm32f1xx.c这个里面的系统配置不对,需要修改对应的晶振配置为电路板实际的。103默认应该是25Mhz。
STM32F103使用CUBEMX需要对时钟树进行配置
STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Examples\GPIO\GPIO_IOToggle\
[md]是的,我的设置也是这样,但就是不行啊。
HSI试过了,也不行。应该不是电路问题,我用3.5标准库编过程,运行没问题。
8M的,
你看一下system_stm32f1xx.c中HSE_VALUE的值是多少?
是8000000。我查了一下,在system_stm32f1xx.c和stm32f1xx_hal_conf.h里都有如下定义:
#if !defined (HSE_VALUE)
#define HSE_VALUE 8000000U
#endif /* HSE_VALUE */
能不能把你测试的这个工程传输上来。我看一下。
[attach]485470[/attach][attach]485471[/attach] 我把所有文件都上传上来,所以文件尺寸大于9.8M了,只能分两个压缩文件。请帮忙看看,多谢。
看不到文件啊。你可以把output或者debug的内容删除掉就小了