这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 上班累了,不想动。串口收文件搞不定

共10条 1/1 1 跳转至

上班累了,不想动。串口收文件搞不定

高工
2012-05-17 19:42:48     打赏
原因是不会用串口连续接收数据。只会单个数据接收。谁帮帮俺啊



关键词: 上班     累了     不想     串口     文件     不定    

菜鸟
2012-05-17 20:04:14     打赏
2楼
串口可以设置数据格式中规定一个字节数据帧长度,根据数据长度等待读取数据,直到读完为止。 串口发送数据也是一个一个字节发送的,只不过是时间很短。 很简单的哦,再弄弄,不难的。

高工
2012-05-17 20:41:37     打赏
3楼
那接收文件呢?很长的文件。用空闲时间可以吧?

工程师
2012-05-17 21:57:04     打赏
4楼
别提了,自从我把串口的函数加到CAN的文件里面,错误百出,我被这个串口搞死了!以前单搞时也没事啊,哎,我决定从头开始,今天花了10块钱把数据手册上关于CAN和串口的资料打印了,细细的分析,靠单纯的移植总是会出问题。

助工
2012-05-17 22:39:13     打赏
5楼
你用的是什么协议啊?如果自己不定的话就不妨用现成的modbus之类的协议呗。这方面可以看看周立功 的教程,不少都不错的。卡住后人就有惰性不想做,不妨左下想想理清思路再去解决吧

院士
2012-05-17 23:04:15     打赏
6楼
modbus RTU协议是通过判断间隔的两个字节的间隔时间,然后来确定是否属于同一次发送。楼主也可以借鉴一下。

也可以通过自定义一个开始符号,结束符号,逃跑符号来判断是否是同一次发送~~


仅供参考,个人建议

助工
2012-05-17 23:36:49     打赏
7楼
大大加油~

高工
2012-05-18 00:25:55     打赏
8楼
需要循环调用单个字节的发送程序

高工
2012-05-18 08:58:03     打赏
9楼
可能是LZ你的串口接收程序是每次仅接收一个字节,这样效率将非常低,尤其是在系统任务较多的时候。所以建议LZ采取以下方式:
1、采用buffer,使能FIFO,每次多接收几个字节;
2、采用中断方式,并尽量提高其中断优先级;
3、采用DMA方式;

高工
2012-05-18 09:07:21     打赏
10楼
晚上试试

共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]