<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[飞凌OK-T527开发板试用3-modbus使用]]></title><description><![CDATA[<h1>源码下载</h1>
<p dir="auto">文档：<a href="https://libmodbus.org/getting_started/" target="_blank" rel="noopener noreferrer nofollow ugc">https://libmodbus.org/getting_started/</a><br />
源码：<a href="https://github.com/stephane/libmodbus/releases" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/stephane/libmodbus/releases</a><br />
目前最新的为3.1.10</p>
<h1>交叉编译</h1>
<p dir="auto">进入到源码目录，执行</p>
<pre><code class="language-bash">./configure ac_cv_func_malloc_0_nonnull=yes --host=aarch64-none-linux-gnu --enable-static --prefix=/home/feng/文档/development/Linux/application/OK527N/libmodbus-3.1.10/install/
</code></pre>
<p dir="auto">其中--host为交叉编译器的前缀；--prefix为编译结果的目录，需要为绝对路径。之后执行</p>
<pre><code class="language-bash">make
make install
</code></pre>
<p dir="auto">编译成功后，就会在install目录下生成三个目录：include、lib、share。我们需要将lib目录移动到开发版的lib目录下</p>
<pre><code class="language-bash">scp -r ./install/lib/ root@192.168.33.4:/
</code></pre>
<h1>移植测试程序</h1>
<p dir="auto">我们这里以random-test-server和random-test-client为例进行测试，其中开发板为server，电脑为client。</p>
<h2>开发板</h2>
<p dir="auto">首先进入tests目录下，将random-test-server.c测试程序里面的ctx=modbus_new_tcp("127.0.0.1", 1502);<br />
改为 ctx = modbus_new_tcp(NULL, 1502);，即 server 监控所有的 ip 地址，端口是 1502。之后重新执行交叉编译</p>
<pre><code class="language-bash">aarch64-none-linux-gnu-gcc -o random-test-server random-test-server.c -L/home/feng/文档/development/Linux/application/OK527N/libmodbus-3.1.10/install/lib -lmodbus -I/home/feng/文档/development/Linux/application/OK527N/libmodbus-3.1.10/install/include/modbus
</code></pre>
<p dir="auto">将得到的random-test-server文件复制到开发板上</p>
<pre><code class="language-bash">scp -r ./tests/random-test-server root@192.168.33.4:/home
</code></pre>
<p dir="auto">在开发板上执行程序</p>
<pre><code class="language-bash">chmod 777 random-test-server
./random-test-server
</code></pre>
<h2>电脑端</h2>
<h3>编译</h3>
<pre><code class="language-bash">./configure
make
sudo make install
</code></pre>
<h3>修改测试文件</h3>
<p dir="auto">首先进入tests目录下，将random-test-client.c测试程序里面的ctx = modbus_new_tcp("127.0.0.1", 1502); 改为 ctx = modbus_new_tcp("192.168.33.4", 1502);，即将服务端的ip地址改为开发板的ip地址，端口是 1502。重新执行make编译</p>
<h1>测试</h1>
<p dir="auto">首先在开发板上执行./random-test-server启动服务端程序，之后在电脑客户端执行./random-test-client，运行结果如下：<br />
<img src="/assets/uploads/files/1720877644823-65ccbe72-63ad-45d4-9eb8-e1b2248e19f2.png" alt="65ccbe72-63ad-45d4-9eb8-e1b2248e19f2.png" class=" img-responsive img-markdown" width="813" height="236" /></p>
<p dir="auto"><img src="/assets/uploads/files/1720877653224-1c3b3af7-a166-4900-9480-d1097df7b401.png" alt="1c3b3af7-a166-4900-9480-d1097df7b401.png" class=" img-responsive img-markdown" width="813" height="623" /></p>
]]></description><link>https://bbs.aw-ol.com/topic/5568/飞凌ok-t527开发板试用3-modbus使用</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 14:55:57 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/5568.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Jul 2024 13:34:19 GMT</pubDate><ttl>60</ttl></channel></rss>