在LED灯的实验中,我的led.c的程序如下:
==================================
#include "stm32f4xx.h" //在SYSTEM目录下可以找到
#include "sys.h"
void LED_Init(void){
RCC->AHB1ENR = 1<<5; //使能GPIO端口的F时钟
GPIO_Set(GPIOF,PIN9|PIN10,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_25M,GPIO_PUPD_PU);
//PFout(9) = 1;
//PFout(10) = 1;
}
==================================
然后test.c的主函数如下:
=================================
#include "sys.h"
#include "delay.h"
#include "led.h"
int main(void){
Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz //思考一下为啥要设置整个时钟(到时可参考时钟那章节);
delay_init(168); //初始化延时函数
LED_Init();
while(1){
 
Fout(9) = 0;
delay_ms(500);
 
Fout(9) = 1;
delay_ms(500);
}
}
=================================
在我的led.c中,我设置PF9和PF10为上拉推挽输出,
那说明其默认情况下就是高电平,为何,我若不在LED_Init()函数里边
不强制将PF10置1,PF10就一直亮呢?难道用默认的上拉就
不能使其不亮么?
---------------------------------
就是因为电流太弱了。
---------------------------------
..........
一周热门 更多>