AVR使用中应注意的一些问题
线(SPI)、单总线、USB、CAN、TCP/IP等。开发人员和程序员应了解低层协议,熟悉硬件怎样和如何实现低层协议,如何定义可靠的上层应用协议,以及低层协议驱动同上层应用协议之间的接口设计(中间层软件的实现)等。 硬件工程师的软件编写能力要提高,采用标准程序编写方式、完善的软件整体框架的设计、良好的数据结构和程序结构系统。(计算机软件专业的程序设计员对硬件不熟悉、大部分是在操作系统支持下编写软件,对低层接口和协议的驱动层以及接口也不了解,往往也编写不出好的单片机系统程序。) 通信接口的编写应尽量: 采用好的系统设计模式: 尽量不使用传统的前后台(中断)系统设计模式,任务之间相互影响和干扰,无法定时操作。如设计一个采用动态扫描方式驱动的8位LED数码管显示+动态扫描的4*4矩阵键盘。 采用TimeTip+状态机设计+CASE结构,实现多任务并行运行系统设计方法。或时间触发式的系统设计。(见:《时间触发嵌入式系统设计模式》中国电力出版社 2004.6) 移植小型嵌入式操作系统,如UCOS-II。在网上有些免费的基于AVR的简洁的操作系统。 提高C语言的编程能力和软件应用水平: 熟悉和用好C中的数据结构体、指针应用、内存管理等较高级的应用。 熟悉和了解你所使用的高级语言开发平台的特点。这些平台是针对某一类处理器的,包含许多特殊的不兼容的语句和扩展的结构、语句、函数等。尽管使用方便,但由于其不透明性和时间的不确定性,因此要合理使用。如C中的getchar()、putchar()等。 AVR有多个开发平台,每个都有其特点和不足。能够综合使用这些平台,相互互补,能够提高开发效率。如通过ICC、CVAVR的程序生成器CodeWizard学习和了解AVR的硬件设置,简化计算,快速的生成程序基本模块,如“一个URAT(RS232)低层驱动+中间层软件示例”。
- Flash损耗均衡的嵌入式文件系统设计(06-01)
- 锁相环控制及初始化简析(08-27)
- 基于AVR单片机的ISP1362OTG设计(09-06)
- 基于AVR单片机的串口转FSK的通信模块设计(01-23)
- 案例分析:基于AVR32的隧道环境监测系统(03-18)
- 科技帮我们远离灾难:灾难检测飞行器(03-18)