本帖最后由 EPTmachine 于 2023-11-16 22:30 编辑
开箱以及点灯、串口输出操作
11月10收到了论坛发来的板卡,本次测评的板卡是NUCLEO-U5A5ZJ-Q,在板卡的介绍中,板载的芯片为STM32U5A5ZJT6Q,在STM32系列芯片中属于超低功耗的高性能MCU。
1.1开发板资源概览
开发板的实物图如图所示。板载了ST-Link V3调试器、3色LED灯、一个复位按键、一个用户按键,Arduino接口以及一个Type C的USB口。
板卡上的外设资源分布如下
1.2 MCU功能概览
在官方的介绍界面可以看到MCU的功能框图,搭载了Cortex M33内核,160MHz的最高主频,丰富的外设资源(19个定时器,包括各种类型的定时器;UART、USB、SPI、I2C等常见的通讯接口;ADC、DAC、比较器、运算放大器等模拟外设;触摸IO和摄像头接口),支持ART图形加速引擎,支持TrustZone等,总的来说MCU的资源适合大多数低功耗场景下的应用。
1.3 串口和LED控制
通过查看原理图可知,LED1连接在PC7、LED2连接在PB7、LED3连接在PG2。USART1的TX引脚PA9和RX引脚PA10连接到调试器的VCP_TX和VCP_RX引脚。
程序的开发环境选择STM32CubeIDE,在IDE中创建工程时,选择NUCLEO-U5A5ZJ-Q板卡来创建工程,板卡上的LED和USART1的引脚已经初始化完毕,可以在程序中直接使用。
在主函数中添加串口重定向的代码和LED翻转、串口打印的代码。
添加串口重定向函数
/* USER CODE BEGIN PFP */
#if defined (__ICCARM__) || defined (__ARMCC_VERSION)
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#elif defined(__GNUC__)
/* With GCC, small printf (option LD Linker->Libraries->Small printf
set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#endif /* __ICCARM__ || __ARMCC_VERSION */
/* USER CODE END PFP */
/* USER CODE BEGIN 4 */
/**
* [url=home.php?mod=space&uid=247401]@brief[/url] Retargets the C library printf function to the USART.
* @param None
* @retval None
*/
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the USART2 and Loop until the end of transmission */
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
/* USER CODE END 4 */
在主函数中添加演示代码
/* USER CODE BEGIN 2 */
printf("\r\n*********************************\r\n");
printf("U5A5ZJ UART_LED_Demo\r\n");
printf("*********************************\r\n");
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
printf("Toggle the LED\r\n");
HAL_Delay(1000);
HAL_GPIO_TogglePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin);
HAL_Delay(1000);
HAL_GPIO_TogglePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin);
HAL_Delay(1000);
HAL_GPIO_TogglePin(LED_RED_GPIO_Port, LED_RED_Pin);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
代开串口调试助手可以看到串口打印的数据以LED灯的翻转。
|