你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

freemodbus的一些疑问。

[复制链接]
any012 提问时间:2016-12-29 15:00 /
在看freemodbus部分,看的硬石的教程。

eMBPoll( void ){};函数里,如果有事件产生,则switch语句里有这么个case:
case EV_FRAME_RECEIVED:
            eStatus = peMBFrameReceiveCur( &ucRcvAddress, &ucMBFrame, &usLength );

追踪peMBFrameReceiveCur,有:
static peMBFrameReceive peMBFrameReceiveCur;

再追踪peMBFrameReceive ,又有:
typedef eMBErrorCode( *peMBFrameReceive ) ( UCHAR * pucRcvAddress,
                                            UCHAR ** pucFrame,
                                            USHORT * pusLength );
这句话,看不懂哎,求教。
看上去像是把eMBErrorCode( *peMBFrameReceive )定义为( UCHAR * pucRcvAddress, UCHAR ** pucFrame, USHORT * pusLength );
那么,peMBFrameReceive 到底是什么?
收藏 2 评论4 发布时间:2016-12-29 15:00

举报

4个回答
海迹天涯 回答时间:2016-12-29 15:49:51
前段时间做一个MODBUS的项目把freemodbus源码分析了一下,其实这个是函数指针,这个时候你就追踪不到了,你要在初始化函数eMBinit里面找,这个指针函数会被赋值

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

damiaa 回答时间:2016-12-29 15:13:08
正准备看呢。还没开始,顶起!
any012 回答时间:2016-12-29 15:40:19
http://www.freemodbus.org/index.php?lang=en
想从官网上下载源码,结果转不到下载页面。
而且,中文页面下载的好像是1.3版本,英文页面下载的是1.5版本。
any012 回答时间:2016-12-29 16:01:21
海迹天涯 发表于 2016-12-29 15:49
前段时间做一个MODBUS的项目把freemodbus源码分析了一下,其实这个是函数指针,这个时候你就追踪不到了,你 ...

peMBFrameReceiveCur = eMBRTUReceive;

初始化时,确实有,谢谢解惑。
第一次见到typedef的这种用法。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版