DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 8988|回复: 7
打印 上一主题 下一主题

[UUProg] uuprog开发教程:芯片支持列表导出

[复制链接]
跳转到指定楼层
楼主
发表于 2015-5-6 12:35:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
具体每款编程器型号支持哪些芯片,对于平时使用来说也没必要导出查看,一般都是直接打开软件通过选择芯片型号就可以知道支持了。
但是有时候想知道具体支持哪些或者推广时,这个还是必须的,也不用每次都更新支持列表,直接导出就可以了

导出界面很简单,只需要设置输出路径就可以了

输出直接是htm文件,大概样式如上图,会以芯片类型,厂家的形式列出
调取CProgDeviceList窗口类:
void CUUProgDlg::OnToolCreateDeviceList()
{
    // TODO: Add your command handler code here
    CProgDeviceList creatdevicelistdlg;
    creatdevicelistdlg.DoModal();
}
CProgDeviceList窗口类的功能函数

窗口初始化函数,主要填充支持数据
BOOL CProgDeviceList::OnInitDialog()
{
    CDialog::OnInitDialog();
   
    // TODO: Add extra initialization here

    CString str;
    str.Format("%d",m_iDeviceManuCount);
    SetDlgItemText(IDC_DeviceManuCount,str+"家");
    str.Format("%d",m_iDeviceCount);
    SetDlgItemText(IDC_DeviceCount,str+"种");
    str.Format("%d",m_iMPUCount);
    SetDlgItemText(IDC_MPUCount,str+"种");
    str.Format("%d",m_iEpromCount);
    SetDlgItemText(IDC_EpromCount,str+"种");
    str.Format("%d",m_iPromCount);
    SetDlgItemText(IDC_PromCount,str+"种");
    str.Format("%d",m_iPLDCount);
    SetDlgItemText(IDC_PLDCount,str+"种");
    str.Format("%d",m_iTestICCount);
    SetDlgItemText(IDC_TestICCount,str+"种");
   
    return TRUE;  // return TRUE unless you set the focus to a control
                  // EXCEPTION: OCX Property Pages should return FALSE
}
下面这个是主要实现输出列表的函数,通过遍历支持库,这个比较麻烦,也比较难理解
void CProgDeviceList::OnOK()
{
    // TODO: Add extra validation here
    CString DeviceFilename;
    CFile devicefile;
    CString temp,str;
    CTime tm;
   
    if(!m_sFolderPath.IsEmpty())
    {
     tm = CTime::GetCurrentTime();
    DeviceFilename = m_sFolderPath + "devicelist.htm";
    parent->SetAppLog("生成芯片支持列表文件...");
    if(devicefile.Open(DeviceFilename, CFile::modeWrite | CFile::modeCreate |CFile::shareDenyNone))
    {
        temp = "<html>\r\n<title>UUProg编程器支持芯片列表</title>\r\n<body>\r\n";
        temp += "<p align=center>\r\n<font size=4 color=#666666 face=黑体>UUProg编程器支持芯片列表</font><br></p>\r\n";
        temp += "<table>\r\n<tr><td>编程器型号:</td><td>"+parent->m_sUUProgType+"</td></tr>\r\n";
        temp += "<tr><td>序列号:</td><td>"+parent->m_sUUProgSN+"</td></tr>\r\n";
        temp += "<tr><td>硬件PCB版本:</td><td>"+parent->m_sUUProgHWVer+"</td></tr>\r\n";
        temp += "<tr><td>固件版本:</td><td>"+parent->m_sUUProgFWVer+"</td></tr>\r\n";
        temp += "<tr><td>软件版本:</td><td>V"+parent->m_sAppVer+"</td></tr>\r\n";
        temp += "<tr><td>生成时间:</td><td>"+tm.Format("%Y-%m-%d")+"</td></tr>\r\n";
        str.Format("%d",parent->m_arDeviceList.GetSize());
        temp += "<tr><td>支持芯片数量:</td><td>"+str+"</td></tr>\r\n";
        temp += "</table>\r\n<br><br><table>\r\n";
        str.Format("%d",m_iMPUCount);
        temp += "<tr><td colspan==5>MCU/MPU:"+str+"</td></tr>\r\n";
        temp += "<tr><td></td><td></td><td></td><td></td><td></td></tr>\r\n";

        str.Format("%d",m_iEpromCount);
        temp += "<tr><td colspan==5>EPROM/EEPROM:"+str+"</td></tr>\r\n";
        temp += "<tr><td></td><td></td><td></td><td></td><td></td></tr>\r\n";

        str.Format("%d",m_iPromCount);
        temp += "<tr><td colspan==5>PROM:"+str+"</td></tr>\r\n";
        temp += "<tr><td></td><td></td><td></td><td></td><td></td></tr>\r\n";
        
        str.Format("%d",m_iPLDCount);
        temp += "<tr><td colspan==5>PLD/CPLD/FPGA:"+str+"</td></tr>\r\n";
        temp += "<tr><td></td><td></td><td></td><td></td><td></td></tr>\r\n";

        str.Format("%d",m_iTestICCount);
        temp += "<tr><td colspan==5>测试IC:"+str+"</td></tr>\r\n";
        temp += "<tr><td></td><td></td><td></td><td></td><td></td></tr>\r\n";

        temp += "</table>\r\n<p align=center>\r\n<font size=4 color=#666666 face=黑体>网站:http://kitebee.meibu.com</font><br>\r\n";
        temp += "<font size=4 color=#666666 face=黑体>          http://kitebee.gnway.net</font><br>\r\n";
        temp += "<font size=4 color=#666666 face=黑体>QQ群:41210778</font><br>\r\n";
        temp += "<font size=4 color=#666666 face=黑体>UUProg编程器软、硬件版权归LIYF所有</font><br></p>\r\n";
        temp += "</body>\r\n</html>\r\n";
        devicefile.Write(temp,temp.GetLength());
        devicefile.Close();
   
   
    parent->SetAppLog("生成完成!");
    ShellExecute(NULL,"open",DeviceFilename,NULL,NULL,SW_SHOW);
    CDialog::OnOK();
    }
    else
    {
    parent->SetAppLog("创建芯片支持列表文件失败!");
    AfxMessageBox("创建芯片支持列表文件失败!");
    }
    }
    else
    {
    parent->SetAppLog("请选择文件存放路径!");
    AfxMessageBox("请选择文件存放路径!");
    }

}
该部分还有部分功能有待完善,下次在跟进

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
沙发
发表于 2015-5-6 16:26:06 | 只看该作者
期待软件的完善
板凳
发表于 2015-9-3 23:43:01 | 只看该作者
向老师请教,飞利浦的N82S123N(和74S288一样〉用哪种型号编程器读写。
地板
发表于 2015-9-18 23:48:03 | 只看该作者
向楼主学习,感谢楼主的好资料
5#
发表于 2016-3-30 10:18:37 | 只看该作者
不错!值得学习,楼主继续
6#
发表于 2017-8-22 15:27:04 | 只看该作者

期待软件的完善
7#
发表于 2021-11-27 16:47:43 | 只看该作者
期待软件的完善,支持更多芯片
8#
发表于 2022-12-17 18:49:54 | 只看该作者
非常感谢分享,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-6 09:36 , 耗时 0.102756 秒, 25 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表