当前位置:编程学习 > C#/ASP.NET >>

C#写的光模块烧写软件


最近写的 光模块烧码的软件 也许能给别人参考下呢
功能:按照8472协议 往SFF,SFP模块对应的地址烧写96个字节,然后把数据在全部读取一变,检查是否烧正确

和电脑通信用的是USB转I2C 淘宝上买的小板子(本来想用单片机自己做的)  



C#上直接引用上面的DLL文件 就是效率不高 

读和写也就200个字节 差不多要4S的运行时间
大家啊能帮我看看哪边能提高下性能 谢谢了

环境VS2010         .NET4.0


界面


导入并保存HEX文件 --------------------编程问答--------------------
[code=csharp]
private void button3_Click(object sender, EventArgs e)
        {
            byte i;
            int sum = 0;
            string number_au;
            button3.Enabled = false;
            t.Enabled = false;
            System.Threading.Thread.Sleep(20); //等待进程函数结束

            //计算校验位
            for (i = 0; i < 63; i++)
            {
                sum = sum + shuju_A0[i];
            }
            shuju_A0[63] = Convert.ToByte(sum % 256);

            sum = 0;
            for (i = 64; i < 95; i++)
            {
                sum = sum + shuju_A0[i];
            }
            shuju_A0[95] = Convert.ToByte(sum % 256);
            
            //烧写A0
            for (i= 0; i < 96; i++)
            {
                USB_I2C_DLL.USBIO_WriteI2C(0, 0x50, i, shuju_A0[i]);
            }
            try
            {
                if (radioButton1.Checked)
                {
                    textBox5.Focus();
                    if (textBox5.TextLength != Convert.ToByte(comboBox1.Text))
                    {
                        MessageBox.Show("在自增模式下请选择对应长度的序列号");
                        t.Enabled = true;
                        button3.Enabled = true;
                        richTextBox1.Focus();
                        return;
                    }
                    number_au = textBox5.Text;
                    textBox5.Text = number_au.Substring(0, (number_au.Length-4)) + (Convert.ToInt16(number_au.Substring((number_au.Length - 4), 4)) + 1).ToString("#0000");
                    richTextBox1.Focus();
                }
            }
            catch
            {
                MessageBox.Show("现在是自增模式,但序列号文本为空");
                t.Enabled = true;
                button3.Enabled = true;
                return;
            }
            check();
            t.Enabled = true;
            button3.Enabled = true;
        } --------------------编程问答-------------------- http://pan.baidu.com/share/link?shareid=423748&uk=2449695895 --------------------编程问答-------------------- 看了半天也没看到你的程序在哪里。 --------------------编程问答--------------------
引用 2 楼 yezhubenyue 的回复:
http://pan.baidu.com/share/link?shareid=423748&uk=2449695895


建议上传到csdn下载区。 --------------------编程问答--------------------
引用 4 楼 caozhy 的回复:
引用 2 楼 yezhubenyue 的回复:http://pan.baidu.com/share/link?shareid=423748&amp;uk=2449695895

建议上传到csdn下载区。


http://download.csdn.net/detail/yezhubenyue/5274236 --------------------编程问答-------------------- 牛呀 --------------------编程问答-------------------- 程序有漏洞哦,小心被黑 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 后知后觉吧 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- --------------------编程问答-------------------- 你的硬件实现什么功能 没看明白 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 弱弱的问下  能干啥啊? 格式化U盘吗? --------------------编程问答-------------------- 不会纺编程,看不懂,支持下,帮顶 --------------------编程问答-------------------- 感谢分享, --------------------编程问答-------------------- 虽然看不懂,感觉很NX --------------------编程问答-------------------- 除 --------------------编程问答-------------------- --------------------编程问答-------------------- 不明觉厉 --------------------编程问答-------------------- 用到什么用途上? --------------------编程问答-------------------- 不错,支持下 --------------------编程问答-------------------- 牛逼啊                                                哈哈哈  --------------------编程问答-------------------- 虽然看不懂,但是好像很厉害的样子,楼主能写个注释吗? --------------------编程问答-------------------- 虽说不懂,但还是觉得很牛鼻啊 --------------------编程问答-------------------- 你的硬件实现什么功能 没看明白  --------------------编程问答-------------------- 好厉害。,。。支持 --------------------编程问答-------------------- 谢谢楼主!!! --------------------编程问答-------------------- USB通讯,厂商提供的硬件驱动和API库,二次开发... --------------------编程问答-------------------- --------------------编程问答--------------------  看看 --------------------编程问答-------------------- 不错,谢谢分享 --------------------编程问答-------------------- 哈哈,看看哈 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 30 楼 u010365224 的回复:
你的硬件实现什么功能 没看明白


