Stellaris LM3S系列ARM基本例程解析
3星 · 超过75%的资源 需积分: 12 162 浏览量
更新于2024-07-26
收藏 316KB PDF 举报
"LM3S基本例程 - 包括I/O口、PWM和串口UART的实例"
在本文档中,我们主要探讨的是基于LM3S微控制器的基本编程例程,涉及I/O口、PWM(脉宽调制)以及串行通信UART(通用异步收发传输器)。这些例程对于初学者来说是很好的入门教程,同时也适用于那些希望快速理解LM3S系列ARM芯片功能的开发者。
1.1 空的main()函数
在C语言编程中,一个最基本的程序通常以一个空的main()函数开始,该函数不做任何实际操作。标准的main()函数原型是`int main(void)`,它没有参数且返回整型值0,表示程序正常结束。然而,在嵌入式系统中,特别是当不使用操作系统时,main()函数通常不应当返回,以免导致系统异常。因此,在LM3S系列的代码中,我们可以看到main()函数通常被设计成无限循环的形式,例如`for(;;) {}`或`while(1) {}`,以确保程序持续运行。
1.2 实用工程模板
为了简化开发流程,周立功单片机网站提供了名为"Demo"的IAR EWARM(IAR Embedded Workbench for ARM)开发环境下的工程模板。这个模板允许开发者直接在现有工程基础上进行修改,而不是从零开始创建新项目。这大大节省了时间和精力,提高了开发效率。
1.3 LED闪烁发光
这是一个常见的I/O口操作示例,用于验证硬件连接和基本的编程技能。通过配置LM3S的GPIO端口,设置输出模式,并控制特定引脚的状态(高电平或低电平),可以实现LED灯的周期性开关,从而观察到LED的闪烁效果。
1.4 输出"hello world"
这个例子展示了如何使用串口UART将文本数据发送到控制台。首先需要初始化UART接口,设置波特率、数据位、停止位等参数,然后通过写入字符数组到UART寄存器来发送"hello world"字符串。在终端设备(如Windows超级终端)上,可以接收到这些输出并显示在屏幕上。
1.5 UART控制台
UART不仅用于输出信息,还可以接收来自外部的数据。通过设置中断,可以实现与外部设备的双向通信。例如,当接收到数据时,可以触发中断服务程序,处理接收到的信息。
1.6 利用Windows超级终端调试UART
Windows超级终端是一个常用的串口通信调试工具。开发者可以使用它来连接LM3S设备,实时查看UART发送和接收的数据,帮助调试UART相关的程序。
1.7 使用ROM库编程
LM3S系列微控制器通常提供了一套ROM库,包含了一系列预编译的函数,用于简化诸如I/O、定时器、中断等常见任务的编程。使用ROM库可以提高代码的可移植性和开发速度。
总结起来,LM3S基本例程覆盖了从简单程序结构到实际硬件操作的关键方面,包括I/O口的控制、PWM的配置以及串口UART的通信。通过这些例子,开发者可以逐步掌握LM3S微控制器的使用,为更复杂的应用打下坚实的基础。
2011-11-27 上传
2014-03-23 上传
2022-09-20 上传
2012-03-12 上传
116 浏览量
点击了解资源详情
135 浏览量
2011-05-02 上传
zsx001205
- 粉丝: 0
- 资源: 3
最新资源
- matlab代码sqrt-SVMHeavy:创建SVM和东西,是因为上传在旧存储库上不起作用(旧版本由于某些原因而持续存在)
- numerical_mathematics
- 易语言枚举并预览系统字体
- iOS 13.2真机测试包
- BLDCM,svm算法在matlab源码,matlab源码网站
- TreatLife-HomeKit:TreatLife DS0X调光器开关的开源固件,可用于本机HomeKit
- creddit:[Android应用]使用Nativescript和VueJS制作的Android Reddit客户端
- matlab代码sqrt-MultiturnCoilDesigningTool:设计用于低频磁力计的线圈
- zaperin-hub:扎珀林模块的资料库
- (w3cschool.cc).rar
- dotfiles::memo:自己设置的dotfiles
- springboot-demo.zip
- Cekklik:Aplikasi Cek细节barang
- chainpack-rs:ChainPack RPC的Rust实现
- gei,Matlab输入HDB3码输出源码,matlab源码怎么用
- matlab代码sqrt-Hugo-Diaz-N.github.io:临时网站