笔者机械出身,英语可谓是烂到极点,曾几何时觉得学习英语太low,把数理化学好才能显得更聪明。但遗憾的是似乎自己既没有把英语学好,也没有把数理化学好。以为英语跟自己的距离就像自己与月球的距离 -
遥不可及。可从毕业后偏偏干上了单片机这个行当,结果当自己在面对项目中那么多的芯片,那么多的英文手册的时候真是举步维艰。可恨自己当初的想法是多么幼稚与可笑的。
对于从事电子行业的人而言,学好英语的重要性自不必说,毕竟学好英语并非一朝一夕之事,我们也不可能等到把英语学好了才开始从事单片机这个行业。那么,问题来了,对于同样英语不好的你该怎么去看只有英
文数据手册的MCU呢?
在此总结一下我的学习经验,看看能否让同样英语基础不好的你得到些启发。
一:硬件模块的方框图以及寄存器
当我们利用单片机开发一个项目时,我们首先要做的就是看对应芯片的数据手册。对于英文数据手册而言,我们可以从两个方面做为切入点。
1:硬件模块方框图
C:/Users/Administrator/AppData/Local/YNote/data/qq3F3AF51F618E47699C3A439CE720209B/e1c5e51a6ffe430ba83b8c2372cb43a9/clipboard.png
看硬件方框图的好处在于对硬件模块有一个更深入的了解。比如上图中是MSP430FR2111的系统时钟模块图,系统有几个时钟源(外部晶振,REFO,VLO,MODO。至于VLO,REFO是什么还是需要看看英文文档的,不
过这部分内容一般是介绍性的,靠翻译软件就能搞定),受到什么控制(比如外部晶振受XT1BYPASS控制,XT1BYPASS是时钟系统寄存器中的一个开关位。),如何为CPU选择时钟(受系统时钟寄存器中的SELMS位
以及CPUOFF控制),一目了然。特别在做低功耗时了解系统时钟结构是很有必要的。对硬件模块整体有些了解后,就知道了他们之间的关系,我们接着来看第二点-寄存器设置。有时候我们只要知道这硬件结构图
+寄存器设置就能知道一个硬件模块该怎么用,而不需要去看中间很多的英文论述(当然,有时候这样做是有隐患的,所以对于自己从没有了解过的部分要特别注意)。
2:直接看寄存器设置
先来看个系统时钟模块相关的一个寄存器
file:///C:/Users/Administrator/AppData/Local/YNote/data/qq3F3AF51F618E47699C3A439CE720209B/3fbe528d9de2437ca65d13e85dff154e/clipboard.png
从寄存器中可以看出,为CPU以及外SMCLK可以通过该寄存器中的SELMS位来选择,简单明了。
直接看寄存器设置有几个好处。第一个好处就是英文少,不关注原理,只关注具体功能,配合硬件模块图,只要有点基础就容易看懂。第二个好处是实在看不懂直接按照默认设置来,通常也能满足常用的需求。
除了系统时钟。定时器、串口、ADC模块等操作对于不同的MCU也有比较大的相似性。有时候我们仅仅需要看硬件结构图+寄存器就能掌握一些硬件寄存器的操作,但是这是建立在自己已有一定基础上,知道这个
部分操作与其他我们用过的其他MCU操作是类似的。 如果碰上自己从没遇到过的东西还是要自己去啃英文了。
二:去官网下载例程
一般而言,现在很多芯片公司的MCU都有相应的操作例程,甚至有相应的库函数。一般都能在官网或者百度上搜到。它能大大减少我们自己去研究底层硬件操作的时间。
三:寻求芯片技术支持的帮助
对于竞争激烈的中低端MCU市场,除了拼技术,还要拼服务。所以,不要忘记或者不好意思从技术支持那里获得帮助,毕竟项目更快更好的完成是双赢的。
四:寻找同系列的其他有中文资料的MCU手册
有时候我们虽然找不到我们目标MCU的中文手册。但是,我们有可能找到同系列的其他的MCU中文手册,他们在一定程度上有一定的相似性。比如TI的MSP430系列、cc系列。
再多的再好的方法也不及自己提高英文水平,毕竟方法总有失灵的时候,但是你的英文却不会失灵。所以,大家知道该这么办的。
最后,想问一问你的英文好吗?对于英文不好的你是怎么阅读英文的技术文档的?对于英文好的你,你是怎么让自己没有障碍的阅读英文的技术文档的?
|