高林开发进度贴友情链接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的高电平结果默认丢掉,测三次求平均。