通过前面的学习,对环境搭建有了了解,通过例程的学习来创建自己的项目文件。我这里通过点亮LED流水灯来熟悉GPIO的输出设置。
一、开发板硬件电路图
有关LED灯部分电路图
1.1、LED2和LED3电路图
1.2、LED1电路图部分
创建自己的工程文件
2.1、main.c
int main(void)
{
CPU_CACHE_Enable();
HAL_Init();
SystemClock_Config();
LED_Init();
while (1)
{
led1_tog();
HAL_Delay(100);
led2_tog();
HAL_Delay(100);
led3_tog();
HAL_Delay(100);
}
}
2.2、led.c
#include "config.h"
void LED_Init(void)
{
GPIO_InitTypeDef gpio_init_structure;
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOE_CLK_ENABLE();
gpio_init_structure.Pin = GPIO_PIN_0|GPIO_PIN_7|GPIO_PIN_14;
gpio_init_structure.Mode = GPIO_MODE_OUTPUT_PP;
gpio_init_structure.Pull = GPIO_NOPULL;
gpio_init_structure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(GPIOB, &gpio_init_structure);
}
2.3、led.h
#ifndef __LED_H
#define __LED_H
#define led1_on() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET)
#define led1_off() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET)
#define led1_tog() HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0)
#define led2_on() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET)
#define led2_off() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET)
#define led2_tog() HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_7)
#define led3_on() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET)
#define led3_off() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET)
#define led3_tog() HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14)
void LED_Init(void);
#endif
三、测试结果
引用: huo_hu 发表于 2020-5-14 23:33 我有这个板子,网卡一直没弄通,等现成的哦
没弄通是指?这个板子是LAN8742吧,我用lan8720,cubemx生成可以用在lan8720上,不过Mpu需要改动下
引用: RCSN 发表于 2020-5-15 10:39 没弄通是指?这个板子是LAN8742吧,我用lan8720,cubemx生成可以用在lan8720上,不过Mpu需要改动下
是,但是ping不通,固定ip和DHCP都不行