【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
昨天收到Discovery,今天玩了下板子,主要是GPIO口应用和系统时钟设置。GPIO的应用和stm32f1xx系列单片机有所区别,一是把GPIO口输入端的上下拉电阻移动到了GPIO公共端口;二是端口时钟接到了AHB,而不是APB,所以能以最高时钟运行。因此,GPIO口的配置有所改变,具体见附件工程。
Discovery的默认时钟是外部时钟8MHz,来源ST-Link的MCO输出(8MHz),所以外部晶振X3默认无效(更改方法见附件资料),经内部倍频至180MHz作为主时钟。并且库函数SystemInit()默认功能也是这样。
F4的SysTick定时器设置和F1一样,没有区别。
看了下官方提供的例程,觉得有点繁琐,便自己写了点程序。具体官方提供的资料可以参考附件。
关于附件SysTick程序,System_Clock_Init(SYSCLK),功能将系统主时钟设置为 SYSCLK MHz,由于SysTick的时钟源是主时钟的1/8,因而这里SYSCLK最好是8的倍数,否则会因为除法除不尽导致延时不准。
delay_init(SYSCLK)函数为初始化SysTick定时器,SYSCLK和主时钟频率一致,单位MHz。
回复:【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
先顶下。RE:【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
谢谢楼主分享!:DRE:【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
;P;PdingRE:【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
MCO from ST-LINK (from MCO of the STM32F429ZIT6)This frequency cannot be changed, it is fixed at 8 MHz and connected to PH0-OSC_IN
of the STM32F429ZIT6. The configuration needed is:
– SB18 closed, SB19 open, R56 removed
– SB20, R57, C20, C21, X3 = don't care
板子默认的是使用X3晶振,但是SB18又没有断开!你们的板子也是这样的吧?
RE:【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
官方的例程能正常运行不?RE:【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
ding:D:D回复:【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
看看!回复:【STM32F429开发日志】SysTick应用,系统时钟设置,点亮LED(工程源码+Discovery参考资料)
回复第 5 楼 于2014-05-26 10:20:05发表:MCO from ST-LINK (from MCO of the STM32F429ZIT6)
This frequency cannot be changed, it is fixed at 8 MHz and connected to PH0-OSC_IN
of the STM32F429ZIT6. The configuration needed is:
– SB18 closed, SB19 open, R56 removed
– SB20, R57, C20, C21, X3 = don't care
板子默认的是使用X3晶振,但是SB18又没有断开!你们的板子也是这样的吧?
这里我也有些疑问,不过默认是MCO应该是没问题的(我短接ST-Link后单片机卡死,而短接X3没有此现象)。
我猜是那个X3接了一个220欧电阻至单片机OSC-OUT引脚,使晶振信号无效。