Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2827|回复: 0

11-给单片机写个回调函数怎么样

[复制链接]

56

主题

56

帖子

224

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
224
发表于 2020-9-21 09:57:24 | 显示全部楼层 |阅读模式




一,弄个串口回调  (实际上就是函数指针...)
819239-20191015014859655-1353003673.png



void(*UsartCallBack)(char data);//定义一个函数指针变量


void UsartCallBackReg(void* Back)
{
    UsartCallBack = Back;//把传过来的指针赋值给 UsartCallBack
}


819239-20191015015023972-62836730.png


USART_C_ void(*UsartCallBack)(char data);
void UsartCallBackReg(void* Back);


819239-20191015015232048-1281206146.png



819239-20191015015301700-340024475.png




实际上就是定义了一个 void(*UsartCallBack)(char data);//定义一个函数指针变量
然后我把一个函数指针赋值给他
他呢在串口里面调用!!!!
其实直接可以

819239-20191015015703964-1198790680.png




测试:
819239-20191015015822462-75215592.png




然后呢,写个看着有点水平的
819239-20191015021323170-1735682901.png



typedef void(*UsartCallBack)(char data);//定义一个函数指针类型 UsartCallBack
void UsartCallBackReg(UsartCallBack Back);

819239-20191015021344779-647635134.png



UsartCallBack CallBack;//定义一个无返回值,带一个参数的函数指针变量
void UsartCallBackReg(UsartCallBack Back)
{
    CallBack = Back;
}


819239-20191015021441505-1441046538.png



然后主函数
819239-20191015021512497-328471023.png




测试
819239-20191015021734630-1835267307.png

copycode.gif
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2020-10-30 10:21 , Processed in 0.091243 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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