源码,节省编译时间。</p><preclass="+ topic/pre pr-d/codeblock pre codeblock language-c"id="can_test_guide__codeblock_uz1_dcn_d1c"data-ofbid="can_test_guide__codeblock_uz1_dcn_d1c">Third-party packages--->
[*] can-utils--->
[*] use prebuilt binary instead of building from <strongclass="+ topic/ph hi-d/b ph b">source</strong></pre><preclass="+ topic/pre pr-d/codeblock pre codeblock language-c"id="can_test_guide__codeblock_vz1_dcn_d1c"data-ofbid="can_test_guide__codeblock_vz1_dcn_d1c">Third-party packages--->
[*] iproute2--->
[*] use prebuilt binary instead of building from <strongclass="+ topic/ph hi-d/b ph b">source</strong></pre></li><liclass="- topic/li li"data-ofbid="d97716e84__20250121171535">编译源码包<pclass="- topic/p p"data-ofbid="d97716e86__20250121171535">这种方式直接编译源码,而不使用 SDK
中的预编译包。</p><preclass="+ topic/pre pr-d/codeblock pre codeblock language-c"id="can_test_guide__codeblock_xz1_dcn_d1c"data-ofbid="can_test_guide__codeblock_xz1_dcn_d1c">Third-party packages--->
[*] can-utils--->
[ ] use prebuilt binary instead of building from <strongclass="+ topic/ph hi-d/b ph b">source</strong></pre><preclass="+ topic/pre pr-d/codeblock pre codeblock language-c"id="can_test_guide__codeblock_yz1_dcn_d1c"data-ofbid="can_test_guide__codeblock_yz1_dcn_d1c">Third-party packages--->
[*] iproute2--->
[ ] use prebuilt binary instead of building from <strongclass="+ topic/ph hi-d/b ph b">source</strong></pre></li></ul></div>
</section><sectionclass="- topic/section section"id="can_test_guide__section_zz1_dcn_d1c"data-ofbid="can_test_guide__section_zz1_dcn_d1c"><h2class="- topic/title title sectiontitle">CAN
<olclass="- topic/ol ol"id="can_test_guide__ol_evp_gqj_g1c"data-ofbid="can_test_guide__ol_evp_gqj_g1c"><liclass="- topic/li li"data-ofbid="d97716e105__20250121171535">将测试板上的两个 CAN 接口对接。使用 ip 命令设置两个开发板的 CAN 接口,设置 CAN 接口的速度为 500Kb/s。<preclass="+ topic/pre pr-d/codeblock pre codeblock language-c"id="can_test_guide__codeblock_a1b_dcn_d1c"data-ofbid="can_test_guide__codeblock_a1b_dcn_d1c">ip link set can0 type can bitrate <spanclass="hl-number">500000</span><emclass="hl-comment">//设置 CAN0</em>
ip link set can1 type can bitrate <spanclass="hl-number">500000</span><emclass="hl-comment">//设置 CAN1</em></pre></li><liclass="- topic/li li"data-ofbid="d97716e109__20250121171535">打开 CAN 网卡<preclass="+ topic/pre pr-d/codeblock pre codeblock language-c"id="can_test_guide__codeblock_b1b_dcn_d1c"data-ofbid="can_test_guide__codeblock_b1b_dcn_d1c">ifconfig can0 up <emclass="hl-comment">//打开 CAN0</em>
ifconfig can1 up <emclass="hl-comment">//打开 CAN1</em></pre></li><liclass="- topic/li li"data-ofbid="d97716e113__20250121171535">设置 CAN1 接收数据<preclass="+ topic/pre pr-d/codeblock pre codeblock language-c"id="can_test_guide__codeblock_c1b_dcn_d1c"data-ofbid="can_test_guide__codeblock_c1b_dcn_d1c">candump can0 &</pre><pclass="- topic/p p"data-ofbid="d97716e117__20250121171535">CAN0 发送数据</p><preclass="+ topic/pre pr-d/codeblock pre codeblock language-c"id="can_test_guide__codeblock_d1b_dcn_d1c"data-ofbid="can_test_guide__codeblock_d1b_dcn_d1c">cansend can0 <spanclass="hl-number">5</span>A1#<spanclass="hl-number">11.22</span>.<spanclass="hl-number">33.44</span>.<spanclass="hl-number">55.66</span>.<spanclass="hl-number">77.88</span></pre><divclass="- topic/p p"data-ofbid="d97716e121__20250121171535">上述 cansend 命令中,“5A1”是帧 ID,“#”后面的“11.22.33.44.55.66.77.88”是要发送的数据,十六进制。CAN2.0 一次最多发送 8 个字节的数据,8 字节数据之间用“.”隔开,can-utils 会对数据进行解析。<divclass="- topic/note note note note_note"id="can_test_guide__note_e4y_4cn_d1c"data-ofbid="can_test_guide__note_e4y_4cn_d1c"><spanclass="note__title">注:</span> 当 CAN 总线上只有一个结点时,此时 CAN 结点发送数据,无法获取到 ACK,此时结点检测到错误并将会一直重发数据,该结点会进入被动错误状态,但不会进入总线关闭状态,直到有其它结点接入总线。这是符合 CAN 总线协议的。</div></div></li></ol>
</div>
</section><sectionclass="- topic/section section"id="can_test_guide__section_e1b_dcn_d1c"data-ofbid="can_test_guide__section_e1b_dcn_d1c"><h2class="- topic/title title sectiontitle">CAN 组网测试</h2>
<pclass="- topic/p p"data-ofbid="d97716e132__20250121171535">多个 CAN 结点可进行组网测试,组网测试时应遵循以下原则:</p>
<olclass="- topic/ol ol"id="can_test_guide__ol_f1b_dcn_d1c"data-ofbid="can_test_guide__ol_f1b_dcn_d1c"><liclass="- topic/li li"data-ofbid="d97716e136__20250121171535">不同 CAN 结点发送不同的帧 ID,当多个结点同时发送时,总线根据帧 ID 进行仲裁,优先级最高的获得总线权,可以向总线发送数据。若结点发送的帧 ID 相同,则同时发送数据时将无法仲裁。</li><liclass="- topic/li li"data-ofbid="d97716e138__20250121171535">组网测试时应确保总线两端匹配有 120 欧姆(典型值)的终端电阻。</li></ol>
<divclass="- topic/note note note note_note"id="can_test_guide__note_w3j_dcn_d1c"data-ofbid="can_test_guide__note_w3j_dcn_d1c"><spanclass="note__title">注:</span> 由于每个 demo 板都有匹配的终端电阻,多个 CAN 接入总线时,多个 demo 板的终端电阻并联接入网络,会严重影响 CAN 总线通信。应拆除掉多余的终端电阻,确保整个 CAN 网络的终端电阻为 120 欧姆。</div>
</section></div></article></main></div>
</div>
<navrole="navigation"id="wh_topic_toc"aria-label="On this page"class="col-lg-2 d-none d-lg-block navbar d-print-none">