ARM2440裸机嵌入式触摸屏编程详解

需积分: 9 5 下载量 140 浏览量 更新于2024-09-14 1 收藏 69KB DOC 举报
本文档主要介绍了如何在ARM2440裸机环境下进行触摸屏编程,具体针对的是S3C2440单片机。首先,我们看到一个名为"Touchpanel.c"的C语言程序,它包含了ADC(模拟数字转换器)和触摸屏测试的相关功能。该程序的目标是实现对触摸屏的自动检测和控制。 1. **ARM2440平台基础**: - ARM2440是ARM公司的嵌入式微处理器,适用于低成本的工业控制和消费电子应用。 - 程序中提到的"2440addr.h"和"2440lib.h"可能是自定义的库文件,用于定义硬件地址和接口函数。 2. **触摸屏工作原理**: - 程序使用3.68MHz X-TALCLOCK作为ADC时钟信号源,确保触摸屏的稳定性能。 - ADCPRS=9表明使用预分频器,使得AD转换器频率降低,从而延长转换时间,适合触摸检测的精度需求。 3. **中断处理**: - 中断程序`void __irqAdcTsAuto(void)`负责处理触摸屏事件,通过设置中断计数器`count`来记录触摸次数。 - 在ADC转换开始前,程序会进行三次关键操作: - 第一步:设置ADC延时寄存器`rADCDLY`,以实现大约13.56毫秒的延迟,确保测量准确性。 - 第二步:配置`rADCCON`寄存器,启用预分频功能,选择合适的转换频率。 - 第三步:设置触摸屏控制器的模式,选择等待触笔按下中断模式。 - 第四步:开启中断,以便系统能够响应触摸事件。 4. **通信与日志**: - 程序中调用`Uart_Printf`函数,这可能是一个串行通信接口,用于打印调试信息,如"ADCtouchscreentest",表示正在进行ADC触摸屏测试。 5. **编程流程**: - 通过这个例子,可以看出裸机开发中触摸屏编程的基本步骤,包括时钟配置、中断设置、模式配置和数据采集,以及与外部设备(如UART)的交互。 该文档提供了一个详细的示例,展示了如何在ARM2440平台上通过C语言实现触摸屏的自动检测,涉及硬件配置、中断管理以及与外部系统的交互,对于入门者或进行类似项目开发的工程师具有实际参考价值。