与master分支同步更改

This commit is contained in:
panrui
2022-12-29 16:53:10 +08:00
parent 3e312b0041
commit 390e168b46
25 changed files with 674 additions and 161 deletions

View File

@@ -317,7 +317,7 @@ uint8_t bmi088_gyro_init(void)
void BMI088_Read(IMU_Data_t *bmi088)
{
static uint8_t buf[8] = {0, 0, 0, 0, 0, 0};
static uint8_t buf[8] = {0};
static int16_t bmi088_raw_temp;
static float dt = 1.0;
static uint8_t first_read_flag = 0;

View File

@@ -24,7 +24,7 @@
- 订阅者:获取消息的对象。订阅者在订阅了某个事件之后,可以通过接口获得该事件的消息。
- 事件event / topic用于区分消息来源的对象。可以将一个事件看作一刊杂志不同的发布者会将文章汇集到杂志上而订阅者选择订阅一种杂志然后就可以获取所有写在杂志上的文章。
Message Center不同应用间进行消息传递的中介它的存在可以在相当大的程度上解耦不同的app使得不同的应用之间**不存在包含关系**,让代码的自由度更大,将不同模块之间的关系降为**松耦合**。在以往,如果一个.c文件中的数据需要被其他任务/源文件共享,那么其他模块应该要包含前者的头文件,头文件中应当存在获取该模块数据的接口(即函数,一般是返回数据指针或直接返回数据);但现在,不同的应用之间完全隔离,他们不需要了解彼此的存在,而是只能看见一个**消息中心**。
Message Center不同应用间进行消息传递的中介它的存在可以在相当大的程度上解耦不同的app使得不同的应用之间**不存在包含关系**,让代码的自由度更大,将不同模块之间的关系降为**松耦合**。在以往,如果一个.c文件中的数据需要被其他任务/源文件共享,那么其他模块应该要包含前者的头文件,头文件中应当存在获取该模块数据的接口(即函数,一般是返回数据指针或直接返回数据**强烈建议不要使用全局变量**);但现在,不同的应用之间完全隔离,他们不需要了解彼此的存在,而是只能看见一个**消息中心**以及一些事件(有些地方也称**话题**
需要被共享的消息,将会被**发布者**publisher发送到消息中心要获取消息则由**订阅者**subscriber从消息中心根据订阅的消息名事件获取。在这之前发布者要在消息中心完成**注册**,将自己要发布的消息类型和消息名称提交到消息中心;订阅者同样要先在消息中心完成订阅,将自己要接收的消息类型和消息名称提交到订阅中心。消息中心会根据**消息名称**,把订阅者绑定到发布相同名称的发布者上。