MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / CAN_SetMode

Function CAN_SetMode

bsp/loongson/ls1cdev/libraries/ls1c_can.c:341–376  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

339
340
341unsigned char CAN_SetMode(CAN_TypeDef* CANx, unsigned char mode)
342{
343 unsigned char InitStatus = CAN_InitStatus_Failed;
344 unsigned long wait_ack = 0x00000000;
345 CAN_InitTypeDef CAN_InitStructure;
346
347 /* 进入复位模式 */
348 InitStatus = set_reset_mode(CANx);
349 if( InitStatus == CAN_InitStatus_Failed)
350 return CAN_InitStatus_Failed;
351
352 switch( mode )
353 {
354 case 0://正常
355 CANx->MOD &= ~(unsigned char)CAN_Mode_STM;
356 CANx->MOD &= ~(unsigned char)CAN_Mode_LOM;
357 break;
358 case 1://只听
359 CANx->MOD &= ~(unsigned char)CAN_Mode_STM;
360 CANx->MOD |= (unsigned char)CAN_Mode_LOM;
361 break;
362 case 2://回环
363 CANx->MOD |= (unsigned char)CAN_Mode_STM;
364 CANx->MOD &= ~(unsigned char)CAN_Mode_LOM;
365 break;
366 case 3://只听回环
367 CANx->MOD |= (unsigned char)CAN_Mode_STM;
368 CANx->MOD |= (unsigned char)CAN_Mode_LOM;
369 break;
370 }
371 /* 进入工作模式 */
372 set_start(CANx);
373
374 /* 返回初始化结果 */
375 return CAN_InitStatus_Failed;
376 }
377
378unsigned char CAN_Transmit(CAN_TypeDef* CANx, CanTxMsg* TxMessage)
379{

Callers 1

controlFunction · 0.85

Calls 2

set_reset_modeFunction · 0.85
set_startFunction · 0.85

Tested by

no test coverage detected