bigbat 发表于 2019-9-20 09:02

NUCLEO_G431RB测评-CRC计算

<div class='showpostmsg'><p>感谢EEWORLD和ST公司提供开发板,<a href="https://www.st.com/en/evaluation-tools/nucleo-g431rb.html#resource" target="_blank">板子资料地址</a></p>

<p>由于我使用的是Keil 5.18a的开发工具,遇到一个问题:就是板子上的这个ST-LINK V3版本不能下载程序,只好使用ST-LINK工具下载Hex文件到板子上进行实验。但好歹可以进行实验了。于是点了一下LED和同时进行串口的实验,都很顺利。串口用的LPUART1,引脚是PA2/PA3。<br />
芯片上有内置的CRC计算和RNG发生器,首先进行CRC计算的实验。发现计算速度真是很快!</p>

<p>如果想使用CRC计算加速器,需要初始化和参数设置。这个操作在STM32CUBE中是很方便的。</p>

<p>STM32CUBE默认的是32-bit的CRC,一般常用的是16-bit的。下面介绍一下设置项目:</p>

<p>Default Polynomial State &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 是否使用定制的算法和校验式<br />
CRC Length &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CRC校验的长度,默认32-bit<br />
CRC Generating Polynomial &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;指定&#39;校验式&#39;<br />
Default Init Value State &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;指定首字节,默认为&#39;FF&#39; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
Input Data Inversion Mode &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;输入数据的计算方向<br />
Output Data Inversion Mode &nbsp; &nbsp; &nbsp; &nbsp; 输出数据的计算方向 &nbsp;<br />
Input Data Format &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;输入数据的位宽,默认为&#39;字节&#39;<br />
设置好初始化参数后就可以使用HAL_CRC_Calculate(&amp;hcrc, (uint32_t *)txData, sizeof(txData));函数了。函数的返回值就是CRC的计算结果了。</p>

<p>通过串口调试助手显示CRC结果<br />
<b><font color="#5e7384">此内容由EEWORLD论坛网友<font size="3">bigbat</font>原创,如需转载或用于商业用途需征得作者同意并注明出处</font></b><br />
&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页: [1]
查看完整版本: NUCLEO_G431RB测评-CRC计算