本帖最后由 meiyaolei 于 2023-1-22 21:56 编辑
【AT-START-F437-测评】开发环境:KEIL
工具:437开发板,数据线一条
测评内容:首先是搭好的环境点灯,再使LED闪烁,再以200MS流水灯。
1、环境搭建就是安装KEIL,再装安装PACK文件。
2、资料
寄存器:
框架:
3.原理图
4.代码
LED初始化:
void LED_Init(void)
{
gpio_init_type gpio_init_struct;
crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE ); /* enable the led clock */
crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE );
gpio_default_para_init(&gpio_init_struct);/* set default parameter */
gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; /* configure the led gpio */
gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
gpio_init_struct.gpio_pins =GPIO_PINS_13 |GPIO_PINS_14|GPIO_PINS_15;
gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOD, &gpio_init_struct);
/*关掉LED*/
gpio_bits_set(GPIOD,GPIO_PINS_13);
gpio_bits_set(GPIOD,GPIO_PINS_14);
gpio_bits_set(GPIOD,GPIO_PINS_15);
}
LED定义:
#define LED2_GPIO_PORT GPIOD /* GPIO port */
#define LED2_GPIO_CLK RCC_AHB_PERIPH_GPIOD /* GPIO port clock */
#define LED2_GPIO_PIN GPIO_PINS_13
#define LED2_ON {LED2_GPIO_PORT->clr = LED2_GPIO_PIN;}
#define LED2_OFF {LED2_GPIO_PORT->scr = LED2_GPIO_PIN;}
#define LED2_TOGGLE {LED2_GPIO_PORT->odt ^= LED2_GPIO_PIN;}
#define LED3_GPIO_PORT GPIOD /* GPIO port */
#define LED3_GPIO_CLK RCC_AHB_PERIPH_GPIOD /* GPIO port clock */
#define LED3_GPIO_PIN GPIO_PINS_14
#define LED3_ON {LED3_GPIO_PORT->clr = LED3_GPIO_PIN;}
#define LED3_OFF {LED3_GPIO_PORT->scr = LED3_GPIO_PIN;}
#define LED3_TOGGLE {LED3_GPIO_PORT->odt ^= LED3_GPIO_PIN;}
#define LED4_GPIO_PORT GPIOD /* GPIO port */
#define LED4_GPIO_CLK RCC_AHB_PERIPH_GPIOD /* GPIO port clock */
#define LED4_GPIO_PIN GPIO_PINS_15
#define LED4_ON {LED4_GPIO_PORT->clr = LED4_GPIO_PIN;}
#define LED4_OFF {LED4_GPIO_PORT->scr = LED4_GPIO_PIN;}
#define LED4_TOGGLE {LED4_GPIO_PORT->odt ^= LED4_GPIO_PIN;}
LED流水灯:
void LED_Flash(void)
{
LED2_ON;
LED3_OFF;
LED4_OFF;
Delay_ms(200);
LED3_ON;
LED2_OFF;
LED4_OFF;
Delay_ms(200);
LED4_ON;
LED2_OFF;
LED3_OFF;
Delay_ms(200);
LED3_OFF;
LED2_OFF;
LED4_OFF;
Delay_ms(200);
}
LED闪烁:
void LED_blink(void)
{
LED2_ON;
LED3_ON;
LED4_ON;
Delay_ms(100);
LED2_OFF;
LED3_OFF;
LED4_OFF;
Delay_ms(100);
}
5.视频
|