初篇先来个点灯,这个是可以在MDK开发,就不搭环境了,基本都会。
开发环境:KEIL4
工具:一个LED模块,一个LKS32MC037E开发板,一个烧录器+串口。
目的:测评环境搭建,GPIO的使用,查看程序是否跑起来,能不能成功点亮灯,并闪烁。
GPIO:P0_8,MCU5脚。
1、资料
框图:
寄存器:
2.原理图
3.照片:
4.代码:
主函数
LED1_TOGGLE; //翻转
初始化:
void GPIO0_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_StructInit(&GPIO_InitStruct); //
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; //
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8; //GPIO8
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; //
GPIO_Init(GPIO0, &GPIO_InitStruct);
GPIO_ResetBits(GPIO0, GPIO_Pin_8); //GPIO8 P0_8
}
void LED_Toggle(GPIO_TypeDef* GPIOx, uint16_t pin)
{
GPIO_Write(GPIOx, pin);;
}
void GPIO_Pin_Toggle(GPIO_TypeDef* GPIOx, uint16_t pin)
{
GPIOx->PDO ^= pin;
}
定义:
#define LED1_GPIO_PORT GPIO0 /* GPIO port */
#define LED1_GPIO_CLK RCC_AHB_PERIPH_GPIO0 /* GPIO port clock */
#define LED1_GPIO_PIN GPIO_Pin_8
#define LED1_ON {LED1_GPIO_PORT->BSRR = LED1_GPIO_PIN;}
#define LED1_OFF {LED1_GPIO_PORT->BRR = LED1_GPIO_PIN;}
#define LED1_TOGGLE {LED1_GPIO_PORT->PDO ^= LED1_GPIO_PIN;}
5.视频:
闪烁视频.rar
(4.57 MB)
|