12
返回列表 发新帖
楼主: zhaojianguo-122

[已解决] 如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU(已解决)

[复制链接]

该用户从未签到

1

主题

27

帖子

0

新手上路

Rank: 1

积分
22
最后登录
1970-1-1
 楼主| 发表于 2014-2-24 15:35:02 | 显示全部楼层

RE:如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU

楼上能把量个函数都贴出来吗,完整的函数,我按你的函数再试一下
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

27

帖子

0

新手上路

Rank: 1

积分
22
最后登录
1970-1-1
 楼主| 发表于 2014-2-24 15:40:15 | 显示全部楼层

RE:如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU

uint32_t CRC_Cal_16(uint32_t seed,uint8_t *msg, uint32_t sizeBytes)
{
  uint32_t ctrl_reg,data_out,data_in;
  uint8_t  *pCRCBytes;
  uint32_t sizeWords;
  uint32_t i,j;
  
  // Input seed, Set WaS=1
  ctrl_reg=CRC_CTRL;
  CRC_CTRL=ctrl_reg | 0x02000000;
  CRC_CRC=seed;
  
  // Input data, Set WaS=0
  CRC_CTRL=ctrl_reg & 0xFD000000;
  // Wait for calculation completion
  sizeWords = sizeBytes>>1;
  j = 0;
  for(i=0;i
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-2-24 15:57:37 | 显示全部楼层

    回复:如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU

    回复第 11 楼 于2014-02-24 15:35:02发表:
    楼上能把量个函数都贴出来吗,完整的函数,我按你的函数再试一下 

    请参考手把手学会官方例程第二十六篇:Kinetis 120MHz主频芯片CRC 例程帖子压缩包中crc.c的CRC_Cal_16函数。
    我也在TWR-K60D100M开发板上,测试了E:\Program Files\Freescale\CW MCU v10.5\MCU\CodeWarrior_Examples\Kinetis_Examples\k60\crc_demo例程(同样是修改了输出byte转置导致的结果会存入CRC_CRC寄存器的HU HL问题)。
    你可以在debug时观察一下CRC_CRC寄存器的值。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    27

    帖子

    0

    新手上路

    Rank: 1

    积分
    22
    最后登录
    1970-1-1
     楼主| 发表于 2014-2-24 16:24:51 | 显示全部楼层

    RE:如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU

    我怎么觉得你那个手把手CRC的代码有问题啊?f (totr>1)data_out=CRC_CRCH;
      
      else  data_out=CRC_CRCL;
    编译都通不过啊,那个TOTR在这函数里面没定义
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    27
    最后登录
    2019-12-9
    发表于 2014-2-24 17:03:54 | 显示全部楼层

    RE:如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU

    兄弟,我也一直没有搞定,搞定了请说一说,谢谢了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    27

    帖子

    0

    新手上路

    Rank: 1

    积分
    22
    最后登录
    1970-1-1
     楼主| 发表于 2014-2-24 17:10:56 | 显示全部楼层

    RE:如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU

    问题解决了,就用飞思卡尔的例程,不用做改动

    crc_error=CRC_Config (0x8005,1 ,1,0,0);
    crc = CRC_Cal_16(0xffff, stmsg, 10);

    这样的计算结果就是MODBUS_RTU的CRC,试过了,绝对正确
    回复 支持 1 反对 1

    使用道具 举报

    该用户从未签到

    1

    主题

    27

    帖子

    0

    新手上路

    Rank: 1

    积分
    22
    最后登录
    1970-1-1
     楼主| 发表于 2014-2-24 17:16:32 | 显示全部楼层

    RE:如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU(已解决)

    谢谢大家关注,终于解决了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-3-6 09:23:38 | 显示全部楼层

    RE:如何正确配置KINETIS 的CRC模块?对于MODBUS_RTU(已解决)

    感谢楼主分享最后的解决经验已经对飞思卡尔产品的关注,
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-19 01:26 , Processed in 0.101199 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表