本帖最后由 电子烂人 于 2024-4-19 17:43 编辑
有幸在这次EEW 的”ST NUCLEO-U083RC“测评中入围,感谢EEW的各位伙伴对我的信任和支持
1.硬件PCB及原理图分析
收到板卡后的开箱如图:
ST通常都会给出NUCLEO的PCB及gerbar文件,这次的U083-nucleo也不意外:
各种资源文件很齐全,对于使用芯片的工程师再适合不过了
2.芯片手册分析:
ST给U0这颗芯片的定位为“使用电池供电的产品”,宣称可以减少两倍以上的电池消耗。
3.BLINK
废话不多说,直接来到开发板必备的“点灯”环节
环境为STM32cubeIDE,连接开发板后先更新STLINK驱动:
选择新建PROJECT工程--board seleder,搜索U083RC开发板:
新版CUBEIDE在选择板子之后会弹出一个是否生成演示代码的提示窗:
要注意的是,ST的U083这块板卡是没有X3这个晶振的,在BOM里也可以查得到,
通过PCB图看到,X3晶振链接的OSC-IN,对应的是PF1和PF0
在配置里修改HSE(osc)为BYPASS旁路时钟,不使用外部晶振;
生成代码如下:
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();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_I2C1_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Initialize leds */
BSP_LED_Init(LED_GREEN);
/* Initialize USER push-button, will be used to trigger an interrupt each time it's pressed.*/
BSP_PB_Init(BUTTON_USER, BUTTON_MODE_EXTI);
/* Initialize COM1 port (115200, 8 bits (7-bit data + 1 stop bit), no parity */
BspCOMInit.BaudRate = 115200;
BspCOMInit.WordLength = COM_WORDLENGTH_8B;
BspCOMInit.StopBits = COM_STOPBITS_1;
BspCOMInit.Parity = COM_PARITY_NONE;
BspCOMInit.HwFlowCtl = COM_HWCONTROL_NONE;
if (BSP_COM_Init(COM1, &BspCOMInit) != BSP_ERROR_NONE)
{
Error_Handler();
}
/* USER CODE BEGIN BSP */
/* -- Sample board code to send message over COM1 port ---- */
printf("Welcome to STM32 world !\n\r");
/* -- Sample board code to switch on leds ---- */
BSP_LED_On(LED_GREEN);
/* USER CODE END BSP */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* -- Sample board code for User push-button in interrupt mode ---- */
if (BspButtonState == BUTTON_PRESSED)
{
/* Update button state */
BspButtonState = BUTTON_RELEASED;
/* -- Sample board code to toggle leds ---- */
BSP_LED_Toggle(LED_GREEN);
/* ..... Perform your action ..... */
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
可以观察到,LED灯随按键按下变化:
WeChat_20240419174330