Stellaris ARM 例程入门:从空main()到LED闪烁

需积分: 10 1 下载量 85 浏览量 更新于2024-09-18 收藏 120KB PDF 举报
"ARM1138的例程 - 基本C语言程序设计与实用工程模板介绍" 本文档主要介绍了基于ARM架构的Stellaris系列微控制器的几个基础编程例程,特别是针对ARM1138型号。这些例程对于初学者来说是很好的入门学习材料,帮助理解如何在没有操作系统的情况下进行嵌入式系统开发。 1.1 空的main()函数 在C语言中,一个最简单的程序通常包含一个空的main()函数,如程序清单1.1所示。它不执行任何操作,仅通过return语句返回0,表示程序正常结束。然而,在嵌入式环境中,尤其是当不使用操作系统时,main()函数通常不会返回,而是采用无限循环(如for(;;)或while(1))来保持程序运行,避免因返回导致的未知问题,如程序跑飞或死机。例如,程序清单1.2展示了适用于Stellaris系列ARM的典型main()函数结构。 1.2 实用工程模板 为了简化开发流程,周立功单片机发展有限公司提供了名为"Demo"的IAR EWARM开发环境实用工程模板。这个模板包含了一个预配置好的工程,开发者可以在此基础上直接修改"main.c"等文件,进行自己的应用开发,而无需从零开始创建新工程。这种方式极大地提高了开发效率,减少了繁琐的设置步骤。 1.3 LED闪烁及流水灯 LED闪烁是最常见的嵌入式系统示例之一,用于验证硬件连接和基本的软件控制。在ARM1138上,这通常涉及到对GPIO端口的配置和定时器的使用,以控制LED的亮灭周期。流水灯则是进一步扩展,通过按顺序点亮多个LED来展示更复杂的定时和数据处理能力。 1.4 蜂鸣器奏乐 蜂鸣器演奏音乐通常涉及对PWM(脉宽调制)或者定时器的使用,通过改变信号的占空比来模拟不同音调。在ARM1138上实现梁祝这样的曲目,需要编写相应的音乐编码并将其转换为控制蜂鸣器频率和持续时间的指令序列。 1.5 UART控制台 UART(通用异步收发传输器)是串行通信接口,常用于设备间的通信或实现控制台输出。在ARM1138中,使用UART可以实现通过串口发送和接收文本信息,例如打印"hello world"到终端,这对于调试和远程监控非常有用。 以上内容详细阐述了基于ARM1138的Stellaris系列微控制器的基本程序设计,包括从简单的main()函数到更复杂的硬件驱动和应用实例。通过这些例程,开发者可以逐步熟悉ARM架构的编程特性,掌握嵌入式系统开发的基础技能。