风子 发表于 2016-8-25 12:03
实际上就是频率太快
如果是这样的话,为什么会是一直亮灯,而不是一直不亮呢?谢谢!
nashchen17 发表于 2016-8-25 12:49
才加到30應該不夠,建議用timer試試看
本人新手,刚看到gpio,timer是什么?能给我介绍一下吗?
硬件有一个晶振位置 ,和仿真器上的晶振应该是一样的,上面写的是8M
用这个里面的,在他们上面改出错率低些
用仿真器单步走,这个就要看你先执行的操作会导致什么结果了。
本帖最后由 pener 于 2016-8-26 09:11 编辑
能不能关闭灯
STM32F0DISCOVERY板上是没有带外接晶振的,你如果采用外部晶振,会卡死在起振查询的地方
本帖最后由 profile5 于 2016-8-26 09:29 编辑
暗爪侠 发表于 2016-8-25 19:31
如果是这样的话,为什么会是一直亮灯,而不是一直不亮呢?谢谢!
因为led灯亮起来,熄灭后会有 余辉, 数码管扫描就是这个原理。。。
个人觉得也可能是delay的问题。。。这儿30000真心不大,建议构造一个delay函数,里面使用双层嵌套循环来延时,记得打开后加延时,关闭后也加延时
超频了,改成使用hsi
while (1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_9);
GPIO_ResetBits(GPIOC, GPIO_Pin_9);
}
这两条一开一关指令跑起来,1mS都不用,LED灯在狂:开关开关开关,电灯泡20MS闪的频率都看不到闪,这个怎么分的清LED在闪呢?
如果是开,停一下,再关,再停一下,再开,再停一下,是不是就很容易看清LED闪了。