基于mini板的PDA又一重要更新隆重发布,此更新支持新出的LCD9341液晶屏,并更换了库函数的启动文件,以支持MDK4全系列版本编译器。

2019-07-21 00:10发布

此PDA界面类似Windows98,功能请自测,完美支持原子迷你板,注意,在使用此工程文件夹之前,请把板子上的W25Q16替换成W25Q64,因为此PDA的一切图标,字库都存放在这个芯片里,板子标配的2M不够用,我替换成8M的。

补充说明:用户需要注意一下, 在使用之前先配置一下工程包,如果你的原子板是2MFlash芯片的,请打开theme.h文件,把ICO_TO_SD更改为1,重新编译后下载,如果你的Flash是8M的W25Q64,就可以直接下载了,ICO_TO_SD这个功能是配置你的图标存放位置的,1为SD卡,0为Flash的那个芯片,也就是W25Q64,如果你的这个芯片是2M,而又忘记把ICO_TO_SD修改为1后下载的话,会导致死机,死在图片解码里。

2012年3月9日更新主要内容如下:
1.添加了资源管理器功能(支持复制文件,删除文件,删除文件夹,剪切粘贴文件功能尚未完成,文件夹复制功能存在bug【如果文件夹中带文件夹,则复制的时候会把文件夹当文件复制。】,还有文件属性功能未完成)。
2.字库图标添加存在识别,开机检测字库,不存在字库则从SD卡中查找字库文件进行自动更新,如果开机字库不存在且SD卡不存在字库,则会蓝屏提示系统错误,原来的开机长按KEY0更新字库功能保留,并添加了开机长按KEY0就进行屏幕校准,校准后更新字库,然后更新图标,开机更新这个东西是强制性的,不用等待用户允许就自动进行更新,这点是根据原子哥的提议修改而来的。
3.屏幕校准数据从SD卡移动到备份域,同样添加了检测是否经过校准,未校准的进入校准程序,删除了原来的加载默认校准值的功能,这点改动,使PDA能兼容更多触摸屏。
4.LCD驱动部分修改为智能驱动,理论上适应大多数240×320的TFT LCD
5.SD卡驱动更改为原子哥的新版本驱动,初始化SD卡更快,读取SD卡容量更准。


目前更新只是这些内容,有新的东西,会在评论上补充,欢迎各位下载测试,这个工程是我在原子板上通过测试的(FLASH已经换了一个8M的芯片),如果用户板子上的是2M,请把theme.h文件中的ICO_TO_SD 修改为1后重新编译再烧进芯片。

2012年3月18日更新主要内容如下:
1.修复文件系统读取文件结束前多读取一次的bug,发现此Bug对文件复制功能产生严重的恶劣影响,估特意修复,这个修复主要更改的文件在工程文件夹的main.c文件的头部有注释介绍
2.资源管理器功能添加属性显示功能,支持更改属性,文件复制功能基本没问题,文件夹复制功能有bug,具体表现为复制过程中会在目录下漏复制一个文件夹。
3.取消了SD卡开机询问是否插卡的UI,用户体验考虑后取消了该UI,结果是,开机更快,因为在没有插卡的时候直接跳过,标记卡不存在,直接进入主界面,等用户调用需要卡的功能的时候才询问是否插卡。

