第二个月,10月8号,嘿嘿国庆的假期过得很快,我又要投入到工作中了,还有很多很多的事要做啊······周一,又开了一次会议,检查项目的进度(惭愧啊····我的项目都没有什么动静啊),会上结构工程师和硬件工程师在一个问题上是争吵得厉害,一个不服一个,这次,我还是没说什么话,只是回答了一些问题,说项目在进行着。这次开会也是40分钟左右,没什么收获,回去继续弄自己的。接着上个月的烧程序吧,菜鸟的每一次行动都是艰难的,看吧,这个烧程序,也有来折腾,刚开始keil软件一直提示“NO ULINK Found!”后来发现是线路没接好,因为自己接的线错了(唉,那7根线还真是要求够高的),程序烧进去了,但是串口怎么没数据出来呢(我写的是一个调试串口的程序,我想还是先把板子的通讯调通了,在弄其他的),奇怪,程序就是简单的让串口输出“hello motorola”,怎么没反应呢??老老实实检查吧!我先是用万用表测了串口和芯片部分的硬件连接,发现连接是没问题,回去检查软件,串口初始化、波特率什么的都没问题啊,为什么没数据呀······问老大,老大说,你自己debug下,一步步看下寄存器的值,看哪里有问题····额,行吧,自己找吧!因为串口一直连着的,突然有一天我无意在串口上看到了“hello motorola”····咦,怎么又有输出了呢???我重新烧了程序,串口又没数据了,奇怪。。。过了一会,它又有数据了。后来得发现,这哥们是烧写完程序,每次都是2分钟才显示数据,这就奇怪了,这是为什么呢?最后,发现是看门口狗的问题,每次烧写程序后要断电重启下,就可以工作了·····额,菜鸟就是这样被折腾的!嘿嘿,遇到问题,先自己想,想不出来,就QQ群里问,在不行跑到论坛上请教!把这板子调通了,还自己学习了操作这芯片的其他外设。
第二个月中旬,硬件又给了我一块新的板子(另一个模块的STM32F103B的板子),有了之前的学习,网上关于这芯片的资料也很多,项目要用这模块操作5个传感器,并将传感器采集的数据通过IIC进行通信。涉及到传感器和IIC,看了很多传感器和时序图,了解了IIC是怎么操作的,这里遇到了一些问题。第一,在烧写程序时,提示ERROR:“NO ARM Device Found in JTAG Chain Please check the JTAG and the connected devices”,无法加载flash编程算法,编程芯片没选对,但是检查了芯片的选型和options中选项,都没什么问题,在网上看到别人说,有可能是软件版本太低的问题,当时我用的keil4.12版本的,后来只能到官网上下载了一个keil4.6最新的版本,咦,居然程序烧写成功了,虽不是什么大的成功,但是对于我这个菜鸟来说,也算是一种激励了,毕竟又可以继续往下做了!O(∩_∩)O哈哈~,小乐了一下!第二、这问题算是纠结得比较久的问题了,由于硬件在设计原理图时,把JLINK的+3.3v弄成3.3v,结果JLINK的3.3v就没和其他的连接上,导致和JLINK3.3v管脚相连的RST脚上拉失败,RST一直处于低电平,所以,每次烧写程序进去的时候芯片就复位了,刚开始,硬件一直说是我软件的问题,在检测这个问题的一个半星期的过程中,我用万用表、示波器把板子进行检测,最后还发现了,硬件居然用100k(用10k就差不多了)的上拉电阻接在JLINK的3.3v和RST管脚之间,就算是3.3v接上了,也无法工作。最后,硬件工程师很不好意的说,“实在对不住啊,让您弄了这么久!”呵呵,这也没什么,别小看了一个小小的上拉电阻,它的作用很大,很关键。也好,这样我自己学会怎么去检测(软件点灯、单独控制某个外设,示波器观察串口的输出波形,)感谢硬件工程师的出错,让我学到了很多东西,提高了自己的动手能力!在此,谢谢他了!