微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > +开发演示

+开发演示

时间:10-02 整理:3721RD 点击:

在这里,笔者将进行一个颜色识别的实验,利用这个套件分辨出多种不同的颜色,并通过屏幕进行打印。

先来看看自带的DEMO,打开\applications\lpc8xx\keil_uvision_projects\nxp_lpcxpresso_824路径下的nxp_lpcxpresso_824_periph_examples.uvmpw文件,这个是利用Keil MDK-ARM制作的工程,就是板子出厂自带的DEMO。打开之后可以看到如图5-1所示的几个文件,这些文件包含了LPC824的库,与应用层的文件,首先需要编译上面的两个lib文件,然后才能编译下面两个,否则会报错。


图5-1 DEMO工程文件组成

将四个文件分别编译完成之后,下载到开发板,确认这个工程可以正常运行。


图5-2 DEMO工程文件编译与下载正常

随后可以着手基于这个工程文件进行自定义工程的开发了。

首先对这个工程的具体内容进行个简单的介绍。此工程的main函数存放于periph_i2cm_polling.c这个文件中,如图5-3所示


图5-3 代码解析1

在这个main函数中,完成了以下几个步骤

1、初始化所有的部件,包括i2c接口的屏幕、传感器、MCU的定时器与中断等


图5-4 代码解析2

2、显示开机时的DEMO

3、显示欢迎的界面,包括作者名等


图5-5 代码解析3

4、采集RGBW四个值,采集的方法是:先发送一个字符给传感器,说明需要采集何种颜色的(RGBW分别是0x08 0x09 0x0A 0x0B),然后多次采样取平均值。具体的程序如下图所示


图5-6 代码解析4

5、实时将RGBdata信息通过I2C总线传输到显示屏上面进行显示。

此外,LCM显示屏相关的函数,如清屏、显示等,都存放于名为SGX_G12864的文件中。

除了这个例程之外,此开发板还提供了一个点灯的例程。这个例程里面只有一个函数有意义,就是这个void Board_LED_Set(uint8_t LEDNumber, bool State);

这个程序编译之后板子上面的LED会闪烁。如下图所示



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top