大家好,拿到APM32F411V Tiny Board也有几天了,恰逢五一,导致今天才有时间来与大家分享,拿到这块板子,首先感觉是与ST的NUCLEO开发板很像,很简洁;因为都是针对MCU来做的芯片评估板,外设都需要自己去搭建,板子只是做个以最小系统运行的开发板。不过这样也好,既给厂家省了成本,又可以让用户做芯片评估,很合适。
拿到板子当然是要把板子展示一下。
从图中可以看出,极海的设计很有用心,有板载的方针烧录器,并且做了挖槽处理,方便仿真器掰下来给其他设备做调试使用,其次是板子布局很合理,采用DC05供电也可以采用type-c供电,同时预留了2个按键与1个复位按键,这是很有意义的预留,方便用户操作。采用的是双排排针两侧布局,将MCU的IO均有效引出,这可以方便用户们来评测。总之,很用心的电路设计。
接下来看看原理图,其实原理图我是从官网下载的,原理图仅将MCU部分的设计体现了出来,将仿真器的电路设计去掉了,其实大可不必,都是DAPLINK没必要藏着掖着啦,哈哈。
接下来就是板子的环境搭建了,其实APM之前的MCU是可以兼容ST家产品的,所以本着拿来就用的原则,我就采用HAL进行开发和应用喽。
由于使用的是HAL开发,那不如更省事儿的使用cubemx了,cubemx.启动。打开之后选择对应的芯片,使用STM32F411VET6,选择之后就可以进入到IO和其他外设配置了。
本次用的比较简单,就配置了外部晶振,LED2和LED3的IO和串口1,并且顺道把SWD使能,如果不使能,可能烧录就不方便了哦。
注:采用cubemx配置时钟的时候,最高频率是100MHz,但极海的MCU是最高支持120MHz,所以,100MHz也能用,何必不放过自己。那就配置成100MHz就好了。一切配置就绪之后,就可以生成工程了。
工程创建OK之后,就可以正常操作,这里划重点,由于使用的是STM32F411做的工程,所以如果你想原封不动就实现烧录是不可能的,所以需要在这里进行修改。配置好之后才可以调试和烧录哦
接下来就可以实现自己的代码了,我这里比较简单,创建一个变量,定义成helloworld。
char message[] = "hello world";
接下来在while里写以下的内容:
while (1)
{
/* USER CODE END WHILE */
HAL_UART_Transmit(&huart1,(uint8_t*) message,sizeof(message)-1,100);
HAL_GPIO_WritePin(GPIOE, LED3_Pin|LED2_Pin, GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOE, LED3_Pin|LED2_Pin, GPIO_PIN_SET);
HAL_Delay(1000);
/* USER CODE BEGIN 3 */
}
OK,操作到这里就可以编译一下了,编译肯定是没有报错的,那么我们就可以烧录到开发板了。烧录之后就会很神奇的发现,LED2和3会闪烁,同时打开串口助手软件,选择正确的USB虚拟串口之后,波特率选择115200,就可以看到软件显示区显示helloworld
到此,串口通讯与IO的基本控制就实现喽,很快,可以说APM是国产比较好的MCU厂家了,而且芯片很稳定可靠,应用也是十分方便,真的是很贴心。
|