I2C通信
往芯片对应的地址烧写数据 --------------------编程问答-------------------- 就像烧写单片机程序一样的原理嘛 --------------------编程问答-------------------- --------------------编程问答-------------------- 机程序一样的原理嘛  --------------------编程问答-------------------- hex网上有格式对应保存就可以了。
--------------------编程问答-------------------- 厉害  支持.~!!! --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 楼主这个程序最好加进度条和状态栏,看我的,所有表都可以读出来

--------------------编程问答-------------------- 僅僅向固定的地址寫數據,不存在什麼高難度的技術。
樓上的界面設計的很漂亮。 --------------------编程问答-------------------- 谢谢分享 支持.~!!!  --------------------编程问答-------------------- --------------------编程问答--------------------
引用 34 楼 line_us 的回复:
观摩软件功能性应用

哦,原来是这样,具体完成是什么功能呢? --------------------编程问答--------------------
引用 33 楼 chenandczh 的回复:
USB通讯,厂商提供的硬件驱动和API库,二次开发...

哦,原来是这样,具体完成是什么功能呢?  --------------------编程问答-------------------- 换是有点不懂! --------------------编程问答-------------------- --------------------编程问答-------------------- 我的阿妹妹快來跟我阿狗狗,希望有幫到你。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 想起了我的毕设 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 学习下,说不定哪天可以 利用参考下 --------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 50 楼 tnijerry 的回复:
楼主这个程序最好加进度条和状态栏,看我的,所有表都可以读出来

竟然有同行,你们公司用的是通信方式是  串口转I2C吗?
主要我的速度好慢
进度条加上却是更直观了。谢谢呢
  --------------------编程问答--------------------
引用 50 楼 tnijerry 的回复:
楼主这个程序最好加进度条和状态栏,看我的,所有表都可以读出来

在指教指教我吧 --------------------编程问答-------------------- --------------------编程问答--------------------
你妹的! C#也能玩单片机开发???
敢不敢别玩这么高端啊?
显得我等很白痴。 --------------------编程问答--------------------
引用 64 楼 yezhubenyue 的回复:
引用 50 楼 tnijerry 的回复:楼主这个程序最好加进度条和状态栏,看我的,所有表都可以读出来
竟然有同行,你们公司用的是通信方式是  串口转I2C吗?
主要我的速度好慢
进度条加上却是更直观了。谢谢呢



串口转I2C和USB转I2C的都有,但USB转I2C没有串口转I2C稳定。USB也很快的,下载一个Firmware代码大概就几秒钟吧,如果你觉得慢就检查一下你的测试板Firmware代码,这个可能影响你的通信速度。另外检查一下你的上位机程序,尤其是在有延时的地方,看看一些延时是否多余。
我做的是串口转I2C的,上位机用BCB写的,没有用C#,所以对于C#怎么加进度条和状态栏我也不清楚,问一下CSDN上的牛人吧,肯定有人知道怎么做的。 --------------------编程问答--------------------
引用 51 楼 sunylf 的回复:
僅僅向固定的地址寫數據,不存在什麼高難度的技術。
樓上的界面設計的很漂亮。



