新闻资讯
NEWS
新闻资讯
NEWS
联系我们
Contact us

联系人: 山哥

手机: 13537134778

电话: 0769-81913947

邮箱: boyusports@fmyc56.com

地址: 广东省博鱼·体育(中国)官方网站-登录入口

公司动态

博鱼·体育登录入口函数指针有啥用?有啥意义?

作者:小编 点击: 发布时间:2024-03-10 17:49:38

  博鱼·体育登录入口函数指针有啥用?有啥意义?有些东西就是这样,自己知道该怎么用,用在哪,但如果一下子让我很通俗易懂地表达出来,脑子就卡壳了。

  比如我们使用的涂鸦云提供的WiFi模组,通过串口和我们单片机连接,有一个通讯协议,但是涂鸦云帮我们做好了这个通讯协议的代码,所以会提供一个SDK给我们。

  我们在使用SDK的时候,需要修改SDK的代码,把我们这款单片机的串口发送一个字节的函数,移植到SDK里面去。

博鱼·体育登录入口函数指针有啥用?有啥意义?(图1)

博鱼·体育登录入口函数指针有啥用?有啥意义?(图2)

  如果采用这种方式,有一种功能实现不了,就是假设涂鸦云这个SDK要封库(lib文件),源码不开放,我们就没法把Hal_Wifi_SendByte放到protocol.c文件的usart_transmit_output函数里面去。

  是不是会有这个问题?这意味着,protocol.c必须开源,但是很多企业有一些核心代码,是商业机密,不能开放的,比如做导航的地图数据库。

  客户的技术水平层次不齐,如果有些基础稍微差点的,把SDK改乱了,这样会增加涂鸦云技术支持的人工成本。

  所以,如果我去做,最理想的是不让客户改SDK的任何代码,你就直接按照我的方法和流程,调用函数用。

博鱼·体育登录入口函数指针有啥用?有啥意义?(图3)

博鱼·体育登录入口函数指针有啥用?有啥意义?(图4)

  第三步:修改protocol.c文件下uart_transmit_output函数博鱼登录入口,直接调用刚刚定义的函数指针变量Uart_transmit_outputCBS,记住调用前,必须要指针不为空的条件判断,否则,如果指针调用前没正确指向,会造成指针异常,程序死机。

博鱼·体育登录入口函数指针有啥用?有啥意义?(图5)

  第四步:在protocol.c文件下编写Uart_transmit_outputCBS函数指针的注册函数,也就是让这个函数指针变量指向一个地址的函数接口。

博鱼·体育登录入口函数指针有啥用?有啥意义?(图6)

  为什么要单独写个函数呢?因为我们理想的情况下,是提供函数接口,给别的.c文件调用,而不是用全局变量的形式。

  这就是函数指针的作用,这样就能实现,客户不修改SDK代码,SDK也能调用客户工程下.c文件里的函数了。

  这些技巧不复杂,就像纱窗,有人指点一下,很快就捅破了,没人指点,可能很多年都领悟不了,这也是进阶架构师必须要掌握的技巧。

  声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。举报投诉

博鱼·体育登录入口函数指针有啥用?有啥意义?(图7)

  在Linux内核和C语言开发中用的非常多,而且在设计操作系统的时候也会用到,因此这里将详细讲解

  ?2.AP_IOMCU文件具体代码3.总结摘要本节主要学习AP_IOMCU这个文件夹下的东西是做什么

  Arduino做出网上常见的60%的项目。C语言基础和一点面向对象语言编程概念Arduino编程时使用C++,但是C++是兼容C语言的,一些简单基础的部分

  的,没太听清楚,在网上也没看见,感到很新奇,就想问问有没有人知道这个牌子,还有这个牌子关于

  本帖最后由 *** 于 2017-11-19 20:51 编辑 MAX中的DAQmx和labview软件中的DAQmx创建通道

  各位大佬,如图,MRS 的汇编设置 assembler 和 assembler-with-cpp

  例程 WebServer 参考 FreeRTOS,移植了FreeRTOS的代码,但是编译报错,如下图,是哪里没设置好吗?

  js实现获取应用信息,包括应用名称,图标等信息,没有什么问题;但当我想用ets实现的时候,感觉各种不对劲,API看上去没问题,但是获取不到想要的东西,甚至报错。

  ?一个bootloader可以切换到X86保护模式能够读磁盘并加载ELF执行文件格式显示字符一个OS可以处理时钟中断显示字符项目组成

  区别吗博鱼登录入口,STM32的PWM和DAC一级目录二级目录目录一、STM32F103输出一路PWM波形一级目录二级目录目录一、STM32F103输出一路PWM波形

  ));ijk-aa=0x00;ijk-bb=0xff;}2.在text2.h中,有如下代码:struct a; //不知

  互斥信号量保护的一个u8全局变量就和消息邮箱具有同样的传递数据的功能,这么一来消息邮箱使用起来不就没什么

  什么是占空比,占空比就是高电平的长度除于总长度乘于百分之百,得到的就是占空比,这个是不同的占空比的:PWM与LED呼吸灯

  关系?我们学过物理的同学应该知道,我们的占空比越大,做的功就越大,所以LED灯就越亮,反之,一样的原理。就像我们学过的物理一样(W=UIt),所以我们调节占空比就能灯的亮度。二、代码编写

  使用的是64PIN的28035,我想问一下使用Internal VREG和不使用Internal VREG

  区别,在什么应用条件下Enable,什么条件下Disable。看了datasheet,还不是很清楚,希望大侠帮忙。谢谢

  更多志同道合的小伙伴一起分享各自的想法,一起解决困惑的难题。首先是看大佬郭天祥的51单片机C语言教程,先开始是懵逼的的状态,还根本摸不清单片机是

  重点描述如下:软硬件可裁剪对功能、可靠性、成本、体积、功耗等严格要求嵌入式系统是软件和硬件

  东东?朋友是做美容的,她从这家 买了一个叫【工业手机】的东东,连在电脑上,给老顾客发短信搞促销,最近生意比较火。工业手机是个

  区别,各个库他的优点在哪里。标准库串口通信GPIO初始化外部中断HAL库HAL库其实是标准库更高级的一层封装,深究其实先总结...

  区别吧。嵌入式android源码架构:uboot+linux kernel+android(包含文件系统,虚拟机,UI)嵌入式linux:这是大部分人

  比如结构体变量a,那么&a是代表a中第一个成员的地址吗,变量名字a也可以代表地址吗还有一个问题,结构体

  区别???[C] 纯文本查看 复制代码netif-output = etharp_output;netif-linkoutput = low_level_output;

  写在前面此文觉得非常有逻辑性博鱼登录入口,而且有很多量子计算方面的常识介绍。大部分资料都是网络公开的,这里做了一个汇集。因此,转发到博客里。文章目录(一)量子是个


相关标签:
热门产品