Genesis Sequoia Fli32626 多屏参切换编程方法(不掉电切换屏参).docx

Genesis Sequoia Fli32626 多屏参切换编程方法(不掉电切换屏参).docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Squoia FLi32626 多屏参切换编程方法 通常,在用Sequoia参考软件编译生成的HEX文件中只包含一个屏参。即所使用的屏参已在HEX文件中固定,如果要更换屏参必须要更改软件,重新编译并烧入FLASH。这对具有较强文档管理水平的大公司来说,并不是问题,只要将所有的软件登记归档,并记录对应的屏的型号即可;但是对一些小公司而言,特别是在频繁更换屏的情况下,或是软件工程师换人的情况下,很容易造成混乱。这时,就希望把可能用到的所有屏的参数都集成一个软件中,生产时根据实际所使用的屏,通过菜单或串口来选择,并保存在NVRAM中。本文将讲解FLI32626不掉电情况下多屏参即时切换的软件编写方法。 在参考软件中,运行时所使用的屏参是在panel.h 通过指定DEFAULT_PANEL来实现的。如使用LG 1080P的屏,则打开如下的宏定义即可: #define DEFAULT_PANEL LG_1080P_LC370WU1 如果要使用其它的屏参,则需要打开对应的宏定义并重新编译。 那么如何将多个屏参都包含到一个软件中,并可即时切换呢? 在参考软件中,已经给出了集成多屏参的方法,只不过需要在选择所需的屏参后关机并重新开机,新的屏参才会起作用。下面先来分析开机过程中屏参的调用流程。 void ApplicationInit(void)//在panel.h中 { ………. AssignPanelData(0); // Initialize default panel data ………. BoardInit(); NvramCheck(); // Get all the UserPref values …………… #ifdef MULTIPANEL_DATA_IN_ONE_HEX //This code is for supporting multipip panel data in single hex (Appstest 255 panel_id) // The calling of AssignPanelData() above only sets up the default panel since I2C // is not initialized. As a result, UserPrefPanelSelect is always zero at that moment. // Now after NvramCheck() is called, I2C is running and UserPrefPanelSelect carries // the saved panel ID. AssignPanelData(UserPrefPanelSelect); // DDDS Initialization (Per Panel) gm_DdsSetInitFreq(CLK_DDDS, (DWORD)gmv_OUTPUT_HTOTAL * gmv_OUTPUT_VTOTAL * gmvb_OutputFrameRate); // EDDS Initialization (108MHz) gm_DdsSetInitFreq(CLK_EDDS, FREQ_108MHz); #if (FEATURE_DECODER == TWO_DECODER) gm_DdsSetInitFreq(CLK_EDDS2, FREQ_108MHz); #endif // Freerun DDS gmvb_DDDSSourceChannel = gmvb_MainChannel; gm_SetDisplayFreeRun(); #endif …………… } 在上述初始化过程中,首先调用AssignPanelData(0) 将CurrentPanelData指向DEFAULT_PANEL,即使用panel.h 中定义的缺省屏参。在NvramCheck()之后,有一个宏定义MULTIPANEL_DATA_IN_ONE_HEX, 如果定义了该宏(在system.h中),则将根据从NVRAM中取得的UserPrefPanelSelect,重新分配屏参:AssignPanelData(UserPrefPanelSele

您可能关注的文档

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档