|
本帖最后由 tansonghua 于 2016-6-15 18:24 编辑
发这个帖子想帮助一下跟自己遇到一样问题的朋友。
目的:移植官方3-3 通过网页配置设备程序到AVR128单片机上(编译环境AVR STUDIO)
遇到的问题:页面放在AVR128SRAM里, char INDEX_HTML[]="<!DOCTYPE html PU........................,这样的结果就是AVR的RAM不够用。
解决办法:将页面放进Flash里,但是放进去,如果按照源程序是读不出来的,全是乱码。查了好多,今天看别的程序来了灵感,把这个问题解决了。如下:
图1:定义新的空数组
图2:定义新函数
图3:修改void proc_http(SOCKET s, uint8 * buf)函数里面内容
图4 :编译结果,原来会占到90%现在只有40%还是蛮好的。
图5,6:显示效果,我仅用JS做了个密码输入,但是这样有弊端,刷新会要求在输入密码。我不知道怎么在单片机里验证密码。如果谁有可以发一下给我,在此谢过啦。希望对大家有点帮助。我这个页面是空的,仅仅显示不能与AVR交互。对与官方的WebIo我还没研究懂,里面我好想看到密码验证,如果谁能理解可以教教我。
对于AVR移植程序我分享过了,自己找下。
补充:::图7是页面放入flash的定义。加个头文件#include <avr/pgmspace.h>,在数组前加 const prog_uchar INDEX_HTML[]="<!
|
|