提交 c6419389 作者: wysheng

完善模块管理

上级 3fce6c2f
...@@ -247,26 +247,26 @@ void TCUCanInit(void) ...@@ -247,26 +247,26 @@ void TCUCanInit(void)
// 最小时间份额 TQ = 2 * ( BRP + 1 ) / Fosc = 2*(7+1)/16M = 1uS // 最小时间份额 TQ = 2 * ( BRP + 1 ) / Fosc = 2*(7+1)/16M = 1uS
// 同步段 Sync Seg = 1TQ // 同步段 Sync Seg = 1TQ
// 传播段 Prop Seg = ( PRSEG + 1 ) * TQ = 1 TQ // 传播段 Prop Seg = ( PRSEG + 1 ) * TQ = 1 TQ
// 相位缓冲段 Phase Seg1 = ( PHSEG1 + 1 ) * TQ = 3 TQ // 相位缓冲段 Phase Seg1 = ( PHSEG1 + 1 ) * TQ = 1 TQ
// 相位缓冲段 Phase Seg2 = ( PHSEG2 + 1 ) * TQ = 3 TQ // 相位缓冲段 Phase Seg2 = ( PHSEG2 + 1 ) * TQ = 1 TQ
// 同步跳转长度设置为 CNF1.SJW[1:0] = 00, 即 1TQ // 同步跳转长度设置为 CNF1.SJW[1:0] = 00, 即 1TQ
// 总线波特率 NBR = Fbit = 1/(sync seg + Prop seg + PS1 + PS2 ) // 总线波特率 NBR = Fbit = 1/(sync seg + Prop seg + PS1 + PS2 )
// = 1/(8TQ) = 1/8uS = 125kHz // = 1/(4TQ) = 1/4uS = 250kHz
//设置分频控制器CNF1.BRP[5:0] = 7,同步跳转长度设置为 CNF1.SJW[1:0] = 00 //设置分频控制器CNF1.BRP[5:0] = 7,同步跳转长度设置为 CNF1.SJW[1:0] = 00
MCP2515_WriteReg( CNF1, (1<<BRP0)|(1<<BRP1)|(1<<BRP2) ); MCP2515_WriteReg( CNF1, (1<<BRP0)|(1<<BRP1)|(1<<BRP2) );
// 设置传播段 Prop Seg 为00,即1TQ,相位缓冲段 Phase Seg1的长度3TQ // 设置传播段 Prop Seg 为00,即1TQ,相位缓冲段 Phase Seg1的长度1TQ
MCP2515_WriteReg( CNF2, (1<<BTLMODE)|(1<<PHSEG11) ); MCP2515_WriteReg( CNF2, (1<<BTLMODE)|(0<<PHSEG10) );
// 设置 相位缓冲段 Phase Seg2为 3TQ , 禁用唤醒滤波器 // 设置 相位缓冲段 Phase Seg2为 1TQ , 禁用唤醒滤波器
MCP2515_WriteReg( CNF3, (1<<PHSEG21) ); MCP2515_WriteReg( CNF3, (0<<PHSEG20) );
*/ */
MCP2515_B_WriteReg(CNF1, (1 << BRP0) | (1 << BRP1) | (1 << BRP2)); //125K MCP2515_B_WriteReg(CNF1, (1 << BRP0) | (1 << BRP1) | (1 << BRP2));
// 设置传播段 Prop Seg 为00,即1TQ,相位缓冲段 Phase Seg1的长度3TQ // 设置传播段 Prop Seg 为00,即1TQ,相位缓冲段 Phase Seg1的长度1TQ
MCP2515_B_WriteReg(CNF2, (1 << BTLMODE) | (0 << PHSEG11)); MCP2515_B_WriteReg(CNF2, (1 << BTLMODE) | (0 << PHSEG11));
// 设置 相位缓冲段 Phase Seg2为 3TQ , 禁用唤醒滤波器 // 设置 相位缓冲段 Phase Seg2为 1TQ , 禁用唤醒滤波器
MCP2515_B_WriteReg(CNF3, (0 << PHSEG21)); MCP2515_B_WriteReg(CNF3, (0 << PHSEG21));
// 设置MCP2515中断使能寄存器,使能接收缓冲器中断 // 设置MCP2515中断使能寄存器,使能接收缓冲器中断
......
...@@ -40,5 +40,5 @@ typedef struct ...@@ -40,5 +40,5 @@ typedef struct
}StructDcModuleGroupCtrl; }StructDcModuleGroupCtrl;
extern StructDcModuleGroup DcModuleGroup[]; extern StructDcModuleGroup DcModuleGroup[];
extern StructDcModuleManage DcModuleManage_A;
#endif /*__DRV_SMARTALLOCATION_H__*/ #endif /*__DRV_SMARTALLOCATION_H__*/
...@@ -123,19 +123,16 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl) ...@@ -123,19 +123,16 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
{ {
DcModuleGroup[3].status = Hold_B; DcModuleGroup[3].status = Hold_B;
DcModuleManage_B.ValidNum += DcModuleGroup[3].ValidNum; DcModuleManage_B.ValidNum += DcModuleGroup[3].ValidNum;
//切换继电器
} }
else if(DcModuleGroup[2].status == Valid) else if(DcModuleGroup[2].status == Valid)
{ {
DcModuleGroup[2].status = Hold_B; DcModuleGroup[2].status = Hold_B;
DcModuleManage.ValidNum += DcModuleGroup[2].ValidNum; DcModuleManage.ValidNum += DcModuleGroup[2].ValidNum;
//切换继电器
} }
else if(DcModuleGroup[1].status == Valid) else if(DcModuleGroup[1].status == Valid)
{ {
DcModuleGroup[1].status = Hold_B; DcModuleGroup[1].status = Hold_B;
DcModuleManage.ValidNum += DcModuleGroup[1].ValidNum; DcModuleManage.ValidNum += DcModuleGroup[1].ValidNum;
//切换继电器
} }
} }
else else
...@@ -144,19 +141,16 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl) ...@@ -144,19 +141,16 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
{ {
DcModuleGroup[1].status = Valid; DcModuleGroup[1].status = Valid;
DcModuleManage.ValidNum -= DcModuleGroup[1].ValidNum; DcModuleManage.ValidNum -= DcModuleGroup[1].ValidNum;
//切换继电器
} }
else if(DcModuleGroup[2].status == Hold_B) else if(DcModuleGroup[2].status == Hold_B)
{ {
DcModuleGroup[2].status = Valid; DcModuleGroup[2].status = Valid;
DcModuleManage.ValidNum -= DcModuleGroup[2].ValidNum; DcModuleManage.ValidNum -= DcModuleGroup[2].ValidNum;
//切换继电器
} }
else if(DcModuleGroup[3].status == Hold_B) else if(DcModuleGroup[3].status == Hold_B)
{ {
DcModuleGroup[3].status = Valid; DcModuleGroup[3].status = Valid;
DcModuleManage.ValidNum -= DcModuleGroup[3].ValidNum; DcModuleManage.ValidNum -= DcModuleGroup[3].ValidNum;
//切换继电器
} }
} }
UniChgTick = 0; UniChgTick = 0;
......
...@@ -845,7 +845,7 @@ void TCUComm(void const * argument) ...@@ -845,7 +845,7 @@ void TCUComm(void const * argument)
for (; ; ) for (; ; )
{ {
#if 1
TCURecvProcess(); //帧接收 TCURecvProcess(); //帧接收
TCUWorkProcess(); //遥测遥信息处理 TCUWorkProcess(); //遥测遥信息处理
TCULinkProcess(); //心跳包处理配置信息 TCULinkProcess(); //心跳包处理配置信息
...@@ -853,21 +853,6 @@ void TCUComm(void const * argument) ...@@ -853,21 +853,6 @@ void TCUComm(void const * argument)
// TCUCodeDone();//告警故障处理 // TCUCodeDone();//告警故障处理
// TCUSaveEventDone(); // TCUSaveEventDone();
#endif
#if 0
static u8 StatusGetCnt = 0;
StatusGetCnt++;
if(StatusGetCnt > 255)
StatusGetCnt = 0;
u8 Data[8] ={0};
Data[0] = StatusGetCnt;
TCUSinglePackSendMsg(Data, 8, eCmd_stopAck, 4);
#endif
osDelay(100); osDelay(100);
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论