上一步点灯前提https://bbs.elecfans.com/jishu_2296576_1_1.html工作已经做好了,这次开始点灯了.
点灯程序如下(在官方提供的demo基础上直接使用): 会玩stm32的真的可以直接玩这个了,和stm32差不多.
/*******************************************************************************
*
*/
/
/******************************************************************************
/******************************************************************************
/******************************************************************************
//KEY
volatile uint8_t gKey1Status,gKey2Status; /* set to 1 after User Button interrupt */
/******************************************************************************
/*****************************************************************************
/**
** \brief Main function of project
**
** \return uint32_t return value, if needed
**
** SPI FLASH(W25Q64)
** Success LED1亮
** Error LED2亮
**
** 引脚连接
** SPI SCK -- FLASH CLK
** SPI MOSI -- FLASH DI
** SPI MISO -- FLASH DO
** SPI CS -- FLASH NCS
**
******************************************************************************/
int32_t main(void)
{
//配置RCC
RCC_Configuration();
InitTick( 24000000 ); //24000000
//配置GPIO
GPIO_Configuration();
/* NVIC Configuration */
NVIC_Configuration();
gKey1Status = 0;
gKey2Status = 0;
while(1)
{
LED1_ON;
SysTickDelay(100); //200ms.
LED1_OFF;
SysTickDelay(100); //200ms.
//
LED2_ON;
SysTickDelay(100); //200ms.
LED2_OFF;
SysTickDelay(100); //200ms.
}
}
/**
*/
void RCC_Configuration(void)
{
//SYSCLK = HSI = 24MHz = HCLK = PCLK
RCC_HSI_Enable(RCC_HSIOSC_DIV2);
/* 使能所有外设时钟*/
CW_SYSCTRL->AHBEN = 0xFFFFFFFF;
CW_SYSCTRL->APBEN1 = 0xFFFFFFFF;
CW_SYSCTRL->APBEN2 = 0xFFFFFFFF;
}
/**
*/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//LED1
GPIO_InitStructure.Pins = LED1_GPIO_PIN;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.IT = GPIO_IT_NONE;
GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure);
//LED2
GPIO_InitStructure.Pins = LED2_GPIO_PIN;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.IT = GPIO_IT_NONE;
GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStructure);
//KEY1
GPIO_InitStructure.Pins = KEY1_GPIO_PIN;
GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
GPIO_InitStructure.IT = GPIO_IT_FALLING;
GPIO_Init(KEY1_GPIO_PORT, &GPIO_InitStructure);
//KEY2
GPIO_InitStructure.Pins = KEY2_GPIO_PIN;
GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
GPIO_InitStructure.IT = GPIO_IT_FALLING;
GPIO_Init(KEY2_GPIO_PORT, &GPIO_InitStructure);
//LED灭
LED1_ON;
LED2_OFF;
}
/**
/******************************************************************************
where the assert_param error has occurred.
然后编译 0错误0警告 ok
把板子通过烧录工具与电脑连接并进行程序烧录:
我是用的SWD方式,用到的引脚就4个,分别是ST Link V2上的 vcc、gnd、DIO、CLK这4个引脚。
开发板上的引脚和ST Link上的引脚对应
最后接线图
然后点MDK上的下载按钮进行程序下载。
下一步看
https://bbs.elecfans.com/jishu_2297427_1_1.html
更多回帖