建议点灯前先完成 EVB_MX+ TencentOS tiny物联网开发板上手脱坑指南(一、设备上报数据/下发控制指令)开发
一、添加函数,配置引脚
打开TencentOS-tiny-master\board\TencentOS_tiny_EVB_MX_Plus\BSP\Hardware文件夹,新建一个E53_SC1文件夹
二、在文件夹中添加E53_SC1.c及E53_SC1.h
E53_SC1.c参考代码
#include "E53_SC1.h"
#include "stm32l4xx.h"
#include "stm32l4xx_it.h"
#include "main.h"
/***************************************************************
* 函数名称: Init_LED
* 说 明: 初始化E53_SC1的LED灯
* 参 数: 无
* 返 回 值: 无
***************************************************************/
void Init_LED(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
/* GPIO Ports Clock Enable */
SC1_LED_GPIO_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(SC1_LED_GPIO_Port, SC1_LED_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = SC1_LED_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(SC1_LED_GPIO_Port, &GPIO_InitStruct);
}
E53_SC1.h参考代码
#ifndef __E53_SC1_H__
#define __E53_SC1_H__
/* 包含头文件 ----------------------------------------------------------------*/
#include "stm32l4xx_hal.h"
/* 控制设备IO口定义 ------------------------------------------------------------*/
#define SC1_LED_Pin GPIO_PIN_9
#define SC1_LED_GPIO_Port GPIOB
#define SC1_LED_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
void Init_LED(void);
#endif
三、在Keil工程Hardware文件夹中添加E53_SC1.c
四、添加路径
五、在board_init函数中进行引脚初始化
六、添加开关灯函数
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);
七、编译下载测试
成功点灯智慧路灯,亮瞎#眼。
如有错误,欢迎指出,谢谢!