完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在LPC54608的开发包中,配置了较为丰富的例程,通过这些例程可以引导我们较快地上手它的使用和开发。初略地讲可把例程分为两类,一类是基于串口的内部资源用法的演示例程,另一类是基于触摸屏的演示例程。(含第三方演示例程) 在介绍这两类例程之前,先插播一个小介绍,就是LPC54608开发板已有C版本了,主要区别由红色线框标出。说明已有B版本的灵活测试,已趋于功能相对固定。 图1 B版本 图2 C版本 1.基于串口的演示例程 在开始验证此类例程前,首先要了解一下Jp6和JP5的用途。当进行调试下载时,一定要将JP5至于OFF状态,否则是无法查看到调试器的,也就无法进行程序的下载。 当用到串口进行验证时,不但要将JP5保持OFF状态,JP6也应置为OFF状态,否则串口就无法正常使用。 1)hello_world例程 hello_world例程是一个串口通讯的检测例程,其程序主体如下: while (1) { ch = GETCHAR(); PUTCHAR(ch); } 其作用就是不断检测是否有字符接收,有则把接收的字符原样发回,在验证时,相应的串口参数如图3进行设置,则可验证其功能。 图3 串行通讯 2)A/D采样例程 lpc_adc_basic例程是一个A/D采样的检测例程,其程序主体如下: while (1) { GETCHAR(); ADC_DoSoftwareTriggerConvSeqA(DEMO_ADC_BASE); while (!ADC_GetChannelConversionResult(DEMO_ADC_BASE, DEMO_ADC_SAMPLE_CHANNEL_NUMBER, &adcResultinfoStruct)) { } PRINTF("adcResultInfoStruct.result = %drn", adcResultInfoStruct.result); PRINTF("adcResultInfoStruct.channelNumber = %drn", adcResultInfoStruct.channelNumber); PRINTF("adcResultInfoStruct.overrunFlag = %drn", adcResultInfoStruct.overrunFlag ? 1U : 0U); PRINTF("rn"); } 其作用就是通过不断检测是否有字符接收,有则启动对Adc0口的A/D转换,并输出采集结果,其效果如图4所示。 图4 A/D采样 3)RTC例程 rtc例程是一个检测RTC的例程,其功能是以程序设置的时间为起始时间来启动RTC,然后再设置一个有效的时间值并通过串口发出,则会呈现图5所示的效果。 之所以设置的时间与提示的时间出现一定的偏差,是因为提示时间=当前时间+设置时间,而RTC时钟是处于运行状态的,所设置的时间其实是与发送那一刻的RTC时间相加所产生的提示时间,故其时间偏差就是提交时间与初始时间的时间差。 实现上述处理的关键语句如下: /* 读取RTC 的秒寄存器到当前时间变量中 */ currSeconds = RTC->COUNT; /* 将提示时间相到时间变量中 */ currSeconds += sec; /* 设置提示时间 */ RTC->MATCH = currSeconds; /* 获取提示时间值 */ RTC_GetAlARM(RTC, &date); 此外,该时间提示功能是可以连续进行的,其执行效果如图6所示。 图5 RTC测试 图6 多次执行 2.基于触摸屏的演示例程 1)cdc_cursor例程 lcdc_cursor例程是一个光标在屏幕范围内沿直线移动的例程,当光标移动到屏幕边缘时会沿折射方向继续移动,其执行效果如图7所示。 图7 光标自由移动 2)lcdc_tft例程 lcdc_tft例程是一个矩形色块平滑移动例程,当色块移动到屏幕的边缘时会改变色彩并改变移动方向,其执行效果如图8所示。 图8 色块移动效果 3)touch_cursor例程 touch_cursor例程是一个检测光标所处屏幕位置的例程,当触摸屏幕时光标会移动相应位置,并通过串口通讯将坐标位置显示出来,其执行效果如图9和图10所示。 实现该功能处理的关键语句如下: if ((touch_event == kTouch_Down) || (touch_event == kTouch_Contact)) { /* 更改光标位置 */ APP_SetCursorPosition(cursorPosY, cursorPosX); /* 输出光标位置 */ PRINTF("0x%2x 0x%2x", cursorPosX, cursorPosY); PRINTF("rn"); } |
|
相关推荐
2 个讨论
|
|
Keil.LPC5400_DFP.2.1.0.pack在官网http://www.keil.com/dd2/Pack/,SDK_2.0_LPC54608J512.zip到网址http://www.nxp.com/search?client=nxp_search_all_results&site=nxp_zhHans&proxystylesheet=nxp_search_style_fe&sort=date%3AD%3AL%3Ad1&oe=UTF-8&ie=UTF-8&ud=1&output=xml_no_dtd&exclude_apps=1&callback=ss_show&lang_cd=zh-Hans&filter=0&getfields=*&baseUrl=%2F%2Fwww.nxp.com%2Fcn%2Fwebapp&SEARCH_OPERATOR=Contains&attempt=-1&rc=1&hl=en&dnavs=&q=lpc54608%20sdk看看。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1932个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36420 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4860 浏览 1 评论
6107 浏览 1 评论
6817 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4248 浏览 0 评论
645浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
641浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
643浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
729浏览 2评论
844浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 03:47 , Processed in 1.052773 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号