STM32调试心得
最近在学习STM32F103,刚刚学习不久,很多问题都让自己莫名其妙,通过多次调试,总算是解决了,可能调试的方法很多大神都能熟练运用了,但像我这种菜鸟,有些关键点真的是相见恨晚啊,分享一下,能共同进步。
资金有限,一直是用之前51的开发板板载资源以及一块stm32核心板,对照着网络视频课程进行GPIO控制、流水灯、时钟设置等等操作的学习,学习中断时遇到了问题,程序是用按键作为外部中断来控制LED的亮灭,按照视频一步一步写完程序后,发现按键按下后并不能起到相应的效果,采用Keil 的Debug调试,一步一步能完美运行,百思不得其解啊,后来经历各种查询,总算是找到问题所在了,这里向大家介绍一种方法,即串口打印调试。
是修改前的中断服务函数,看起来并没有什么问题,直到用到串口打印printf()时,才算找到问题。
通过增加这两句,让中断每次进入时都能进行一次n值的输出,通过电脑上的串口打印助手观察n的变化,总算找到问题:n的输出并不是稳定加1的,而是几乎全都输出为偶数,这就造成了每次按下按键,都会多次进入中断函数,导致LED的变化不稳定,通过修改delay的时间,才算是解决了问题,进而发现这个问题是我的板子有问题导致的,因为我后期又用了自己制作的按键电路板替代原来的按键电路来运行这个程序,毫无问题,可见问题就出在板子的按键上。
个人认为这种问题还是挺难遇到的,但通过这个问题,学到的这个调试的办法真是受益无穷,这个办法可能很多大神都早就熟练使用了,但如果我不是从网络上无意间看到,真的是很难自己领悟到。在这里还要有几个关键点需要注意:1
printf函数在STM32上使用,要"重新定向"到自己的串口。
2
Keil在编译时,要在Keil选项卡中勾选MiscroLIB选项,即使不勾选,在编译时也不会报错,但程序运行会出现问题。
3
printf是C语言的标准函数,所以使用printf函数,要在头文件上包含"stdio.h"这个头文件。
我打赌你没有见过如此丰满的身材吗?霍莉卢亚这位迷人的美女和模特1991年11月15日出生于美国波特兰。长大后,霍莉决定搬到洛杉矶开始她的歌手生涯,这是她一生中迈出的一步,她一直住在那里,一直持续到今天。此外,搬家后
末日捕食者吞噬第十一章初就在这时,咲华突然察觉到了有视线在时不时的偷瞄这边,于是他凭着感觉瞟去。只见苏冥战战兢兢的躲在一面墙体后面偷看着这里,嘴里一直在支支吾吾的嘀咕着些什么。见状,咲华回想起来
末日捕食者吞噬第八章人噢,小心点。啊啊谢了。江大哥将咲华一把拉上车的后座。咲华随意的找了个位置,用手拍了拍,坐了上去。就在不久前,咲华与在场的人认识了一番,不过给他留下深刻印象的只有寥寥几人。那
恶搞段子苦b的女儿1我哥有个1岁大的女儿,那天我在客厅里听到我哥在咆哮我当年哄你妈睡觉都没有那么难!!!2儿子睡觉不让关灯,爸爸哄道儿子,你晚上开着灯睡只会让怪兽更容易找到你。3前几天冷了。我妈说穿
末日捕食者吞噬第五章夕阳希望那便是我几天前所经历的噩梦破旧的大楼群,最高的那栋大楼上,咲华躺在楼边角上,好像随时都会掉下去一样。唔啊诶诶!?果不其然,咲华伸了一个懒腰之后,居然直接就掉了下去!这
浪客短篇在长平之战三十年后,中原决战四年后,我在都城邯郸,见到了他,虽然他已经和我儿时见到的模样不一致了。为了这一天,我等了很多年。我们是在一家小酒馆里会面的。你一直都是那幅样子。他穿着件
末日捕食者吞噬第十章延续距离咲华将众人安排到地洞里,已经过去了两个小时,天色已经完全的黑了下来。快点快点!那边那个,火不要太大了!诶诶诶,另一个,不要在那边偷懒,注意好外面咲华如同一个战地指挥官
末日捕食者吞噬第六章苏冥没没事吧!喂没事吧!睡梦中的咲华,忽然被一阵刺耳的声音给吵醒了。咲华睁开一点点的眼皮,用时而模糊时而清晰的视线看向周围的场景只见四周狂沙于天空中与风共舞,狂妄的在天地间肆
末日捕食者吞噬第十二章救世者?待定?我还以为我隐藏的很好呢,不过问题不大,我已经得到了我想要的情报了。咲华踹完没多久,从车子的底盘下突然滑出一个女子,整个过程行云流水,非常的丝滑。这家伙绝非常人
点燃星短篇杞人周朝,杞国,杞桓公姒姑容身着华服蟒袍,端坐于高台之上,唉声叹气。他本不该如此忧虑。自己虽算不得多么贤明,但也赶上了风调雨顺的好时候,臣子大夫说不得多忠诚,但也都遵守礼乐之教。王
末日捕食者吞噬第四章新生新生这里是雨水滴打在咲华的脸颊上,他微微睁开那对眼皮,从地上爬起,意识开始逐渐清晰起来。不对,有什么不对劲!是的,咲华全身上下的感官都清晰了起来,但这未免也太清晰了一点,