拿到开发板也有段时间了,可是一直最近才开箱玩上那么一玩,第一次用L系列的芯片,不过早在之前就有听那些大神在讨论这款低功耗的芯片,上次参加活动申请到L496的开发板。
不过我们拿到板子一般都是从点灯开始的,下面先来点个灯。
由于那个啥病毒导致没网所以只能贴几段代码,其他CUBE配置的步骤以及生成工程的步骤就贴不了图,没网也截不了图。手机拍照也不好看,所以就瞎看吧。
根据电路图以及CUBE配置好IO口,以及时钟,生成代码我们就可以进行操作。
我使用的是MDK keil集成开发环境
使能用到的IO口时钟
- __HAL_RCC_GPIOC_CLK_ENABLE();
- __HAL_RCC_GPIOB_CLK_ENABLE();
复制代码 IO口的配置
根据那个电路图我们可以知道,输出高电平,就可以点亮LED灯,所以初始化的时候我们设为低电平,方便后面看现象
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|LD3_Pin|LD2_Pin, GPIO_PIN_RESET);
- HAL_GPIO_WritePin(LD1_GPIO_Port, LD1_Pin, GPIO_PIN_RESET);
复制代码 接下来我们在main函数进行这样的操作就可以流水灯实验了 - int main(void)
- {
- /* USER CODE BEGIN 1 */
- /* USER CODE END 1 */
- /* MCU Configuration----------------------------------------------------------*/
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
- HAL_Init();
- /* Configure the system clock */
- SystemClock_Config();
- /* Initialize all configured peripherals */
- MX_GPIO_Init();
- /* USER CODE BEGIN 2 */
- /* USER CODE END 2 */
- /* Infinite loop */
- /* USER CODE BEGIN WHILE */
- while (1)
- {
- /* USER CODE END WHILE */
- /* USER CODE BEGIN 3 */
- HAL_GPIO_TogglePin(GPIOC, LD1_Pin); //此函数是控制电平翻转的
- HAL_Delay(500);
- HAL_GPIO_TogglePin(GPIOB, LD2_Pin);
- HAL_Delay(500);
- HAL_GPIO_TogglePin(GPIOB, LD3_Pin);
- HAL_Delay(500);
-
- }
- /* USER CODE END 3 */
- }
复制代码 接下来编译,由于NUCLEO-L496ZG开发板上集成了stlink模块,因此我们不需要其它下载工具,直接就可以烧录程序,实现结果如下图所示:
结果是LD1,LD2,LD3逐个点亮,再逐个熄灭,无限循环,实验测试完毕。
|