英飞凌无人机从入门到起飞前的问题及总结

来源:互联网 发布:vb timer控件的使用 编辑:程序博客网 时间:2024/06/11 20:58

我是从8月21日晚知道实验室有这个无人机的,师哥们没时间做,就交给我了,后来才知道这飞机到实验室已经快两个月了,居然一点没动,师哥们也是够忙的。

8月22日正式开始查各种资料,到今天也就3天吧,之前一直想做,但舍不得花钱,也就没弄,正好抓着这次机会了。好了,废话不说了,正式来说啦!(关于飞机的配置啥的百度一下就行,到英飞凌官网也可以查到,下面主要讲遇到的一些问题)

刚入手时,一般先调电调,板子上有自带的电调,下载程序需要使用jlink来接线,下图为电路图的接口以及jlink的接口

电调板上使用的是SWD模式,因此接线只需要接VREF-->VCC_3.3,GND-->GND,TMS-->SWD,TCK-->SWCLK。总共这四根线就够了,之后将程序下载进去就行。然后需要做的就是验证电调能否正常工作,这里就需要借助串口调试助手了,通过发送一串指令就可以了。刚开始调的时候以为要接板子上的PC_TXD,PC_RXD,但发送了指令后电调板一点反应也没有,于是开始怀疑程序的问题。其实实际需要用给的是X2的接口,也就是DY_TXD,DY_RXD,这样才可以,很多新手都会搞错。下面来代码里进行验证,可以究竟使用的是哪个引脚。先看下电路图里的DY_TXD,DY_RXD究竟连的是哪里,如下图所示



使用的是P1.4和P1.5,接下来看下代码里是怎么写的,先到初始化里,找到下面uart的初始化




然后接着往下找,在UART001_Init的尾部可以看到TX引脚的配置,




然后接着找UART001_HandleArray



最后,终于找到了,看下引脚确实是P1.5和P1.4,波特率是115200,名字是UART001_Handle0



当然上面仅仅是初始化而已,再看下main中的函数,可以看到整个main中都在轮询一个函数DaisyChain();




再看下DaisyChain();中有啥。看到了没,一直在读串口,而且是UART001_Handle0,也就是前面所用的P1.5,P1.4



至此,终于找到了,可能有的同学会问,可能串口函数还使用了中断接收呢,用来接收上位机的指令。好吧,那接着往下找吧,右键下图箭头的地方,选择Manual Resource Assignment




然后可以看到下图,如果使用了中断,后面会显示中断的名字,这里啥都没选,就证明没有用到中断!




接下来再通过串口来看下代码是否正确。下图为上位机的配置,要选择hex发送和显示!波特率115200,,输入代码 22 02 00 22 02 00 22 02 00 22 02 00 04,然后发送,这是下位机会返回你发送的指令,证明接收成功。



好了,终于结束了,码字好累。



0 0
原创粉丝点击