B-L462E-CELL1是ST一块基于蜂窝网络的开发板,其主要应用就是在IOT市场。它一共分为主板,天线,风扇驱动板三部分。
其中主板以LBAD0ZZ1SE模块为核心,该模块包含一颗低功耗的MCU:STM32L462REY6TR,一颗LTE模块:LBAD0XX1SC-DM,一个GSMA认证SIM卡:ST4SIM-200M和1M QSPI Flash。同时主板上还集成了多个传感器:六轴传感器: LSM303AGR,温湿度传感器:HTS221,气压传感器:LPS22HH,外置64M QSPI Flash,16M EEPROM,低功耗带PCM和I2C接口的CODEC。
STM32L462REY6TR是ST一颗超低功耗MCU,基于Arm Cortex-M4内核,内置512KB flash,16KB RAM,带AES硬件加密,WLCSP64封装,尺寸低至:3.36X3.36,待机模式下功耗可低至106nA。
大大购相关商品 B-L462E-CELL1 >> 查询存货及售价
该开发板集成了各种传感器,可用于在大部分IOT应用的开发,如:智能家居,智慧农业,智慧城市等。下面就ST的MCU的配置工具STM32CubeMX,简单介绍该Demo板用ST的工具如何生成代码:
- 打开STM32CubeMX,选择“Start My project from ST Board”;
2. 输入“B-L462E-CELL1”,出现该开发板后,直接双击开发板,这时候会提示“Initialize all peripherals with their default Mode?”,直接点选“Yes”。
3. 生成如下图界面,绿色的部分是按照开发板的功能已经配置好的MCU的引脚定义,也可以按照自己需要的功能去进行配置。
4. 以 PC4 为例,目前配置为USART3_TX,如果需要更改其引脚定义,双击改PC4,选成其他定义,同时在左边对应的Connectivity,Analog或者Timer中配置成
5. 进入Project Manager界面,在Project Name下面敲入项目名称(英文),在Toolchain/IDE下面选择对应IDE,再选择“Generate Code”即可生成对应的开发
以我们的生成的代码为例,STCubeMx主要是生成各个外设的初始化配置,如果要启动该外设,需要加入对应外设:如ADC,UART,TIM等启动代码。为了后续
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();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* Configure the peripherals common clocks */
PeriphCommonClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_ADC1_Init();
MX_I2C1_Init();
MX_QUADSPI_Init();
MX_RNG_Init();
MX_RTC_Init();
MX_SPI1_Init();
MX_SPI3_Init();
MX_TIM2_Init();
MX_TIM3_Init();
MX_USART1_UART_Init();
MX_USART2_UART_Init();
MX_USART3_UART_Init();
MX_USB_PCD_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* USER CODE BEGIN RTOS_MUTEX */
/* add mutexes, ... */
/* USER CODE END RTOS_MUTEX */
/* USER CODE BEGIN RTOS_SEMAPHORES */
/* add semaphores, ... */
/* USER CODE END RTOS_SEMAPHORES */
/* USER CODE BEGIN RTOS_TIMERS */
/* start timers, add new ones, ... */
/* USER CODE END RTOS_TIMERS */
/* USER CODE BEGIN RTOS_QUEUES */
/* add queues, ... */
/* USER CODE END RTOS_QUEUES */
/* Create the thread(s) */
/* definition and creation of defaultTask */
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
这样我们一个完整的基于B-L462E-CELL1开发板的代码就生成了,用户也可以按照自己的实际需求去更改。在烧录程序的部分,因为该开发板已经集成了ST-LINK,
所以可以使用IDE或者STM32CubeProgrammer工具直接烧录,不需要再另外外接烧录工具。
官方参考链接:
B-L462E-CELL1开发板:https://www.st.com/en/evaluation-tools/b-l462e-cell1.html
评论