上位机不存在技术问题,下位机的Firmware代码以及架构还是有技术的,不是什么人都可以写的 --------------------编程问答-------------------- 哈哈~大婶都看不懂的 --------------------编程问答--------------------  学习一下,支持!!!!! --------------------编程问答--------------------
引用 68 楼 tnijerry 的回复:
引用 64 楼 yezhubenyue 的回复:引用 50 楼 tnijerry 的回复:楼主这个程序最好加进度条和状态栏,看我的,所有表都可以读出来
竟然有同行,你们公司用的是通信方式是  串口转I2C吗?
主要我的速度好慢
进度条加上却是更直观了。谢谢呢


串口转I2C和USB转I2C的都有,但USB转I2C没有串口转I2C稳定。USB也很快的,下载一个……


哈哈不错不错--- 谢谢啦  没用单片机所以没涉及到下位机 直接用CH314A做的 
USB通信却是不择么稳定,有时候连个误码仪,再加个模块 运行一会会就连不上了 这叫郁闷啊。 以后也得改成串口转I2C的  --------------------编程问答--------------------
引用 69 楼 tnijerry 的回复:
引用 51 楼 sunylf 的回复:僅僅向固定的地址寫數據,不存在什麼高難度的技術。
樓上的界面設計的很漂亮。


上位机不存在技术问题,下位机的Firmware代码以及架构还是有技术的,不是什么人都可以写的


确实是没技术的东西,只要对几个通信稍微了解下就可以了 --------------------编程问答-------------------- 虽然有点看不懂..但是觉得好像挺强大 --------------------编程问答-------------------- 没看懂,不过听起来很牛X --------------------编程问答-------------------- --------------------编程问答--------------------  光模块烧码? 就是指芯片对应的地址烧写数据啊! --------------------编程问答-------------------- 我就看看而已 --------------------编程问答-------------------- --------------------编程问答-------------------- 可能就是一个把串并口协议转换成USB协议的一个程序。材料包括 两个接口 ,单片机和 汇编程序。目测应该把汇编程序写进去就行了? --------------------编程问答-------------------- 学习一下 资源呀 --------------------编程问答-------------------- 虽不明但觉厉 --------------------编程问答-------------------- 看看 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 看过了,没什么问题。应该是建立连接花的时间比较长,写的数据比较少,


你先把check注释掉看看是不是读时耗时较多,若是这个问题,检查下check函数 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 86 楼 Truly 的回复:
看过了,没什么问题。应该是建立连接花的时间比较长,写的数据比较少,


你先把check注释掉看看是不是读时耗时较多,若是这个问题,检查下check函数


谢谢了
我发现把按钮下的函数放到进程下,再加个滚动条,速度快多了,而且可以刷新界面。
--------------------编程问答--------------------
引用 67 楼 zsaaa 的回复:
你妹的! C#也能玩单片机开发???
敢不敢别玩这么高端啊?
显得我等很白痴。

大哥,是做上位机。不是编写单片机里面的程序,不过现在也有的。 --------------------编程问答-------------------- “8472协议 往SFF,SFP模块”
SFF,SFP模块是什么东西?
USB转IIC,那不还是要连接下位机的吗? --------------------编程问答-------------------- 请问下效率不高  会不会是生成的时候选的是debug模式呢。明天去试下 --------------------编程问答--------------------  不好意思,我也是光模块行业的,#50的更专业 --------------------编程问答-------------------- 虽说不懂,但还是觉得很牛鼻啊 --------------------编程问答--------------------
引用 92 楼 xiaoao314224236 的回复:
 不好意思,我也是光模块行业的,#50的更专业

啊能交个朋友-- --------------------编程问答--------------------
引用 92 楼 xiaoao314224236 的回复:
 不好意思,我也是光模块行业的,#50的更专业
 QQ 294040790
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,