void CProtocolDemo::timerEvent(QTimerEvent *event_) { if (event_->timerId() == m_nTimerID) { Polling(); } }
/*! * \brief 功能概述 时间事件函数 * \param 参数描述 event是定时器事件指针 * \return 返回值描述 无 * \author zzy * \date 2015/5/27 */ void CProtocolDLT_645_07::timerEvent(QTimerEvent *event) { if (event->timerId() == m_nTimerID) { qDebug()<<1; Polling(); } }
int EraseChip (void) { // Start Chip Erase Command M32(base_adr + (0x555 << 2)) = 0x00AA00AA; M32(base_adr + (0x2AA << 2)) = 0x00550055; M32(base_adr + (0x555 << 2)) = 0x00800080; M32(base_adr + (0x555 << 2)) = 0x00AA00AA; M32(base_adr + (0x2AA << 2)) = 0x00550055; M32(base_adr + (0x555 << 2)) = 0x00100010; return (Polling(base_adr)); // Wait until Erase completed }
int ProgramPage (unsigned long adr, unsigned long sz, unsigned char *buf) { int i; if (adr < EXT_NOR) adr = (adr - EXT_SDRAM) + EXT_NOR + BOOT_SIZE; for (i = 0; i < ((sz+3)/4); i++) { // Start Program Command M32(base_adr + (0x555 << 2)) = 0x00AA00AA; M32(base_adr + (0x2AA << 2)) = 0x00550055; M32(base_adr + (0x555 << 2)) = 0x00A000A0; M32(adr) = *((unsigned long *) buf); if (Polling(adr)) return (1); // Wait until Programming completed buf += 4; adr += 4; } return (0); // Done }
int EraseSector (unsigned long adr) { if (adr < EXT_NOR) adr = (adr - EXT_SDRAM) + EXT_NOR + BOOT_SIZE; // Start Erase Sector Command M32(base_adr + (0x555 << 2)) = 0x00AA00AA; M32(base_adr + (0x2AA << 2)) = 0x00550055; M32(base_adr + (0x555 << 2)) = 0x00800080; M32(base_adr + (0x555 << 2)) = 0x00AA00AA; M32(base_adr + (0x2AA << 2)) = 0x00550055; M32(adr) = 0x00300030; do { // Wait for Sector Erase Timeout fsr.v = M32(adr); } while ((fsr.b.q3l == 0) || (fsr.b.q3h == 0)); return (Polling(adr)); // Wait until Erase completed }