代码拉取完成,页面将自动刷新
/******************************************************************************
UsartDevCfg相关实现
******************************************************************************/
#include "UsartDevCfg.h"
struct _UsartDevCfg UsartDevCfg[USART_DEV_CFG_COUNT];
/******************************************************************************
属性相关实现
******************************************************************************/
#ifdef SUPPORT_USART_DEV_CFG_TINY //精简模式时,Cfg高位为波特率枚举型
const unsigned long UsartDevCfg_Buad[] = {
9600,// 0 //默认
#ifndef SUPPORT_USART_DEV_TINY_DIS_LOW //没有禁止低波特率时
4800,// 1
2400,// 2
1200,// 3
#endif
19200,// 4or1
38400,// 5or2
57600,// 6or3
115200,// 7or4
};
//unsigned long UsartDevCfg_GetBuad(const struct _UsartDevCfg *pCfg)
//{
// return UsartDevCfg_Buad[(pCfg->Cfg & USART_DEV_BUAD_MASK) >> USART_DEV_BUAD_SHIFT];
//}
#endif
/******************************************************************************
行为函数实现
******************************************************************************/
#ifdef SUPPORT_USART_DEV_CFG_SAVE //支持保存时
#include <string.h>
#include "Eeprom.h"
#include "InfoBase.h"
//----------------------------初始化函数----------------------------------
void UsartDevCfg_Init(signed char IsInited)
{
for(unsigned char Ch = 0; Ch < USART_DEV_CFG_COUNT; Ch++){
if(!IsInited){//装载默认
memcpy(&UsartDevCfg[Ch],
&UsartDevCfg_cbDefault[Ch],
sizeof(struct _UsartDevCfg));
UsartDevCfg_Save(Ch);
}
else{
Eeprom_Rd(UsartDevCfg_GetInfoBase(Ch),
&UsartDevCfg[Ch],
sizeof(struct _UsartDevCfg));
UsartDevCfg_cbSaveNotify(Ch);//通报以实现参数更新到底层
}
}
}
//----------------------------保存函数----------------------------------
//结构变化时调用此函数保存至EEPROM
void UsartDevCfg_Save(unsigned char Ch)
{
Eeprom_Wr(UsartDevCfg_GetInfoBase(Ch),
&UsartDevCfg[Ch],
sizeof(struct _UsartDevCfg));
UsartDevCfg_cbSaveNotify(Ch);//通报以实现参数更新到底层
}
#endif //SUPPORT_USART_DEV_CFG_SAVE
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。