犯了一个极其傻瓜的错误,中间的跳线没有接上去,导致忙活了一个晚上一直都搞不定,自己苦思冥想了一个晚上,最终还是去找学长帮忙,搬来了示波器看一下是否有信号输出,结果发现没问题,学长可能有这方面的开发经验吧,研究了一下板子,告诉我中间的跳线没有接上去。
其实如果是第一次弄这个,碰到这些问题我倒觉得没什么了,之前已经实现过,他们在做的过程中,肯定碰到了没有注意到这里的问题呀,结果竟然没有一个人提醒我,大家都回家了,不是什么事情都应该是放在脑子里,中间碰到过什么问题,都应该写下来,这样大家才能够更好地进入后绪开发呀,在某些人离开之后,还是可以把工作继续下去呀。
从刚开始配环境是这样,到现在弄硬件还是这样,脑子里装的东西尽早会忘掉了,只有写下来,才能记住呀。
首先,在配置环境的时候,因为开发板比较低端,所以H-JTAG选用V031就可以了,高级版本的扩展对这次的开发没有任何好处。
然后,是安装ADS1.2,这方面没有什么特别的,按照安装下来就可以了,注册文件是CRACK文件夹里面。
再次,CodeWarrior IDE里面没有什么需要配置的,只需要配置AXD,网上有下载好的EasyJTAG的驱动程序,在AXD调试环境下加载,当然,先得把下载好的驱动程序放到ARM/ADSv1_2/BIN里面,然后再将EasyJTAG.dll加载,当然还需要将H-JTAG.dll加载,具体步骤参见上一个文档。
就此,环境基本配置好了,编程的时候,因为中断方式只支持1,4,8,16个字符,所以对于不定长的,只能使用查询方式,虽然查询方式会慢一些,但是基本没有大碍。由于查询方式也要先确定先输入多少字符,所以先接收一个字符当做长度,然后再接收剩下的字符。
这时候又碰到一个问题,明明我设置接收的比如说是7个字符,结果输出的反而是8~9个字符,这下又让我郁闷了,想到一个很BUG的方法解决,就是将第八个字符设置为/0,这样就可以继续用strcmp进行比较。
然后程序编完了,剩下是蓝牙,R应该是接到T,T接到R,还有就是,中间的跳线应该注意接上。
其实在深入浅出ARM7的第16页讲跳线的时候,就有讲到这一段,应该将跳线器短接到你需要使用的功能,才能够用(今天一天基本就纠结在这一个问题上了)。
其它的以后再说吧,希望不要再碰到更多的问题了。