很期待刷机教程,感谢LZ。 |
这个要顶,辛苦了 |
2014.06.13更新,WK2X01和DSM2协议测试通过,改了几个小问题,打算近期发布测试板及刷机教程 [flash]http://www.tudou.com/v/HcjOBiRYm8U/&rpid=80580321&resourceId=80580321_04_05_99==.html[/media] |
加油 加油 加油 加油 ................ 大神!!! |
|
换CPU就复杂了,不建议换。 |
铜河 发表于 2014-6-6 20:33 目前MEGA64单CYRF6936射频DSM2/X,DEVO,WK2X01协议刚好够用了。 如果是MEGA128的话,应该可以多射频系统,更多协议了 |
看了程序,发现其中有不少重复的,可以清理一下,合理安排后,空间或许够用 |
本帖最后由 起子 于 2014-6-6 14:42 编辑 2014.06.06更新,搁置一段时间后,最近几天又开始折腾了,已经改为16M晶振(估计不改也行),根据铜河的建议将射频发送频率改为20ms并同步修改了一些参数,现在RX2801也能成功对码并响应了。 响应行程已经修正,响应速度比以前快多了,至少我感觉不出来明显延迟。 不过开机时有时候自己重启,运行后没发现过。 下一步改DSM2的响应行程,增加射频切换功能,测试DEVO协议(求成都模友提供一个DEVO的6通接收机测试DEVO协议)。 目前基于MEGA64的WK2801改ER9X并整合DSM2/X,WK2X01,DEVO协议后,程序空间占用98.2%,数据空间占用86%。 如果是基于MEGA128的ER9X,有希望再增加1-2个射频模块,多增加几个协议。 |
起子 发表于 2014-5-9 22:33 楼主手上有wk2801pro的固件吗?有的话能不能给我一份,谢谢 祝楼主早日成功 |
起子 发表于 2014-5-9 22:33 好久没来论坛,原来起子兄在研究这个,顶! 对AVR比较熟,有什么问题我们也许可以交流! 祝早日成功! |
我也是2801的,但我不知道为什么要改,改了会有什么好处? |
gongye5776601 发表于 2014-5-9 15:11 Q 32044538 |
leevalour 发表于 2014-5-9 13:40 谢谢兄弟 我就是这个812版本的搞不定了 其他的都能改过来了 而且很简单的 我Q1664573305你的联系方式方便透漏下吗 |
jpshu123 发表于 2014-5-9 13:37 这里改了 也不行的 这个版本的源码这么麻烦呢 以前只要改一处就可以了呀 还需要改哪里呢 |
本帖最后由 leevalour 于 2014-5-9 13:42 编辑 gongye5776601 发表于 2014-5-9 12:48 看你是左右反 还是上下反 具体需要看sed1565 或者 st7565控制器说明 一个参数是SEG的正和反 这个是控制左右的 一个参数是COM的正和反 这个是控制上下的 有一起交流er9x源码的朋友没 可以pm加qq讨论下 我只玩固定翼 对直的那些参数 还有混控完全没研究啊 看源代码很多不明白 目前进度: 完成12864驱动部分,实现12点阵中文菜单的显示, 实现图像任意位置显示,以及简单的绘制线条函数 |
gongye5776601 发表于 2014-5-9 12:48 这个也要改 // controller independent options #define SERIAL_LCD 0 // parallel=0, 4W_serial=1 #define ROTATE_SCREEN 1 // don't-rotate-screen=0, rotate-180-degree=1 #define REVERSE_VIDEO 1 // normal-video=0, reverse-video=1 还有要改的地方,需要仔细阅读源程序 |
jpshu123 发表于 2014-5-9 09:54 # if ROTATE_SCREEN 0xA0, // ADC = 1: reverse direction(SEG128->SEG1) 0xC0, // SHL = 1: reverse direction (COM64->COM1) # else 0xA1, // ADC = 0: normal direction(SEG1->SEG128) 0xC8, // SHL = 0: normal direction (COM1->COM64) # if ROTATE_SCREEN 0xA1, // ADC = 0: normal direction(SEG1->SEG132/SEG128) 0xC0, // SHL = 1: reverse direction (COM64->COM1) # else 0xA0, // ADC = 1: reverse direction(SEG132/SEG128->SEG1) 0xC8, // SHL = 0: normal direction (COM1->COM64) if (g_eeGeneral.rotateScreen) { lcdSendCtl2(0xA0, 0xC0); // ADC = 1: reverse direction(SEG128->SEG1) } else { // SHL = 1: reverse direction(COM64->COM1) lcdSendCtl2(0xA1, 0xC8); // ADC = 0: normal direction(SEG1->SEG128) } // SHL = 0: normal direction(COM1->COM64) if (g_eeGeneral.rotateScreen) { lcdSendCtl2(0xA1, 0xC0); // ADC = 0: norm direction(SEG1->SEG132/SEG128) } else { // SHL = 1: rev direction(COM64->COM1) lcdSendCtl2(0xA0, 0xC8); // ADC = 1: rev direction(SEG132/SEG128->SEG1) } // SHL = 0: norm direction(COM1->COM64) #if defined(CPUM128) || defined(CPUM2561) if (g_eeGeneral.rotateScreen) { lcdSendCtl(0xA1); // ADC = 0: norm direction(SEG1->SEG132/SEG128) lcdSendCtl(0xC0); // SHL = 1: rev direction(COM64->COM1) } else { lcdSendCtl(0xA0); // ADC = 1: rev direction(SEG132/SEG128->SEG1) lcdSendCtl(0xC8); // SHL = 0: norm direction(COM1->COM64) 已经改成这样了 但是还是么有反向呢 |