您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CAN_DeInit函数代码示例

51自学网 2021-06-01 19:56:49
  C++
这篇教程C++ CAN_DeInit函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CAN_DeInit函数的典型用法代码示例。如果您正苦于以下问题:C++ CAN_DeInit函数的具体用法?C++ CAN_DeInit怎么用?C++ CAN_DeInit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CAN_DeInit函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: cpu_deinit_all

void cpu_deinit_all() {//**    ADC_DeInit(LPC_ADC);    CAN_DeInit(LPC_CAN1);    CAN_DeInit(LPC_CAN2);    EMAC_DeInit();    EXTI_DeInit();    I2C_DeInit(LPC_I2C0);    I2C_DeInit(LPC_I2C1);    I2C_DeInit(LPC_I2C2);    I2S_DeInit(LPC_I2S);    NVIC_DeInit();    NVIC_SCBDeInit();    PWM_DeInit(LPC_PWM1);    QEI_DeInit(LPC_QEI);//**    RIT_DeInit(LPC_RIT);    RTC_DeInit(LPC_RTC);    SPI_DeInit(LPC_SPI);    SSP_DeInit(LPC_SSP0);    SSP_DeInit(LPC_SSP1);    UART_DeInit(LPC_UART0);    UART_DeInit((LPC_UART_TypeDef *) LPC_UART1);//**    UART_DeInit(LPC_UART2);//**    UART_DeInit(LPC_UART3);    TIM_DeInit(LPC_TIM0);    TIM_DeInit(LPC_TIM1);//**    TIM_DeInit(LPC_TIM2);//**    TIM_DeInit(LPC_TIM3);}
开发者ID:dtbinh,项目名称:M2,代码行数:28,


示例2: CAN_CAN_Config

void CAN_CAN_Config(void){	CAN_InitTypeDef        CAN_InitStructure;		/* Enable CAN clock */#if USE_CAN1_R0 || USE_CAN1_R1	RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1 , ENABLE);	CAN_DeInit(CAN1);#endif#if USE_CAN2_R0 || USE_CAN2_R1	RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2 , ENABLE);	CAN_DeInit(CAN2);#endif		/* CAN cell init */	CAN_InitStructure.CAN_TTCM = DISABLE;//失能时间触发通讯模式	CAN_InitStructure.CAN_ABOM = DISABLE;//失能自动离线管理	CAN_InitStructure.CAN_AWUM = DISABLE;//失能自动唤醒模式		CAN_InitStructure.CAN_NART = DISABLE;//失能非自动重传输模式,即自动重传			CAN_InitStructure.CAN_RFLM = DISABLE;//失能接收FIFO锁定模式,即FIFO溢出时新数据覆盖	CAN_InitStructure.CAN_TXFP = ENABLE; //使能发送FIFO优先级,报文顺序由发送顺序决定 DISABLE:ID决定	CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;	CAN_InitStructure.CAN_SJW = CAN_SJW_2tq;		   //BTR-SJW 重新同步跳跃宽度 1个时间单元	CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq;		   //BTR-TS1 时间段1 占用了2个时间单元	CAN_InitStructure.CAN_BS2 = CAN_BS2_3tq;		   //BTR-TS1 时间段2 占用了3个时间单元		//总线波特率,波特率计算请参见 F4手册“24.7.7 Bit timing”#if CAN1_BAUDRATE == 1000 /* 1MBps */  CAN_InitStructure.CAN_Prescaler =6;			   //BTR-BRP 波特率分频器  定义了时间单元的时间长度 42/(1+3+3)/6=1Mbps#elif CAN1_BAUDRATE == 500 /* 500KBps */  CAN_InitStructure.CAN_Prescaler =12;#elif CAN1_BAUDRATE == 250 /* 250KBps */  CAN_InitStructure.CAN_Prescaler =24;#elif CAN1_BAUDRATE == 125 /* 125KBps */  CAN_InitStructure.CAN_Prescaler =48;#endif#if USE_CAN1_R0 || USE_CAN1_R1	CAN_Init(CAN1, &CAN_InitStructure);#endif#if USE_CAN2_R0 || USE_CAN2_R1	CAN_Init(CAN2, &CAN_InitStructure);#endif}
开发者ID:yangjian940712,项目名称:robot,代码行数:50,


示例3: CAN_config_init

void CAN_config_init(void){  CAN_InitTypeDef        CAN_InitStructure;  CAN_FilterInitTypeDef  CAN_FilterInitStructure;   CAN_DeInit(CAN1);  CAN_StructInit(&CAN_InitStructure);    // 36M 250k速率  CAN_InitStructure.CAN_TTCM=DISABLE;  CAN_InitStructure.CAN_ABOM=DISABLE;  CAN_InitStructure.CAN_AWUM=DISABLE;  CAN_InitStructure.CAN_NART=DISABLE;  CAN_InitStructure.CAN_RFLM=DISABLE;  CAN_InitStructure.CAN_TXFP=ENABLE;  //CAN_InitStructure.CAN_Mode=CAN_Mode_LoopBack;	CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;  CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;  CAN_InitStructure.CAN_BS1=CAN_BS1_2tq;  CAN_InitStructure.CAN_BS2=CAN_BS2_3tq;  CAN_InitStructure.CAN_Prescaler=12;  CAN_Init(CAN1, &CAN_InitStructure);  CAN_OperatingModeRequest( CAN1, CAN_OperatingMode_Normal);  CAN_FilterInitStructure.CAN_FilterNumber=0;  CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;  CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;  CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;  CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;  CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;  CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;  CAN_FilterInitStructure.CAN_FilterFIFOAssignment=0;  CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;  CAN_FilterInit(&CAN_FilterInitStructure); }
开发者ID:EasternRise,项目名称:AGV,代码行数:33,


示例4: platform_can_setup

u32 platform_can_setup( unsigned id, u32 clock ){    LPC_CAN_TypeDef * canx;  uint32_t div;  switch (id)  {    case 0: canx = LPC_CAN1; break;    case 1: canx = LPC_CAN2; break;    default: return 0;  }  CAN_DeInit(canx);   CAN_Init(canx, clock);  CAN_ModeConfig(canx, CAN_OPERATING_MODE, ENABLE);   CAN_IRQCmd(canx, CANINT_RIE, ENABLE);   // Receive IRQ   CAN_IRQCmd(canx, CANINT_EIE, ENABLE);   // Error IRQ   CAN_IRQCmd(canx, CANINT_BEIE, ENABLE);  // Bus error IRQ   LPC_CANAF->AFMR = 2;                    // Filter bypass (receive all messages)   NVIC_EnableIRQ(CAN_IRQn);               // Enable IRQs  // Fix clock  LPC_SC->PCLKSEL0 &= ~(3<<26 | 3<<28 | 3<<30); // PCLK / 2  LPC_SC->PCLKSEL0 |=  (2<<26 | 2<<28 | 2<<30);  div = (SystemCoreClock / 20) / clock;  div --;	canx->MOD = 0x01; // Enter reset mode	canx->BTR  = (div & 0x3FF) | (3<<14) | (5<<16) | (2<<20) ; // Set bit timing	canx->MOD = 0;    // Return to normal operating  // Change pin function (for now using the MBED ones)  // And read clock divider  if (id == 0)  {    // Pin function    LPC_PINCON->PINSEL0 &= ~(3<<0 | 3<<2);    LPC_PINCON->PINSEL0 |= (1<<0 | 1<<2);    // No pull up / pull down    LPC_PINCON->PINMODE0 &= ~(3<<0 | 3<<2);    LPC_PINCON->PINMODE0 |= (2<<0 | 2<<2);    // NOT open drain    LPC_PINCON->PINMODE_OD0 &= ~(1<<0 | 1<<1);  }  else  {    LPC_PINCON->PINSEL0 &= ~(3<<8 | 3<<10);    LPC_PINCON->PINSEL0 |= (2<<8 | 2<<10);    // No pull up / pull down    LPC_PINCON->PINMODE0 &= ~(3<<8 | 3<<10);    LPC_PINCON->PINMODE0 |= (2<<8 | 2<<10);    // NOT open drain    LPC_PINCON->PINMODE_OD0 &= ~(1<<4 | 1<<5);  }  return (SystemCoreClock / 20) / ((div & 0x3FF)+1);}
开发者ID:ARMinARM,项目名称:elua,代码行数:60,


示例5: CAN_device_init_1

static void CAN_device_init_1(int baud){    CAN_DeInit(CAN1);    /* CAN GPIOs configuration ************************************************* */    /* Enable GPIO clock */    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);    /* Connect CAN pins to Alternate Function */    GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_9);    GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_9);    initGPIO(GPIOB, GPIO_Pin_8 | GPIO_Pin_9);    /* CAN configuration ******************************************************* */    /* Enable CAN clock */    RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);    initCAN(CAN1, baud);    //set default filter    CAN_device_set_filter(0, 0, 0, 0, 0);    /* Enable FIFO 0 message pending Interrupt */    CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);    initCANInterrupts(CAN1, USB_LP_CAN1_RX0_IRQn);}
开发者ID:psallandre,项目名称:RaceCapture-Pro_firmware,代码行数:27,


示例6: PIOS_CAN_Init

/** * Initialize the CAN driver and return an opaque id * @param[out]   id the CAN interface handle * @param[in]    cfg the configuration structure * @return 0 if successful, negative otherwise */int32_t PIOS_CAN_Init(uintptr_t *can_id, const struct pios_can_cfg *cfg){	PIOS_DEBUG_Assert(can_id);	PIOS_DEBUG_Assert(cfg);	can_dev = (struct pios_can_dev *) PIOS_CAN_alloc();	if (!can_dev) goto out_fail;	/* Bind the configuration to the device instance */	can_dev->cfg = cfg;	/* Configure the CAN device */	RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);	/* Map pins to CAN function */	if (can_dev->cfg->remap) {		if (can_dev->cfg->rx.gpio != 0)			GPIO_PinAFConfig(can_dev->cfg->rx.gpio,				can_dev->cfg->rx.pin_source,				can_dev->cfg->remap);		if (can_dev->cfg->tx.gpio != 0)			GPIO_PinAFConfig(can_dev->cfg->tx.gpio,				can_dev->cfg->tx.pin_source,				can_dev->cfg->remap);	}	/* Initialize the CAN Rx and Tx pins */	if (can_dev->cfg->rx.gpio != 0)		GPIO_Init(can_dev->cfg->rx.gpio, (GPIO_InitTypeDef *)&can_dev->cfg->rx.init);	if (can_dev->cfg->tx.gpio != 0)		GPIO_Init(can_dev->cfg->tx.gpio, (GPIO_InitTypeDef *)&can_dev->cfg->tx.init);	*can_id = (uintptr_t)can_dev;	CAN_DeInit(can_dev->cfg->regs);	CAN_Init(can_dev->cfg->regs, (CAN_InitTypeDef *)&can_dev->cfg->init);	/* CAN filter init */	CAN_FilterInitTypeDef CAN_FilterInitStructure;	CAN_FilterInitStructure.CAN_FilterNumber = 0;	CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;	CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;	CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;	CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;	CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;	CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;  	CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 1;	CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;	CAN_FilterInit(&CAN_FilterInitStructure);	// Enable the receiver IRQ 	NVIC_Init((NVIC_InitTypeDef*) &can_dev->cfg->rx_irq.init); 	NVIC_Init((NVIC_InitTypeDef*) &can_dev->cfg->tx_irq.init);	return(0);out_fail:	return(-1);}
开发者ID:EvalZero,项目名称:TauLabs,代码行数:66,


示例7: TSVN_CAN_Init

void TSVN_CAN_Init(void){	GPIO_InitTypeDef  GPIO_InitStructure;	CAN_InitTypeDef CAN_InitStructure;	CAN_FilterInitTypeDef CAN_FilterInitStructure;	NVIC_InitTypeDef  NVIC_InitStructure;		RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);	RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);		GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;  GPIO_Init(GPIOD, &GPIO_InitStructure);	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  GPIO_Init(GPIOD, &GPIO_InitStructure);    GPIO_PinRemapConfig(GPIO_Remap2_CAN1 , ENABLE);  GPIO_PinRemapConfig(GPIO_Remap_PD01 , ENABLE);		CAN_DeInit(CAN1);		CAN_InitStructure.CAN_TTCM = DISABLE;  CAN_InitStructure.CAN_ABOM = DISABLE;  CAN_InitStructure.CAN_AWUM = DISABLE;  CAN_InitStructure.CAN_NART = DISABLE;  CAN_InitStructure.CAN_RFLM = DISABLE;  CAN_InitStructure.CAN_TXFP = DISABLE;  CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;		CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;  CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq;  //3  CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;	//5  CAN_InitStructure.CAN_Prescaler = 4;		CAN_FilterInitStructure.CAN_FilterNumber = 0;	CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;  CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;  CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;  CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;  CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;  CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;  CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0;  CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;  CAN_FilterInit(&CAN_FilterInitStructure);	CAN_ITConfig(CAN1,CAN_IT_FMP0, ENABLE);  	CAN_Init(CAN1, &CAN_InitStructure);		NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);	NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn;	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0;  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  NVIC_Init(&NVIC_InitStructure);	}
开发者ID:NguyenTrongThinh,项目名称:TestPIDAndSensor,代码行数:57,


