DSP F2812编程总结和技巧
刚开始的时候学习DSP,就想找本书通读一遍,想把DSP一下子了解明白然后再编程。后来发现太费时间,在实际的工作中,杂事一大堆,根本没有时间把一本书详细的读完。何况在工作中,领导也是看不得你一天不干活,光看一天书的,呵呵,这也是工作中的无奈啊。于是找了个DSP开发板,装入那几个实例程序跑了一下,对DSP总算有了感性认识。然后仔细的分析阅读了2个实例的代码,一个是ADC采样转换实例,一个是定时器实例,发现DSP编程其实很简单,就是对硬件作相应的配置,然后用C语言写完业务代码就完了。有了这样的认识,使我对DSP的认识深入了,在我的眼中,DSP就是一个采用了哈佛流水线结构的高级单片机,F2812就是一个整合了各种通用接口,既能做到高速数据处理,又能使你的电路板尺寸大幅减少,布线变得简单的高集成度的芯片。
简单的了解DSP的特点和整体结构后,你就会发现,对于一个DSP编程人员,其实也许你没有必要把整个DSP都研究明白,你只需要把你所需要的那部分研究明白就行了。而最快速的使你的DSP程序运行起来的办法,就是首先找到一个和你的应用相似的实例程序,在此基础上进行修改。正是基于这样的思想,我仅用了两天,就熟悉了DSP利用串口和PC之间通讯的编程。因为你只需要把实例代码的配置参数修改一下,使之满足实际应用的需要,然后写两个函数,来处理自己的收/发数据功能就完事了。 依此类推,实际上对于DSP编程来说,真正和硬件打交道的那部分,实际上就是参数配置那部分,比如说确定使用哪个AD,使用多大的采样频率,定时器配置为多长,串口的通讯方式的制定等等。当你把这些配置好后,你完全可以认为,你就是在一个写一个过程式的PC程序,而不是在为DSP写代码,因为两者实际上并没有什么区别。不要抱怨DSP的硬件配置参数太多,其实实例中的大多数参数都不需要修改,只要把几个和自己的硬件不一致的参数找到并修改一下就行了。 坦白的说,我不太喜欢做DSP的编程工作,它又使我回到了那种过程式的编程思维中,又使我不得不大量的采用switch case 语句,大量的使用全局变量,如此等等。它使我重新回到了过去,回到了刚开始使用C语言的那个时代。那个曾经青涩的年代。对比与这些过于底层的编程开发,我倒是非常的喜欢那种利用高级语言,高屋建瓴地进行大规模的程序开发设计的工作。也许是现在自己变得缺乏耐心,反正我觉得这种底层软件的开发真的是很琐碎。 无论如何,到现在为止,我可以说,DSP编程开发工作,自己已经入门,可以结业了。 |