你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Jlink能正常烧写程序,但stm32就是不能正常工作

[复制链接]
dashiz 提问时间:2019-4-18 22:29 /
本帖最后由 dashiz 于 2019-4-18 22:35 编辑

新做了块板子,用的是STM32L151,用J-Link能正常连接,烧录程序。但MCU就是不工作。用示波器量了晶振的波形,没有波形,应该是晶振根本没有起振。单片机上的3.3V电压供应正常,晶振初步判断是好的。不知有没有人遇到过类似情况?请教一下是什么原因导致的?
另外,boot0接地,boot1悬空。
收藏 评论17 发布时间:2019-4-18 22:29

举报

17个回答
dashiz 回答时间:2019-4-25 15:57:36
今天用公司的示波器在晶振端量了一下,发现晶振已起振。确定是我自己的示波器有问题。
我自己用的示波器是便携式的,通过USB与电脑连接,在电脑上显示波形。品牌是PICo的,国外的,应该不会差的啊。而且奇怪的很,用它量现做板子的晶振波形,就出现如图15楼的不正常波形。测量旧版本的板子,波形就如15楼图正常波形。同样的测量方法,同样的晶振电路和因硬件,但波形就不一样,所以搞得我起先一点也没怀疑便携式示波器有问题。
dashiz 回答时间:2019-4-21 23:18:54
五哥1 发表于 2019-4-19 16:31
一般程序都会考虑外部晶振失效问题,在程序里把外部晶振设为首选,一旦程序检测外部晶振不工作,立马转到内 ...

今天把所有外设去除,用内部时钟源,用cubemx点了LED灯,发现可以运行。然后再打开外部时钟源,再下载程序发现LED灯也闪烁,但用示波器量晶振还是不正常,无波形。真是奇了怪了。
Dylan疾风闪电 回答时间:2019-4-19 10:03:07
1、keil里debug一下,查找程序卡死在那个环节。
2、如果卡在晶振就绪标志,查找硬件晶振电路是否有问题?晶振本身是否坏了?
3、使用内部时钟源,测试程序是否有bug。
-------------------------------------------------------------
一般均可通过dubug仿真找到问题点,先排除软件问题,再排查硬件。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wenyangzeng 回答时间:2019-4-19 07:21:20
楼主应该检查一下代码是否使能了HSE外部晶振。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

jyl_518 回答时间:2019-4-19 07:54:04
建议先用内部时钟源试下,

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

不吃肉的羊 回答时间:2019-4-19 09:08:57
你既然可以用JLINK烧录,那你就在MDK里面DEBUG跑一下,看下停在哪了了

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

dashiz 回答时间:2019-4-19 14:26:32
Dylan疾风闪电 发表于 2019-4-19 10:03
1、keil里debug一下,查找程序卡死在那个环节。
2、如果卡在晶振就绪标志,查找硬件晶振电路是否有问题?晶 ...

因板子是新做的,虽说是在原来板子基础上修改的,但是新做的,所以第一怀疑硬件问题。不过,晶振没起来,MCU都没工作,程序能跑,哪怕几步?
dashiz 回答时间:2019-4-19 14:27:20
不吃肉的羊 发表于 2019-4-19 09:08
你既然可以用JLINK烧录,那你就在MDK里面DEBUG跑一下,看下停在哪了了

晶振都没起来,MCU也没工作,程序能跑,哪怕几步?
dashiz 回答时间:2019-4-19 14:36:49
wenyangzeng 发表于 2019-4-19 07:21
楼主应该检查一下代码是否使能了HSE外部晶振。

代码是用的外部晶振。
dashiz 回答时间:2019-4-19 14:37:04
jyl518-283289 发表于 2019-4-19 07:54
建议先用内部时钟源试下,

好办法,谢谢。
五哥1 回答时间:2019-4-19 16:31:52
一般程序都会考虑外部晶振失效问题,在程序里把外部晶振设为首选,一旦程序检测外部晶振不工作,立马转到内部时钟源程序,还有对于一个新板子,楼主不妨直接用CUBEMX来弄个点灯程序,就是没有晶振,这个板子照样工作,你试下就知道了。几分钟的事。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

dashiz 回答时间:2019-4-19 16:41:14
五哥1 发表于 2019-4-19 16:31
一般程序都会考虑外部晶振失效问题,在程序里把外部晶振设为首选,一旦程序检测外部晶振不工作,立马转到内 ...

CubeMX没用过啊,不过晚上回去试试看。
jyl_518 回答时间:2019-4-22 12:51:32
很明显示波器问题,表笔是否有问题,输入阻抗要大。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

五哥1 回答时间:2019-4-22 13:15:08
如果排除你的示波器问题和示波器操作问题,你的问题就是没有问题。STM32F能正常点灯就是正常的。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

dashiz 回答时间:2019-4-22 22:46:53
本帖最后由 dashiz 于 2019-4-22 22:59 编辑
jyl518-283289 发表于 2019-4-22 12:51
很明显示波器问题,表笔是否有问题,输入阻抗要大。

我再查查,多谢。
abnormal.jpg
normal.jpg
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版