[开发工具]

使用stm32cube后出现的问题

[复制链接]
9093|20
手机看帖
扫描二维码
随时随地手机跟帖
feiante|  楼主 | 2014-10-12 17:57 | 显示全部楼层 |阅读模式
由于看论坛,发现stm32cube应该是今后ST的一个趋势,所以今天开始学习一下,按照STM32cubeF4的用户手册中的教程学习,也就是配置一个定时器TIM3,产生1s定时中断让LED灯闪烁。
使用的板子是STM32F407VG的评估板。
配置好后,按照教程,加入了如下的程序:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
        if (htim->Instance == htim3.Instance)
        {
                HAL_GPIO_TogglePin(GPIOD,GPIO_PIN_14);
        }
}
编译后下载正确,并且LED也会闪烁,可是再次下载时就报告找不到目标mcu:fatal error:ST-Link,No MCU device found。
这是怎么回事,应该怎么处理呢?
feiante|  楼主 | 2014-10-13 11:51 | 显示全部楼层
已经解决了,原来是在设置中,选择了set all free pins as analog.

使用特权

评论回复
小浣熊| | 2014-10-13 19:44 | 显示全部楼层
feiante 发表于 2014-10-13 11:51
已经解决了,原来是在设置中,选择了set all free pins as analog.

厉害啊!!

使用特权

评论回复
mmuuss586| | 2014-10-13 20:50 | 显示全部楼层

还没用过这个软件;
研讨会上有介绍;
听了之后感觉挺好的;

使用特权

评论回复
feiante|  楼主 | 2014-10-14 08:45 | 显示全部楼层
小浣熊 发表于 2014-10-13 19:44
厉害啊!!

软件上写的推荐,我就选择了,呵呵

使用特权

评论回复
feiante|  楼主 | 2014-10-14 08:46 | 显示全部楼层
期待教程出来

使用特权

评论回复

使用特权

评论回复
小浣熊| | 2014-11-13 15:12 | 显示全部楼层
feiante 发表于 2014-10-14 08:45
软件上写的推荐,我就选择了,呵呵

哦,那看来还是得相信权威呀:lol

使用特权

评论回复
ningzb| | 2014-11-13 17:07 | 显示全部楼层
楼主试过串口通信么?由于CPU内部没有FIFO,用心的软件和FreeRTOS之后,容易造成接收数据时中间的数据会丢,处理不过来,还没有解决,我用的是STM32F207ZE

使用特权

评论回复
mf1111| | 2015-2-11 19:11 | 显示全部楼层
feiante 发表于 2014-10-13 11:51
已经解决了,原来是在设置中,选择了set all free pins as analog.

那不能下载的问题是怎么解决的呢?

使用特权

评论回复
mf1111| | 2015-2-11 20:17 | 显示全部楼层
本帖最后由 mf1111 于 2015-2-11 20:20 编辑
mf1111 发表于 2015-2-11 19:11
那不能下载的问题是怎么解决的呢?

刚刚自己解决了。。。
首先在网上下一个Flash_Loader_Demonstrator软件,这个软件可以通过串口给STM32下载程序,跳线连接BOOT0 = 1,BOOT1 = 0。按照软件提示一路next下去,下载一个未设置“set all free pins as analog”的hex文件,重新上电后就又可以通过STLINK下载了。
ps,在STM32CUBE里面如果非要使用“set all free pins as analog”功能,记得把PINOUT -> SYS -> Debug选上“Trace ...”或者“JTAG...”,这里默认是disable,直接导致的结果就是自己把自己锁上。。。

使用特权

评论回复
圣骑士by| | 2015-3-23 16:46 | 显示全部楼层
mf1111 发表于 2015-2-11 20:17
刚刚自己解决了。。。
首先在网上下一个Flash_Loader_Demonstrator软件,这个软件可以通过串口给STM32下载 ...

不用那么麻烦 把boot0改成1 然后按reset 然后仿真器就好用了,
因为boot0改成1,就不从flash启动了,jtag引脚就不会被初始化了

用Cube的时候要注意jtag引脚不要被初始化成普通IO

使用特权

评论回复
foxglove| | 2015-3-24 14:36 | 显示全部楼层
圣骑士by 发表于 2015-3-23 16:46
不用那么麻烦 把boot0改成1 然后按reset 然后仿真器就好用了,
因为boot0改成1,就不从flash启动了,jtag ...

把boot0改成1 然后按reset 然后仿真器就好用了,
因为boot0改成1,就不从flash启动了,jtag引脚就不会被初始化了

使用特权

评论回复
songchenping| | 2015-3-24 14:44 | 显示全部楼层
确实挺好用的。省去了用户大部分时间。

使用特权

评论回复
xiaocui0475| | 2015-3-24 16:49 | 显示全部楼层
是个好方法,确实要注意这个问题,否则怎么也下载不进去的。

使用特权

评论回复
ncywin| | 2015-3-26 11:27 | 显示全部楼层
兄弟我用MX,配置TIM3怎么不中断,谢谢了

使用特权

评论回复
bainianbutu| | 2015-5-31 23:34 | 显示全部楼层
if (htim->Instance == htim3.Instance)
这一句什么意思呀?  

使用特权

评论回复
mayyfj| | 2016-11-14 11:30 | 显示全部楼层
@楼主,
我想说,你讲的不对,你所描述的问题与设置“set all free pins as analog”并没有什么关系,而是STM32Cube默认PINOUT -> SYS -> Debug是 No Debug模式,你需要把它设置为你需要的Debug方式,我一般用SW下载,所以我选Serial Wire。
请再次分享,谢谢支持!

使用特权

评论回复
无帝老三| | 2016-12-13 17:43 | 显示全部楼层
mark下,接下来要学习cube了

使用特权

评论回复
ksgt00865899| | 2017-5-15 15:08 | 显示全部楼层
mayyfj 发表于 2016-11-14 11:30
@楼主,
我想说,你讲的不对,你所描述的问题与设置“set all free pins as analog”并没有什么关系,而是S ...

你好,我使用SW两根线下载的,我还以为是DEBUG里要选SW调试呢。为什么不是选SW调试?是选了SW调试就无法再用SW下载了吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

510

帖子

1

粉丝