电梯开发进度贴

高林开发进度贴友情链接http://www.cnblogs.com/gaolin/p/4513381.html

2015/05/18  

  今天仍然在调试音频从网络发送到STM32的部分,一起讨论了关于TCP/IP接收机制的调度问题,

1 if(q->len > (I2S_TX_DMA_BUF_SIZE-data_len)) mymemcpy(tcp_client_recvbuf+data_len,q->payload,(I2S_RX_DMA_BUF_SIZE-data_len));//拷贝数据
2 else mymemcpy(tcp_client_recvbuf+data_len,q->payload,q->len);

这段如果空间不足,data中间截断后的数据怎么操作问题。

2015/05/19

发送数据client_flag|=1<<3 

如果DMA中断时,发送完了(flag&=~(1<<3))程序正常,如果没有发送完(flag|=1<<3),需要设定等待程序,然后中断里面不能while()

在外部大循环里,while()等待

while(talkdev.talk_sta&(1<<5)) ;
talkdev.talk_sta|=1<<5;

用于检测talk状态的变量我试试使用单独的,而不是变量的各个位,看有没有防止跑飞的效果。

UDP今晚做了相关调研,更换起来并不是很麻烦,如果觉得需要换成UDP的话,那我明天换,请联系我。避免我做无谓的工作。

接收部分的程序也做相关的更改。

 20150520

修改为UDP协议,

写发送函数和接收函数

20150521

接收和发送函数写完了,基本的字符串通信实现

20150522

修改DMA,使得交替发送数据,失败。

20150523

发送数据成功。UDP协议的好处是服务器掉了能继续传数据包。

碰到新的问题:网络发送到STM32存在数据量大小和速度无法控制(网络调试助手不行)

20150524

今天休息。晚上调了一会双缓冲buffer的标志问题,希望能够STM32端做到不丢数据。

问题是:怎么知道我丢数据了。。。(音频芯片出来的数据如何判定不对?)

20150605

IP网络对话终于实现了。

晚上调了超声波程序,明天继续写定时器函数。

20150607

今天超声波程序写好了,但是发现LWIp 的定时器和超声波的冲突了

所以调研了写定时器

20150608 超声波测距函数
其余开关量麻烦写个判定依据

20150609
PF7是超声波测距的脉冲管脚,配置定时器,中断级别
明天继续
20150610
超声波测试函数配置完成。使用的是定时器11 的输入捕获,管脚PF7
超声测试会出现超时现象,所以下一步预备将超过30ms的高电平结果默认丢掉,测三次求平均。

原文地址:https://www.cnblogs.com/Viewsky/p/4513351.html