




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
* brief TFT initialize or reinitialize * Assumes EBI has been configured correctly in BSP_Init(BSP_INIT_DK_EBI) * paramin tftInit Pointer to EBI TFT initialization structure * return true if we should redraw into buffer, false if BC has controlover displaybool TFT_DirectInit(const EBI_TFTInit_TypeDef *tftInit) bool ret; uint32_t i, freq; /* If we are in BC_UIF_AEM_EFM state, we can redraw graphics */ if (BSP_RegisterRead(&BC_REGISTER-UIF_AEM) = BC_UIF_AEM_EFM) /* If were not BC_ARB_CTRL_EBI state, we need to reconfigure display controller */ if (BSP_RegisterRead(&BC_REGISTER-ARB_CTRL) != BC_ARB_CTRL_EBI) | runOnce) /* Enable SSD2119 Serial Port Interface */ BSP_PeripheralAccess(BSP_TFT, true); /* Enable EBI mode of operation on SSD2119 controller */ BSP_DisplayControl(BSP_Display_EBI); BSP_DisplayControl(BSP_Display_ResetAssert); BSP_DisplayControl(BSP_Display_PowerDisable); freq = SystemCoreClockGet(); for (i = 0; i (freq / 100); i+) _NOP(); /* Configure display for Direct Drive Mode Generic + 3-wire SPI mode */ BSP_DisplayControl(BSP_Display_ModeGeneric); BSP_DisplayControl(BSP_Display_PowerEnable); BSP_DisplayControl(BSP_Display_ResetRelease); /* Configure GPIO for EBI and TFT */ TFT_DirectGPIOConfig(); /* Initialize display */ DMD_init(0, (uint32_t) EBI_BankAddress(EBI_BANK2); /* Configure EBI TFT direct drive */ EBI_TFTInit(tftInit); runOnce = false; ret = true; else ret = false; return ret;#define BC_UIF_AEM_EFM (1) /*ARB_CTRL, BC_ARB_CTRL_EBI); break; case BSP_Display_SPI: BSP_RegisterWrite(&BC_REGISTER-ARB_CTRL, BC_ARB_CTRL_SPI); break; case BSP_Display_BC: BSP_RegisterWrite(&BC_REGISTER-ARB_CTRL, BC_ARB_CTRL_BC); break; case BSP_Display_PowerEnable: tmp = BSP_RegisterRead(&BC_REGISTER-DISPLAY_CTRL); tmp |= (BC_DISPLAY_CTRL_POWER_ENABLE); BSP_RegisterWrite(&BC_REGISTER-DISPLAY_CTRL, tmp); break; case BSP_Display_PowerDisable: tmp = BSP_RegisterRead(&BC_REGISTER-DISPLAY_CTRL); tmp &= (BC_DISPLAY_CTRL_POWER_ENABLE); BSP_RegisterWrite(&BC_REGISTER-DISPLAY_CTRL, tmp); break; case BSP_Display_ResetAssert: tmp = BSP_RegisterRead(&BC_REGISTER-DISPLAY_CTRL); tmp |= (BC_DISPLAY_CTRL_RESET); BSP_RegisterWrite(&BC_REGISTER-DISPLAY_CTRL, tmp); break; case BSP_Display_ResetRelease: tmp = BSP_RegisterRead(&BC_REGISTER-DISPLAY_CTRL); tmp &= (BC_DISPLAY_CTRL_RESET); BSP_RegisterWrite(&BC_REGISTER-DISPLAY_CTRL, tmp); break; case BSP_Display_Mode8080: tmp = BSP_RegisterRead(&BC_REGISTER-DISPLAY_CTRL); tmp &= (BC_DISPLAY_CTRL_MODE_GENERIC); BSP_RegisterWrite(&BC_REGISTER-DISPLAY_CTRL, tmp); break; case BSP_Display_ModeGeneric: tmp = BSP_RegisterRead(&BC_REGISTER-DISPLAY_CTRL); tmp |= (BC_DISPLAY_CTRL_MODE_GENERIC); BSP_RegisterWrite(&BC_REGISTER-DISPLAY_CTRL, tmp); break; default: /* Unknown command */ while (1); return BSP_STATUS_OK;* brief Initializes the LCD display* param cmdRegAddr* If set to 0, initialize SSD2119 for direct drive, if set to 1 update* frame buffer base pointer (offset to EBI bank) only* param dataRegAddr* Address in memory for frame buffer base pointer* return* DMD_OK on success, otherwise error codeEMSTATUS DMD_init(uint32_t cmdRegAddr, uint32_t dataRegAddr) uint16_t data; volatile uint32_t i; (void) cmdRegAddr; (void) dataRegAddr; /* Use data reg addr as pointer to frame buffer */ frameBuffer = (uint16_t *) dataRegAddr; if(cmdRegAddr=1) return DMD_OK; SPI_TFT_Init(); DMDIF_writeReg(DMD_SSD2119_VCOM_OTP_1, 0x0006); /* Oscillation driven DCLK */#if 0 data = DMD_SSD2119_OSCILLATION_START_OSCEN; DMDIF_writeReg(DMD_SSD2119_OSCILLATION_START, data);#endif /* Display control */ data = 0; / data |= DMD_SSD2119_DISPLAY_CONTROL_DTE; data |= DMD_SSD2119_DISPLAY_CONTROL_GON; data |= DMD_SSD2119_DISPLAY_CONTROL_D1; data |= DMD_SSD2119_DISPLAY_CONTROL_D0; DMDIF_writeReg(DMD_SSD2119_DISPLAY_CONTROL, data); /* Exit sleep mode */ data = 0; DMDIF_writeReg(DMD_SSD2119_SLEEP_MODE_1, data); /* Wait */ for (i = 0; i 100000; i+); /* Display control */ DMDIF_writeReg(DMD_SSD2119_DISPLAY_CONTROL, 0x33); /* Entry mode */ data = DMD_SSD2119_ENTRY_MODE_DFM_65K DMD_SSD2119_ENTRY_MODE_DFM_SHIFT; data |= DMD_SSD2119_ENTRY_MODE_WMODE; data |= DMD_SSD2119_ENTRY_MODE_NOSYNC; data |= DMD_SSD2119_ENTRY_MODE_DMODE; data |= DMD_SSD2119_ENTRY_MODE_ID1; data |= DMD_SSD2119_ENTRY_MODE_ID0; DMDIF_writeReg(DMD_SSD2119_ENTRY_MODE, data); / DMDIF_writeReg(DMD_SSD2119_DRIVER_OUTPUT_CONTROL, 0x3aef); /* Generic Interface Control */ / data = DMD_SSD2119_GENERIC_INTERFACE_CONTROL_INVDEN; / DMDIF_writeReg(DMD_SSD2119_GENERIC_INTERFACE_CONTROL, data); /* Driver output control */ data = 0; data |= DMD_SSD2119_DRIVER_OUTPUT_CONTROL_REV; data |= DMD_SSD2119_DRIVER_OUTPUT_CONTROL_GD; / data |= DMD_SSD2119_DRIVER_OUTPUT_CONTROL_TB; / data |= DMD_SSD2119_DRIVER_OUTPUT_CONTROL_SM; / data |= DMD_SSD2119_DRIVER_OUTPUT_CONTROL_RL; data |= (DMD_VERTICAL_SIZE - 1) DMD_SSD2119_DRIVER_OUTPUT_CONTROL_MUX_SHIFT); DMDIF_writeReg(DMD_SSD2119_DRIVER_OUTPUT_CONTROL, data); /* LCD AC control */ data = DMD_SSD2119_LCD_AC_CONTROL_BC; data |= DMD_SSD2119_LCD_AC_CONTROL_EOR; /* data |= DMD_SSD2119_LCD_AC_CONTROL_FLC; */ DMDIF_writeReg(DMD_SSD2119_LCD_AC_CONTROL, data); /* RAM data write */ data = 0xff; DMDIF_writeReg(DMD_SSD2119_ACCESS_DATA, data); /* Mark graphics as initialized */ initialized = 1; return DMD_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中数学 1.2 空间向量基本定理说课稿 新人教A版选择性必修第一册
- 2025年药理学药物使用指导模拟测试答案及解析
- 2025政府与民间资本合作PPP项目合同指南
- 2024年湖南大众传媒职业技术学院招聘真题
- 2025年急诊抢救流程及操作要点考察答案及解析
- 2025年眼科眼部疾病诊疗技术应用考察答案及解析
- 2025年秋季高一开学摸底考数学试题(江苏)及答案
- 2025企业前台劳务合同
- 2025年精神科抑郁症病例分析考试答案及解析
- 2025年肿瘤放射治疗放射剂量计算考核答案及解析
- JJF 2176-2024便携式湿度发生器校准规范
- 2025巷道掘砌工(技师)技能鉴定精练考试指导题库及答案(浓缩300题)
- 2025年教资初中体育试题及答案
- 硫酸安全知识培训课件
- 2025年浙能集团应届生招聘818人笔试参考题库附带答案详解
- 拍卖师职业技能培训课件
- 电子产品仓库管理制度
- 2025年中国工商银行辽宁分行社会招聘笔试参考题库含答案解析
- 方九中学高中历史学科基地建设方案(2篇)
- 2025年中国山西省轨道交通行业市场深度研究及投资战略规划报告
- 女性私密项目培训
评论
0/150
提交评论