我的战队
【RM2020 心得分享】青海大学河湟谷人 B板调试供电冲突处理

本帖最后由 富华 于 2019-12-22 17:42 编辑



关于解决Robomaster B型开发板HAL库开发过程中遇到串口输出异常的办法一、前言
ST公司出了一个新的库——HAL库,此库基本与ST全系列芯片兼容。配套的软件CUBEMX生成初始化代码,省去了很多开发时间。
在Robomatser比赛中,大也推荐使用其来进行开发。在开发过程中,遇上了一些奇怪的bug。

二、问题现象
使用cubemx生成了一个串口通讯程序,以下是发送的字符串。

uint8_t *Buffer="1234567890";
由于初始化代码由cubemx生成,自行添加的代码仅为

/* USER CODE BEGIN WHILE */

while (1) {
HAL_UART_Transmit(&huart2,Buffer,10,10);
delay_ms(1000);
//HAL_UART_Transmit(&huart2,a,2,10);
//delay_ms(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
} /* USER CODE END 3 */
上述代码在日常使用的其他型号开发板上使用正常,但是在使用robomaster B型开发板的时候会出现以下情况
在插接STlink的情况下其输出结果为:

1.png


结果很正常,但是一拔掉STLINK就会变为:

2.png


三、解决办法
通过多方面的检查,最后得出结论,在STlink供电时,STlink直接3.3v给芯片供电,此时开发板正常工作。

3.png


而单独使用USB转TTL模块供电时,由于内部分压,芯片进入了掉电状态。

4.png


所以在调试的时候,可以直接在开发板的电源输入端接入6S电,此时可以保证正常运作。

5.png


感谢天津理工大学队员在我们排除bug时的帮助。
顺便希望论坛早日支持markdown(小声的)
请问这篇文章对你有用吗?
【RM2020 心得分享】青海大学河湟谷人 B板调试供电冲突处理
所有评论
暂无更多
关于作者
0 关注Ta
0 文章
0 经验值
0 获赞