stm32f407zgt6 是意法半导体(stmicroelectronics)公司推出的一款高性能arm cortex-m4核心的32位微控制器(mcu)。它是 stm32f4 系列的一员,具备强大的处理能力和丰富的外设功能,适用于各种应用领域。
【1】F407建工程所需依赖文件


















说明:STM32F4 的主频最高是 168Mhz,所以我们一般设置 PLLCLK 为 168Mhz(M=8,N=336,P=2),通过 SW 选择 SYSCLK=PLLCLK即可得到 168Mhz 的系统运行频率。
【3】分析LED硬件原理图


查看数据手册:


Led.c文件代码如下:
代码语言:j*ascript代码运行次数:0运行复制#include "led.h"/*函数功能:LED初始化硬件连接:PF8-->BEEP --高电平响PF9-->LED0 --低电平亮PF10->LED1 --低电平亮*/void LED_Init(void){/*1. 开时钟*/ RCC->AHB1ENR|=1<<5;//使能PORTF时钟 /*2. 配置GPIO口模式*/ GPIOF->MODER&=~(0x3<<8*2); //清除模式GPIOF->MODER|=0x1<<8*2; //配置输出模式GPIOF->MODER&=~(0x3<<9*2); //清除模式GPIOF->MODER|=0x1<<9*2; //配置输出模式GPIOF->MODER&=~(0x3<<10*2); //清除模式GPIOF->MODER|=0x1<<10*2; //配置输出模式 /*3. 配置GPIO口输出类型*/GPIOF->OTYPER&=~(0x1<<8); //0表示推挽输出GPIOF->OTYPER&=~(0x1<<9); //0表示推挽输出GPIOF->OTYPER&=~(0x1<<10); //0表示推挽输出/*4. 配置GPIO口输出速度*/GPIOF->OSPEEDR&=~(0x3<<8*2); //清除之前配置GPIOF->OSPEEDR|=0x2<<8*2; //50MHZ输出速度GPIOF->OSPEEDR&=~(0x3<<9*2); //清除之前配置GPIOF->OSPEEDR|=0x2<<9*2; //50MHZ输出速度GPIOF->OSPEEDR&=~(0x3<<8*2); //清除之前配置GPIOF->OSPEEDR|=0x2<<10*2; //50MHZ输出速度/*5. 配置GPIO口输出默认电平*/GPIOF->ODR|=1<<10; //输出1GPIOF->ODR|=1<<9; //输出1GPIOF->ODR&=~(1<<8); //输出0}Led.h代码如下
代码语言:j*ascript代码运行次数:0运行复制#ifndef _LED_H#define _LED_H#include "stm32f4xx.h"void LED_Init(void);#define LED0(x) if(x){GPIOF->ODR|=1<<9;}else{GPIOF->ODR&=~(1<<9);}#define LED1(x) if(x){GPIOF->ODR|=1<<10;}else{GPIOF->ODR&=~(1<<10);}#define BEEP(x) if(x){GPIOF->ODR|=1<<8;}else{GPIOF->ODR&=~(1<<8);}#endifMain.c代码如下
天天团购系统
天天团购系统是一套强大的开源团购程序,采用PHP+mysql开发,系统内置支付宝、财付通、GOOGLE地图等接口,支持短信发送团购券和实物团购快递发货等;另外可通过Ucenter模块,与网站已有系统无缝整合,实现用户同步注册、登陆、退出。 天天团购系统是一套创新的开源团购程序,拥有多达10项首创功能,同时支持虚拟和实物团购,内置类似淘宝的快递配送体系,并提供强大的抽奖、邀请返利等营销功能,让您轻松
0
查看详情
代码语言:j*ascript代码运行次数:0运行复制#include "stm32f4xx.h" // Device header#include "led.h"void DelayMs(u32 time){u32 a,b,c;for(a=0;a<time;a++)for(b=0;b<100;b++)for(c=0;c<450;c++);}int main(void){LED_Init();while(1){LED0(0);LED1(0);//BEEP(0);DelayMs(1000);LED0(1);LED1(1);//BEEP(1);DelayMs(1000);}}【5】编译代码 配置下载


Delay.c延时函数代码
代码语言:j*ascript代码运行次数:0运行复制#include "delay.h"/*功能 :毫秒级别的延时函数参数 :填入延时的时间返回值:无说 明:频率在168MHZ情况下使用*/void DelayMs(u32 time){u32 a,b,c;for(a=0;a<time;a++)for(b=0;b<100;b++)for(c=0;c<450;c++);}/*功能 :微秒级别的延时函数参数 :填入延时的时间返回值:无说 明:频率在168MHZ情况下使用*/void DelayUs(u32 time){u32 k;while(time--){k=40;while(k--);}}Led.c代码
代码语言:j*ascript代码运行次数:0运行复制#include "led.h"/*函数功能:LED初始化硬件连接:PF8-->BEEP --高电平响PF9-->LED0 --低电平亮PF10->LED1 --低电平亮*/void LED_Init(void){/*1. 开时钟*/ RCC->AHB1ENR|=1<<5;/
/使能PORTF时钟 /*2. 配置GPIO口模式*/ GPIOF->MODER&=~(0x3<<8*2); //清除模式GPIOF->MODER|=0x1<<8*2; //配置输出模式GPIOF->MODER&=~(0x3<<9*2); //清除模式GPIOF->MODER|=0x1<<9*2; //配置输出模式GPIOF->MODER&=~(0x3<<10*2); //清除模式GPIOF->MODER|=0x1<<10*2; //配置输出模式 /*3. 配置GPIO口输出类型*/GPIOF->OTYPER&=~(0x1<<8); //0表示推挽输出GPIOF->OTYPER&=~(0x1<<9); //0表示推挽输出GPIOF->OTYPER&=~(0x1<<10); //0表示推挽输出/*4. 配置GPIO口输出速度*/GPIOF->OSPEEDR&=~(0x3<<8*2); //清除之前配置GPIOF->OSPEEDR|=0x2<<8*2; //50MHZ输出速度GPIOF->OSPEEDR&=~(0x3<<9*2); //清除之前配置GPIOF->OSPEEDR|=0x2<<9*2; //50MHZ输出速度GPIOF->OSPEEDR&=~(0x3<<8*2); //清除之前配置GPIOF->OSPEEDR|=0x2<<10*2; //50MHZ输出速度/*5. 配置GPIO口输出默认电平*/GPIOF->ODR|=1<<10; //输出1GPIOF->ODR|=1<<9; //输出1GPIOF->ODR&=~(1<<8); //输出0}/*1/2000HZ=0.0005s=0.5ms=500us1/4000HZ=0.25ms控制蜂鸣器:产生2KHZ~5KHZ的方波即可*/void BEEP_Ctlrl(u8 cmd,u32 time){u8 i;if(cmd) //打开蜂鸣器{for(i=0;i运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。