初级会员

- 积分
- 105
- 金钱
- 105
- 注册时间
- 2017-11-9
- 在线时间
- 18 小时
|
1金钱
学习STM32,大约七天了。收获吧,有一部分。我来讲讲这几天的收获吧,我买了原子哥的战舰,但是真正学的却是F0,在一块FO上的最小系统上移植F1的代码。参考的是野火和原子哥两家的代码,为什么这么做呢。那是因为原子哥的我以前学过,但是学的不是很好,可能和我的基础有关系所以一直没学会好。
最开始我也用了战舰的开发板,但是自己不知道在学习点亮LED灯的时候写了啥,把MCU加密了。弄了好久,最终用请教了大神和原子哥才解决。很感谢自己遇到的人。
之后就一直用FO了,因为开始加密了,不会解开。慢慢也就习惯了,移植的第一个代码是学习USART,以前觉得很难理解,现在跟着视频学习在初期还是很棒的,但是可能没仔细,在学完中断后再用getchar函数的时候,怎么也打印不出来。反反复复检查代码,花了两天最后原来是中断没有关闭,死在中断里面了。说实在的这个我没检查出来,一直不知道是这个原因。后来听别人指点的。我是等到第二天再把视频开了一遍,才发现原来真的是这个原因。在视频中有重点提到,不过貌似我真的当初没注意 。
今天在学习中断这部分,也许会觉得有点乱?但是吧因为我在USART中有用到,但是目前虽说会用了,但是不明白为什么要用这个,中断也就仅仅停留在书本上的概念。为此我看到贴吧一页很有意思的比喻,这里引用一下:
好比一个课堂上,有多个同学要问问题,那就要举手(发生中断,但是有好几个),老师看到了,但只能先点一个同学的名字,同学们的年龄有大有小,老师当然是照顾年龄小的同学(优先级的值越小,优先级越高),让这个同学站起来阐述他的问题(处理中断),这个同学说完问题坐下来就不用举手了(中断执行 )。但其他同学在这个过程手必须举着,这时他们的状态就是“挂起”(执行了挂起中断函数),等刚刚那个同学说完问题坐下来,老师就可以点他们的名字了(处理被挂起的中断,就是解挂)
很有意思的比喻,而且很容易理解。
|
|