EEPW的Aurora工作效率真是高,报名获得资格后没多久,就收到“无线连接你的所见,让这个冬天更加特别”的活动板卡---STM32WBA55CG。
为了方便后续的测试,特意给STM32WBA55CG做了一个底座。STM32开发板的一个特点是:PCB板的两面都提供排针,虽然很方便连接外围模块,但也容易一不小心造成短路,所以我专门弄了一个底座,固定的同时,防止短路。
底座中排针座没弄成和开发板一样针脚数的,不然拔插开发板会很费力。
老规矩,开发板拿到手,一定要检查开发板是否正常。测试点灯程序是必须的一步。利用Cube MX先下载这个开发板的例程,
目前可用的最新版本是1.4.1版的。安装完成后,到对应的文件夹中找例程。
提供的工程支持Keil和Cube IDE,我比较喜欢用Eclipse的开发,所以选择使用CubeIDE导入工程,
主程序中:
/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_GPIO_TogglePin(LD1_GPIO_PORT, LD1_PIN); /* Insert delay 100 ms */ HAL_Delay(100); HAL_GPIO_TogglePin(LD2_GPIO_PORT, LD2_PIN); /* Insert delay 100 ms */ HAL_Delay(100); } /* USER CODE END 3 */
由宏定义
#define LD1_GPIO_PORT GPIOB #define LD1_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define LD1_PIN GPIO_PIN_4 #if defined (STM32WBA55xx) /* STM32WBA55xx */ #define LD2_GPIO_PORT GPIOA #define LD2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() #define LD2_PIN GPIO_PIN_9 #else /* STM32WBA52xx */ #define LD2_GPIO_PORT GPIOB #define LD2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define LD2_PIN GPIO_PIN_11 #endif
是让PB4和PA9所在LED1和LED2交替亮灭。
运行效果:
没有任何毛病。
顺便说一嘴,这个开发板使用的Type C电缆,有一点点特殊。我开始用的华为手机带的Type C电缆,拔插几次,才有可能成功一次,以前遇到过这种情况,是电缆的问题(Type C电缆的引脚模式有好几种)。可以试验几次不同的的Type C电缆,找到适合的。