单片机模块化程序: 给单片机写个回调函数怎么样

 

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

 

 

 

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

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

 

 

 

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

 

 

 

 

 

 

 

 

 

实际上就是定义了一个 void(*UsartCallBack)(char data);//定义一个函数指针变量

然后我把一个函数指针赋值给他

他呢在串口里面调用!!!!

其实直接可以

 

 

 

 

 

测试:

 

 

 

 

然后呢,写个看着有点水平的

 

 

 

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

 

 

 

 

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

 

 

 

 

然后主函数

 

 

 

 

测试

 

posted on   广源时代  阅读(3803)  评论(0编辑  收藏  举报

编辑推荐:
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
阅读排行:
· 我干了两个月的大项目,开源了!
· 推荐一款非常好用的在线 SSH 管理工具
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· 千万级的大表,如何做性能调优?
· .NET周刊【1月第1期 2025-01-05】
历史上的今天:
2016-10-15 232转485转换器改进为有电源的可以双向传输

导航

支付宝 QQ群
点击右上角即可分享
微信分享提示