问题:点灯只是点亮不闪烁(板子NUCLEO STM32F446ZET)
本帖最后由 sunsherry12 于 2017-3-31 10:56 编辑采用的是stm32f4-std firmware\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates 模板文件,谢谢高手们
#include "main.h"
void delay(unsigned int us)
{unsigned char n;
while(us--);
for(n=0;n<9;n++);
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_14;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
while(1)
{
GPIO_SetBits(GPIOB,GPIO_Pin_7);
GPIO_SetBits(GPIOB,GPIO_Pin_14);
delay(200);
GPIO_ResetBits(GPIOB,GPIO_Pin_7);
GPIO_ResetBits(GPIOB,GPIO_Pin_14);
}
}
用cube吧,先把"点个灯"的文章看下,hal库干这个最方便了。 五哥1 发表于 2017-3-31 12:14
用cube吧,先把"点个灯"的文章看下,hal库干这个最方便了。
嗯嗯谢谢哈!但是这个为啥就不行呢
:lol:) 延时过后,瞬间点灯,切换状态,没有保持瞬间,试试GPIO_ResetBits(GPIOB,GPIO_Pin_14);后再加个延时。不知道可不可行。 aoxiangwode2008 发表于 2017-3-31 18:23
延时过后,瞬间点灯,切换状态,没有保持瞬间,试试GPIO_ResetBits(GPIOB,GPIO_Pin_14);后再加个延时。不 ...
刚试了应该不是这个原因,F4的时钟配置在system_stm32f4xx.c中要不要修改呢 sunsherry12 发表于 2017-3-31 15:18
嗯嗯谢谢哈!但是这个为啥就不行呢
错误的原因有一万种。用mx。
while(1)
{
GPIO_SetBits(GPIOB,GPIO_Pin_7);
GPIO_SetBits(GPIOB,GPIO_Pin_14);
HAL_Delay(200);
GPIO_ResetBits(GPIOB,GPIO_Pin_7);
GPIO_ResetBits(GPIOB,GPIO_Pin_14);
HAL_Delay(200);
}
}
这样改下试下
用CUBEMX 点灯干嘛把IO配置成上拉......
延时时间太短也是一方面....
while内要有2个delay
页:
[1]