示例8: InitCAN

void InitCAN(void){	// Setup CAN Pins	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);		GPIO_InitTypeDef  GPIO_InitStructure;	GPIO_InitStructure.GPIO_Pin = CAN_RX_PIN | CAN_TX_PIN;	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;	GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP;	GPIO_Init(GPIOA, &GPIO_InitStructure);		// Alternate functions	GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_CAN1);	GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_CAN1);			// Setup CAN-modules	RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);	/* CAN register init */	CAN_DeInit(CAN1);	/* CAN cell init */	CAN_InitTypeDef CAN_InitStructure;	CAN_InitStructure.CAN_TTCM = DISABLE;	CAN_InitStructure.CAN_ABOM = DISABLE;	CAN_InitStructure.CAN_AWUM = DISABLE;	CAN_InitStructure.CAN_NART = DISABLE;	CAN_InitStructure.CAN_RFLM = DISABLE;	CAN_InitStructure.CAN_TXFP = DISABLE;	CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;	CAN_InitStructure.CAN_SJW = CAN_SJW_3tq;	/* CAN Baudrate = 500 KBps (CAN clocked at 42 MHz) */	CAN_InitStructure.CAN_BS1 = CAN_BS1_4tq;	CAN_InitStructure.CAN_BS2 = CAN_BS2_2tq;	CAN_InitStructure.CAN_Prescaler = (42000000 / 7) / 500000;	CAN_Init(CAN1, &CAN_InitStructure);	/* CAN filter init */	CAN_FilterInitTypeDef CAN_FilterInitStructure;	CAN_FilterInitStructure.CAN_FilterNumber = 0;	CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;	CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;	CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;	CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;	CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;	CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;	CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0;	CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;	CAN_FilterInit(&CAN_FilterInitStructure);	/* Enable FIFO 0 message pending Interrupt */	CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);}
开发者ID:ION-Racing,项目名称:Sikkerhetsmodul,代码行数:57,


示例9: CAN_Configuration

void CAN_Configuration(void){    /* CAN1 Periph clock enable */    CAN_InitTypeDef        CAN_InitStructure;  CAN_FilterInitTypeDef  CAN_FilterInitStructure;  /* CAN register init */  CAN_DeInit(CAN1);  CAN_DeInit(CAN2);  CAN_StructInit(&CAN_InitStructure);  /* CAN cell init */   CAN_InitStructure.CAN_TTCM = DISABLE;  CAN_InitStructure.CAN_ABOM = DISABLE;  CAN_InitStructure.CAN_AWUM = DISABLE;  CAN_InitStructure.CAN_NART = DISABLE;  CAN_InitStructure.CAN_RFLM = DISABLE;  CAN_InitStructure.CAN_TXFP = DISABLE;  CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;  CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;  CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq;  CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;  CAN_InitStructure.CAN_Prescaler = 16;//2 4=1m 8=500k  CAN_Init(CAN1, &CAN_InitStructure);  CAN_Init(CAN2, &CAN_InitStructure); /* CAN filter init */   CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;  CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;  CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;  CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;  CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;  CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;  CAN_FilterInitStructure.CAN_FilterFIFOAssignment=0;  CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;  CAN_FilterInitStructure.CAN_FilterNumber=0;  CAN_FilterInit(&CAN_FilterInitStructure);  CAN_FilterInitStructure.CAN_FilterNumber=14;  CAN_FilterInit(&CAN_FilterInitStructure);   }
开发者ID:mongolia19,项目名称:detectorstm32,代码行数:43,


示例10: CAN_Configuration

 /**  * @file   CAN_Configuration  * @brief  Configures the CAN  * @param  无  * @retval 无  */void CAN_Configuration(void){  CAN_InitTypeDef        CAN_InitStructure;  CAN_FilterInitTypeDef  CAN_FilterInitStructure;  GPIO_Configuration();  /* CAN register init */  CAN_DeInit(CAN1);  CAN_StructInit(&CAN_InitStructure);  /* CAN cell init */  CAN_InitStructure.CAN_TTCM = DISABLE; /* 时间触发禁止, 时间触发:CAN硬件的内部定时器被激活,并且被用于产生时间戳 */  CAN_InitStructure.CAN_ABOM = DISABLE; /* 自动离线禁止,自动离线:一旦硬件监控到128次11个隐性位,就自动退出离线状态。在这里要软件设定后才能退出 */  CAN_InitStructure.CAN_AWUM = DISABLE; /* 自动唤醒禁止,有报文来的时候自动退出休眠	*/  CAN_InitStructure.CAN_NART = DISABLE; /* 报文重传, 如果错误一直传到成功止,否则只传一次 */  CAN_InitStructure.CAN_RFLM = DISABLE; /* 接收FIFO锁定, 1--锁定后接收到新的报文摘不要,0--接收到新的报文则覆盖前一报文	*/  CAN_InitStructure.CAN_TXFP = ENABLE;  /* 发送优先级  0---由标识符决定  1---由发送请求顺序决定	*/  CAN_InitStructure.CAN_Mode = CAN_Mode_Normal; /* 模式	*/  CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;      /* 重新同步跳宽,只有can硬件处于初始化模式时才能访问这个寄存器 */  CAN_InitStructure.CAN_BS1 = CAN_BS1_4tq;      /* 时间段1 */  CAN_InitStructure.CAN_BS2 = CAN_BS2_3tq;      /* 时间段2 */  CAN_InitStructure.CAN_Prescaler = 45;         /* 波特率预分频数 */     /* 波特率计算方法 */  /* CANbps= Fpclk/((BRP+1)*((Tseg1+1)+(Tseg2+1)+1)  此处计算为  CANbps=36000000/(45*(4+3+1))=100kHz */   														  //此处Tseg1+1 = CAN_BS1_8tp  /* 配置大方向: Tseg1>=Tseg2  Tseg2>=tq; Tseg2>=2TSJW */      if (CAN_Init(CAN1,&CAN_InitStructure) == CANINITFAILED) 		  {    /* 初始化时先设置CAN_MCR的初始化位 */  														    /* 然后查看硬件是否真的设置了CAN_MSR的初始化位来确认是否进入了初始化模式  */		 													                    }	  /* 配置CAN过滤器 */  /* 32位对应的id */  /* stdid[10:0],extid[17:0],ide,rtr	*/  /* 16位对应的id */  /* stdid[10:0],ide,rtr,extid[17:15] */  /* 一般使用屏蔽模式	*/  /* 要注意的是fifo接收存满了中断,还有就是fifo的概念,即取的一直是最早那一个数据, 要释放才能取下一个数据 */  /* 常使用的中断有 */  /* 1,有信息中断,即fifo挂号中断 */  /* 2,fifo满中断	*/  /* 3,fifo满之后又有信息来则中断,即fifo溢出中断	*/  CAN_FilterInitStructure.CAN_FilterNumber=0;     /* 过滤器0 */  CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;  /* 屏敝模式 */  CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; /* 32位 */  CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;  /* 以下四个都为0, 表明不过滤任何id */  CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;  CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;  CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;  CAN_FilterInitStructure.CAN_FilterFIFOAssignment=0;  /* 能够通过该过滤器的报文存到fifo0中 */  CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;  CAN_ITConfig(CAN1,CAN_IT_FMP0, ENABLE);   /* 挂号中断, 进入中断后读fifo的报文函数释放报文清中断标志 */  CAN_FilterInit(&CAN_FilterInitStructure);}
开发者ID:pyjhhh,项目名称:stm32_f1x,代码行数:61,


示例11: CAN_Open

void CAN_Open() {  CAN_InitTypeDef        CAN_InitStructure;  CAN_FilterInitTypeDef  CAN_FilterInitStructure;  GPIO_InitTypeDef GPIO_InitStructure;    RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN, ENABLE);  // Configure CAN pin: RX  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;  GPIO_Init(GPIOA, &GPIO_InitStructure);  // Configure CAN pin: TX  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  GPIO_Init(GPIOA, &GPIO_InitStructure);  /* CAN register init */  CAN_DeInit();  CAN_StructInit(&CAN_InitStructure);  /* CAN cell init */  CAN_InitStructure.CAN_TTCM=DISABLE;  CAN_InitStructure.CAN_ABOM=DISABLE;  CAN_InitStructure.CAN_AWUM=DISABLE;  //CAN_InitStructure.CAN_NART=DISABLE;  CAN_InitStructure.CAN_NART=ENABLE; //no automatic retransmission  CAN_InitStructure.CAN_RFLM=DISABLE;  CAN_InitStructure.CAN_TXFP=DISABLE;  CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;    //CAN block is clocked with Low Speed APB1 clock (PCLK1) = 36MHz  CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;  CAN_InitStructure.CAN_BS1=CAN_BS1_9tq; //CAN_BS1_8tq @ 24mhz  CAN_InitStructure.CAN_BS2=CAN_BS2_8tq; //CAN_BS2_7tq @24mhz  CAN_InitStructure.CAN_Prescaler=4; //=3  [email
C++ CAN_FilterInit函数代码示例
C++ CAM_INFO函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。