这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【STM32Nucleo-C031C6样片开发】开箱与呼吸灯

共43条 1/5 1 2 3 4 5 ›| 跳转至

【STM32Nucleo-C031C6样片开发】开箱与呼吸灯

专家
2023-02-18 22:35:03     打赏

    1月12日意法半导体全新发布了一款32位MCU-STM32C0,用于经济高效应用的入门级32位MCU,STM32C0为8位/16位典型应用而生。STM32C0系列外设简单,经济适用;与市场上同类产品相比,STM32C0具有更强大的性能、质量可靠性和稳定性,具有STM32庞大成熟的生态系统,是实现8位/16位典型应用的完美之选。

     上周收到Nucleo-C031C6板卡了,外包装采用纸盒封装,板卡使用防静电袋包装。

包裹.jpg 开发板.jpg        开发板的正面与底面依旧采用STM32的通用白色铺板,C031C6封装大小与ST-LINK调试器F103C8T6一样。

正面.jpg背面.jpg      纸盒内留有获取开发资源渠道的卡片,提供了二维码的链接:Access quick guides

开发板连接好电脑后,弹出类似U盘一样的提示符。

U盘图标.png

       打开此“U盘”,里面包含了“MBED.HTM”html文件,链接:https://os.mbed.com/platforms/ST-Nucleo-C031C6/

       简单操作一样开发板,板子出厂时默认的按钮控制三种不同灯闪频率的程序,现象如下(这里文件大小受限,截取小段视频演示):出厂默认程序.gif        接下来,下载基于Nucleo-C031C6的pack包,打开Keil的Pack Installer图标。

下载pack支持包.png      点击上图中的标识处,则可跳转到下载Pack网页

下载地址.png下载进度如图所示:

下载进度.png      下载完成后,双击打开,默认安装选项即可。然后下载STM32CubeMX最新版6.7.0工具,下载地址:STMCubeMX,打开工具,选择board模式进入工程创建。

选择board方式.png选择NUCLEO-C031C6.png开始创建工程.png管脚配置.png时钟配置.png生成工程源码.png        按照上述截图步骤,可以快速构建点灯工程框架,默认配置即带用户按钮(PC13),LED4(PA5)的外设。根据原理图可知,PA5输出高电平则点亮LED4。

LED4原理图.pngen.MB1717-C031C6-B02_Schematic.zip

        生成Keil工程源码后,使用Keil工具打开,在工程中稍加部分代码,即可实现LED4灯呼吸效果。部分代码展示如下:


#include "main.h"


I2C_HandleTypeDef hi2c1;

UART_HandleTypeDef huart1;


void SystemClock_Config(void);

static void MX_GPIO_Init(void);

static void MX_I2C1_Init(void);

static void MX_USART1_UART_Init(void);


void Breathe(void)

{

int i=0;

int time = 50;

for(i=0; i<time; i++)

{

HAL_GPIO_WritePin(Led_GPIO_Port, Led_Pin, GPIO_PIN_SET);

HAL_Delay(i);

HAL_GPIO_WritePin(Led_GPIO_Port, Led_Pin, GPIO_PIN_RESET);

HAL_Delay(time - i);

}

for(i=time; i>0; i--)

{

HAL_GPIO_WritePin(Led_GPIO_Port, Led_Pin, GPIO_PIN_SET);

HAL_Delay(i);

HAL_GPIO_WritePin(Led_GPIO_Port, Led_Pin, GPIO_PIN_RESET);

HAL_Delay(time - i);

}

}


int main(void)

{

      HAL_Init();

      SystemClock_Config();

      

     MX_GPIO_Init();

     MX_I2C1_Init();

     MX_USART1_UART_Init();

     while (1)

     {

Breathe();

      }

}


void SystemClock_Config(void)

{

  RCC_OscInitTypeDef RCC_OscInitStruct = {0};

  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};


  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;

  RCC_OscInitStruct.HSEState = RCC_HSE_ON;

  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)

  {

    Error_Handler();

  }

RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

                              |RCC_CLOCKTYPE_PCLK1;

  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSE;

  RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;

  RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV1;

  RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV1;


  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)

  {

    Error_Handler();

  }

}


static void MX_GPIO_Init(void)

{

  GPIO_InitTypeDef GPIO_InitStruct = {0};


  /* GPIO Ports Clock Enable */

  __HAL_RCC_GPIOC_CLK_ENABLE();

  __HAL_RCC_GPIOF_CLK_ENABLE();

  __HAL_RCC_GPIOA_CLK_ENABLE();

  __HAL_RCC_GPIOB_CLK_ENABLE();


  /*Configure GPIO pin Output Level */

  HAL_GPIO_WritePin(Led_GPIO_Port, Led_Pin, GPIO_PIN_SET);


  /*Configure GPIO pin : User_Button_Pin */

  GPIO_InitStruct.Pin = User_Button_Pin;

  GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;

  GPIO_InitStruct.Pull = GPIO_NOPULL;

  HAL_GPIO_Init(User_Button_GPIO_Port, &GPIO_InitStruct);


  /*Configure GPIO pin : Led_Pin */

  GPIO_InitStruct.Pin = Led_Pin;

  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

  GPIO_InitStruct.Pull = GPIO_NOPULL;

  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;

  HAL_GPIO_Init(Led_GPIO_Port, &GPIO_InitStruct);


  /* EXTI interrupt init*/

  HAL_NVIC_SetPriority(EXTI4_15_IRQn, 0, 0);

  HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);

}

         编译完成后,直接下载到开发板中,复位一下开发板,呈现的现象如下,此次分享就告一段落了,感谢EEPW举办的此次评测活动。

呼吸灯效.gif

简单的呼吸灯效果演示



高工
2023-02-18 22:57:45     打赏
2楼

还真棒!

楼主继续发力


专家
2023-02-19 01:31:52     打赏
3楼

感谢楼主的分享,很实用了。


高工
2023-02-19 03:56:34     打赏
4楼

感谢楼主的分享,很实用了。


专家
2023-02-19 07:52:43     打赏
5楼

感谢分享。


工程师
2023-02-19 08:06:31     打赏
6楼

感谢分享


专家
2023-02-19 08:28:17     打赏
7楼

感谢分享


高工
2023-02-19 09:04:34     打赏
8楼

感谢分享


院士
2023-02-19 12:31:42     打赏
9楼

谢谢楼主的分享~!


助工
2023-02-23 13:14:08     打赏
10楼

不错,感谢分享


共43条 1/5 1 2 3 4 5 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]