完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
osal.c文件中包含如下接口:
1.int osal_usleep (uint32 usec) 2.int osal_gettimeofday(struct timeval *tv, struct timezone *tz) 3.ec_timet osal_current_time(void) 4.void osal_time_diff(ec_timet *start, ec_timet *end, ec_timet *diff) 5.void osal_timer_start(osal_timert * self, uint32 timeout_usec) 6.boolean osal_timer_is_expired (osal_timert * self) 7.void *osal_malloc(size_t size) 8.void osal_free(void *ptr) 9.int osal_thread_create(void *thandle, int stacksize, void *func, void *param) 10.int osal_thread_create_rt(void *thandle, int stacksize, void *func, void *param) 下面对上述接口进行一一讲解 1.osal_usleep :延迟usec微妙的时间 2.osal_gettimeofday:获取当前系统时间,通过第一个形参带出为秒和微妙值,第二个参数没有用到 3.osal_current_time:获取当前系统时间,只是对osal_gettimeofday函数做的一层封装 4.osal_time_diff:获取开始和结束时间之间的差值,在SOEM库中并未使用该接口 5.osal_timer_start:从当前时间点开始,设定超时时间,原理为根据当前时间点和超时时间记录结束时间点至形参1中 6.osal_timer_is_expired :检查由osal_timer_start设定的超时时间是否到 7.osal_malloc:堆内存分配函数,如果使用系统自带堆栈记得设置链接脚本中_HeapSize值 8.osal_free:与标题7对应,堆内存释放(不要忘记free后将内存块指针赋NULL哦) 9.osal_thread_create:创建一个线程,对于imxrt应用可使用freertos中的sys_thread_new替换(封装) 10.osal_thread_create_rt:实时线程创建接口,freertos中应将线程优先级设置为最高,用于周期性收发PDO数据 在SOEM库中osal_thread_create接口仅在IOMAP映射PDO时有用到,具体功能为在preop切safeop时执行沟子函数,该沟子函数用于配置初始化PDO通道配置,然后检查从站是否在预设的从站配置列表中(ec_configlist),如果不在则读取从站同步管理器通讯类型对象字典来完成配置。。。扯得有点远 osal中上述函数接口如上功能已经讲得很清楚,通过一个定时器即可实现上述osal定时器的功能 下一节说nicdiv.c文件内的接口 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
133个成员聚集在这个小组
加入小组【大联大品佳 NXP i.MX RT1050试用体验】 MCUXpresso IDE+语音识别(Tensorflow)测试
2602 浏览 0 评论
【大联大世平ON Semiconductor BLE5.0 RSL10开发板试用体验】+ 蓝牙键盘试验
2592 浏览 0 评论
【大联大友尚安森美半导体感光芯片USB双目摄像头模组试用体验】敏感人群自动追踪系统开发
3095 浏览 1 评论
【大联大品佳 Microchip PIC16F15324开发板试用体验】+初识及上电
2155 浏览 0 评论
【大联大世平ON Semiconductor BLE5.0 RSL10开发板试用体验】安森美IDE环境程序烧写失败的解决办法
1964 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 03:19 , Processed in 0.572609 second(s), Total 68, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号