在做产品开发时,为了缩短研发周期,我们一般都是直接找来参考设计做参考。这些参考资料要么是来自原厂的,要么是来自方案商的。
接触过这么多的参考设计资料,发现大部分的资料都有一个通病,就是不少MCU的PIN脚定义都只是标出IO口的定义,其它复用功能往往是不标出来的。其实,这样的做法给我们做二次开发带来很多不便之处。
比如,我们在二次开发的过程中,需要用到串口,或者是SPI,又或者是ADC的时候,如果MCU的管脚定义仅仅是标出IO口的功能,而其它的复用功能我们完全不知道。
(资料图)
这个时候,我们每次都要找到芯片的规格书,一个一个去对PIN脚的功能定义,看哪个PIN脚的复用功能里有串口,或者是哪个PIN脚的复用功能里有SPI,又或者是哪个PIN的复用功能里有ADC。虽然这样的操作不是什么困难的事,但是给研发工作带来的不便不只是浪费了一定的时间,而且每次检查原理图都会担心芯片的管脚是不是连错了,因为我们不能第一时间知道这些管脚的复用功能是什么。
每当遇到这种情况,我的操作一般和别人不一样,不是既来之,则安之,而是把MCU的原理图封装重新修改一下,把每一个管脚的复用功能都加上去。
如何快速有效地修改MCU的管脚定义,是一个值得思考的问题。因为遇到一些管脚比较少的芯片,比如是20PIN,那修改起来就易如反掌,也不会出错,但是遇到一些是上百个管脚的芯片,就不是一件容易的事了,搞不好就会出错。
为了解决这个问题,我自己摸索了一些方法,尽可能快速,有效地完成芯片管脚定义的修改。
首先,进入元器件封装编辑器里,把MCU的管脚定义拷出来,放到一个新建的Excel里,这些管脚定义基本上是IO功能描述。
第二步,找到芯片的规格书,把每一个管脚的复用功能都拷到这个Excel表里。
第三步,把复用功能定义描述里的空格或者","替换成"/"。
第四步,打开代码编辑器编写如下代码。
第五步,运行代码后,可以看到每个管脚的IO功能定义和复用功能描述的字符串已经合并在一起了。
第六步,打开元器件编辑器,把元器件的管脚定义替换成以上合并后的字符串。
最后,管脚定义修改完成了,每一个管脚所有的功能定义描述基本上都显示出来了,效果图如下。