部分bug如下:
当图片存放在SD卡的时候(theme.h中的#define ICO_TO_SD 1【0改为1即可实现图标放SD卡】),资源管理器部分图标不显示,原因是资源管理器变更目录的时候调用了FLASH的4k共享内存导致,图片解码也用了这4k共享内存。

2012年4月3日更新主要内容如下:
1.优化了开机更新字库图标的算法,真真正正的强制更新(以前工程包更新完字库或者图标要用户按确定,现在不用了,全自动。)
2.资源管理器添加打开文件的支持,目前只能打开图片以及音乐,txt功能还没做,所以暂时打不开
3.绘图板功能添加改图和设置初始背景 {MOD}功能,在进入绘图板这个功能后会有提示设置背景,改图效果如下:


    

4.修复关于功能的相关bug,以前即使是2Mflash,照样显示8M,现在智能显示,并MCU温度那里添加了彩 {MOD}显示。
5.优化了音乐播放器的换歌逻辑,使设置完音效能准确定位到之前播放曲目。
6.资源管理器目录变更做了优化,比以前不容易掉目录了。
7.资源管理器复制功能添加文件夹不完全复制功能(有bug,表现为复制文件夹,漏文件夹)

2012年4月15日更新内容:
1.mp3支持播放列表
2.文件管理器支持文件夹短文件名完美复制(因为没有加入长文件名支持【实测加入了之后会死在图片解码里】,所以目前文件管理器的文件夹复制是不完美的,但能不漏文件和文件夹)
3.添加剪切文件支持(有bug,表现为能剪出,不能剪入)
4.优化了设置储存部分,把原来的储存在SD卡的SETUP.SET文件里的设置信息,全部修改为储存备份域,也就是说,现在的这个PDA固件,可以完全脱离SD卡使用了,没有插入SD卡,设置照样保存。

2012年4月23日更新内容:
1.添加了图库功能,支持看图路径设定,支持看图延时设定
2.mp3部分添加播放列表溢出警告窗口
3.禁用了README文件生成功能,原因:内存不足,目前工程把图标设定在SD卡,仍然占用128016字节内存,STM32F103RBT6内存不太给力啊~~
4.修复mp3在播放期间点击播放列表重新选择播放列表后,如果所选择的文件夹不含有音乐文件,会弹出加载错误的问题。

2012年5月1日更新内容:
1.优化了按钮UI的代码,缩减了程序容量
更新前容量:Program Size: Code=112730 RO-data=15310 RW-data=520 ZI-data=17360 【总共112730+15310=128040≈125kb】
更新后容量:Program Size: Code=109566 RO-data=15314 RW-data=520 ZI-data=17360  【总共109566+15314=124880≈122kb】
总共优化缩减了3kb的程序容量
并且优化后,程序重新支持图标放flash了
2.修复MP3播放器在已经存在播放列表的时候,在文件管理器里变动了播放列表,再运行MP3的时候出现“获取文件信息失败”的bug,现在这个bug已经修复了,没修复之前,要解决这个问题就只能在资源管理器里删除playlist.lst文件后才能运行音乐播放器
3.修复了资源管理器里属性显示异常的bug(之前版本属性里的只读,隐藏标记如果变动后,点击取消,再次进入,不会还原的问题。)
4.MP3播放器添加了按键UI
5.超频到104M,播放320kbps的歌曲不卡了,但是,这个超频存在一点问题,就是外部中断不是那么灵敏,我不知道问题出在哪里了,APB1总线已经4分频了,我想再超频高一点,但不行,再高的话,LCD控制器跟不上速度,会花屏。数据手册上说的PLL锁相环倍频不能超过72M,我倍频到这么高,不知道会不会出问题?【温馨提示:如果想用回72M,不用我教了,你们会的。】
6.优化了资源管理器选择文件或文件夹的逻辑问题,修复了不是点击文件的时候,下面信息栏会显示未知文件的容量问题,修复了文件夹或SD卡中没有文件的时候,点击空白处信息栏会显示u32变量最大数值(4294967295)的问题。
7.设置储存部分从备份域移动到EEPROM(AT24C02芯片)

2012年5月17日更新内容:
本期更新内容:
1.修复资源管理器剪切错误的bug
2.优化了滚动条UI
3.优化了数字选框的UI,缩减了代码容量。
4.优化了文本显示函数,添加返回字节以及行距设置功能。
5.修复数字显示代码在显示时候设置了灭0后,遇0不显示问题,并提高此部分代码调用率,缩减了容量
6.添加了文本阅读器功能,支持txt,h,c,lrc等文本文件的浏览。
文本阅读器主要功能:可以设置字号,行距,文本颜 {MOD}和背景颜 {MOD},支持上下多达1024页的翻页,支持 跳转位置功能(此功能使用后,LCD会一直闪烁文字,也就是程序会从文件开头拼命读取到指定位置, 并且在这个过程中建立翻页索引【记录每页开始读取的文件相对地址】,由于STM32速度限制,所以此 过程稍慢,敬请耐心等待。)
文本阅读器目前的bug:跳转位置功能预览那里会出现乱码,原因是读取首地址的时候有可能读取半个 中文字导致的,目前没有容量解决,希望谅解。

温馨提示:添加了文本阅读器之后,本工程包再也不支持图标放FLASH,原因,芯片容量不够。
下面是文本阅读器部分截图:

        
16字体,行距0.

12字体,行距50.

 

 

2012年11月14日更新内容如下:
1.添加LCD9341的支持,现在该PDA已经可以支持最新出的LCD9341液晶屏了。
2.修改了启动文件,启动文件更改为官方库函数中用的启动文件,理论上支持MDK4系列的所有编译器。
 
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
Tardis
1楼-- · 2019-07-24 21:16
 精彩回答 2  元偷偷看……
Tardis
2楼-- · 2019-07-25 02:00
补充上传一个SD卡文件,方便有需要的人一下载到工程文件夹就能玩。
注意:玩之前首次启动记得长按Key0来更新字库和图标。
螃蟹爱虫
3楼-- · 2019-07-25 02:50
回复【33楼】Tardis:
---------------------------------
非常好。这个是否就不用更换SPI FLASH为8MB了?
Tardis
4楼-- · 2019-07-25 08:44
回复【34楼】螃蟹爱虫:
---------------------------------
要,不过可以更改为直接内存卡中调用图标
你只需要修改show_ico()函数就可以了,把该函数里面所有内容修改为工程文件夹里的int AI_LoadPicFile(const TCHAR *filename,s16 starx,s16 stary,s16 endx,s16 endy),这个函数即可。
Tardis
5楼-- · 2019-07-25 13:22
 精彩回答 2  元偷偷看……
螃蟹爱虫
6楼-- · 2019-07-25 17:49
 精彩回答 2  元偷偷看……

一周热门 更多>