======= === 单机片做TCP通讯 ===========

愚者只看星不看答案 2018-01-09 11:19:56
在操作系统上,如Linux,Windows上做TCP的开发时,TCP所收到的数据都先达到操作系统的接收缓冲区,然后应用软件从操作系统的接收缓冲区读出数据,那么,我想知道,在单片机开发时,没有操作系统,有还是没有类似操作系统的接收缓冲区呢?
多谢。
...全文
474 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
DigCore 2018-10-30
  • 打赏
  • 举报
回复
首先,TCP是传输层,你得有网络层和接口层,不管怎么样,你都要有物理层,有些PHY芯片,可以完成以太网控制的收发,然后与单片机进行SPI或者其他接口通信。

或者利用无线的方式,ESP8266这块WiFi模组,配置WiFi连接后,就可以向服务器发起连接,这个连接就是在传输层的TCP下连接了。

可以参考这篇文章进行了解:《快速开发MQTT(一)电子工程师眼中的MQTT

欢迎访问主页:www.digcore.cn
john_liqinghan 2018-10-10
  • 打赏
  • 举报
回复
开源的协议栈都会有缓冲区,像UIP,LWIP等都会缓冲区管理,移植的时候需要和硬件对接即可。我在STm32F107 F407 以及 745等用过LWIP协议,这个协议栈BUG比较多,要注意去修改某些bug。
tao20002008 2018-10-09
  • 打赏
  • 举报
回复
要学会TCP协议栈,需要多久?有什么书籍推荐
cp1300 2018-01-20
  • 打赏
  • 举报
回复
你可以试试W5500,自带协议栈,自带接收缓冲区
faihung 2018-01-11
  • 打赏
  • 举报
回复
首先你需要自己实现一个TCP/IP的协议栈。
worldy 2018-01-10
  • 打赏
  • 举报
回复
引用 5 楼 truelove12 的回复:
[quote=引用 2 楼 worldy 的回复:] 在没有操作系统下,你首先需要自己实现一个TCP/ip的协议栈,自己开辟和管理收发数据的缓冲区
你是指,即使电路板加了一个通讯模块,缓冲区的这个功能依然要自己来开发? 对单片机一无所知,请指教。[/quote] 模块一般会自己管理收发缓冲区,你的程序就是往缓冲区读写数据,当然,TCP\IP 模块有一堆的模式寄存器需要由单片机设置,比如W5500模块
worldy 2018-01-09
  • 打赏
  • 举报
回复
在没有操作系统下,你首先需要自己实现一个TCP/ip的协议栈,自己开辟和管理收发数据的缓冲区
fly_with_the_winds 2018-01-09
  • 打赏
  • 举报
回复
这要看你用哪款单片机了
fly_with_the_winds 2018-01-09
  • 打赏
  • 举报
回复
引用 4 楼 truelove12 的回复:
[quote=引用 1 楼 ysu_yujie 的回复:] 这要看你用哪款单片机了
能细说下吗?多谢。[/quote] 我用过的是STM32F746,他的以太网通信是配置DMA的描述符来实现的,在DMA的描述符里面需要配置RAM地址和大小作为以太网通信的缓冲区,应用程序里可以另外开辟缓冲区也可以直接访问以太网DMA的缓冲区,ST提供的额固件库是另外开辟了缓冲区,将应用程序缓冲区中的数据拷贝到DMA缓冲区中在进行发送,接受数据的过程也是一样的。
worldy 2018-01-09
  • 打赏
  • 举报
回复
引用 5 楼 truelove12 的回复:
[quote=引用 2 楼 worldy 的回复:] 在没有操作系统下,你首先需要自己实现一个TCP/ip的协议栈,自己开辟和管理收发数据的缓冲区
你是指,即使电路板加了一个通讯模块,缓冲区的这个功能依然要自己来开发? 对单片机一无所知,请指教。[/quote] 最简单的方式就是加一个串口转TCP/IP的模块
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
在没有操作系统下,你首先需要自己实现一个TCP/ip的协议栈,自己开辟和管理收发数据的缓冲区
你是指,即使电路板加了一个通讯模块,缓冲区的这个功能依然要自己来开发? 对单片机一无所知,请指教。
  • 打赏
  • 举报
回复
引用 1 楼 ysu_yujie 的回复:
这要看你用哪款单片机了
能细说下吗?多谢。
Acuity. 2018-01-09
  • 打赏
  • 举报
回复
移植一个lwip协议栈即可,省事的话找开发板例程

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