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

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

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

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

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

示例1: 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,


示例2: can_init

void can_init(can_t* can_filters){  gpio_clock_init(GPIOA);  can_clock_init(CAN1);  GPIO_InitTypeDef GPIO_InitStructure =    {      .GPIO_Pin   = CAN_RX_PIN,      .GPIO_Speed = GPIO_Speed_50MHz,      .GPIO_Mode  = GPIO_Mode_IN_FLOATING,    };  GPIO_Init(GPIOA, &GPIO_InitStructure);  GPIO_InitStructure.GPIO_Pin = CAN_TX_PIN;  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  GPIO_Init(GPIOA, &GPIO_InitStructure);  CAN_InitTypeDef CAN_InitStructure;  CAN_StructInit(&CAN_InitStructure);  CAN_InitStructure.CAN_Prescaler = 1;  CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;  CAN_InitStructure.CAN_SJW = CAN_SJW_4tq;  CAN_InitStructure.CAN_BS1 = CAN_BS1_11tq;  CAN_InitStructure.CAN_BS2 = CAN_BS2_4tq;  CAN_InitStructure.CAN_ABOM = ENABLE;  CAN_InitStructure.CAN_RFLM = ENABLE;  CAN_Init(CAN1, &CAN_InitStructure);  CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);  CAN_ITConfig(CAN1, CAN_IT_FMP1, ENABLE);  NVIC_InitTypeDef NVIC_InitStructure =    {      .NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn,      .NVIC_IRQChannelPreemptionPriority = 7,      .NVIC_IRQChannelSubPriority = 0,      .NVIC_IRQChannelCmd = ENABLE,    };  NVIC_Init(&NVIC_InitStructure);  NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX1_IRQn;  NVIC_Init(&NVIC_InitStructure);  for (int i = 0; i < can_filters->n_filters; i++)    CAN_FilterInit(can_filters->CAN_filterInit + i);  xCAN_receive_queue0 = xQueueCreate(10, sizeof(CanRxMsg));  xCAN_receive_queue1 = xQueueCreate(10, sizeof(CanRxMsg));}void USB_LP_CAN1_RX0_IRQHandler(){  CanRxMsg RxMessage;  portBASE_TYPE resch = pdFALSE;  CAN_Receive(CAN1, CAN_FIFO0,&RxMessage);  xQueueSendFromISR(xCAN_receive_queue0, &RxMessage, &resch);  portEND_SWITCHING_ISR(resch);}
开发者ID:RoseWheel,项目名称:RoseWheel,代码行数:60,


示例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: CAN2_Init

void CAN2_Init(void){	CAN_InitTypeDef CAN_Struct;	CAN_FilterInitTypeDef CAN_FilterStruct;	CAN2_GPIO_Init();	RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2,ENABLE);	CAN_Struct.CAN_TTCM=DISABLE;	CAN_Struct.CAN_ABOM=DISABLE;	CAN_Struct.CAN_AWUM=DISABLE;	CAN_Struct.CAN_NART=DISABLE;	CAN_Struct.CAN_RFLM=DISABLE;	CAN_Struct.CAN_TXFP=DISABLE;	CAN_Struct.CAN_Mode=CAN_Mode_LoopBack;	CAN_Struct.CAN_SJW=CAN_SJW_1tq;	CAN_Struct.CAN_BS1=CAN_BS1_8tq;	CAN_Struct.CAN_BS2=CAN_BS2_7tq;	CAN_Struct.CAN_Prescaler=5;	CAN_Init(CAN2,&CAN_Struct);	CAN_FilterStruct.CAN_FilterNumber=0;	CAN_FilterStruct.CAN_FilterMode=CAN_FilterMode_IdMask;	CAN_FilterStruct.CAN_FilterScale=CAN_FilterScale_32bit;	CAN_FilterStruct.CAN_FilterIdHigh=0x0000;	CAN_FilterStruct.CAN_FilterIdLow=0x0000;	CAN_FilterStruct.CAN_FilterMaskIdHigh=0x0000;	CAN_FilterStruct.CAN_FilterMaskIdLow=0x0000;	CAN_FilterStruct.CAN_FilterFIFOAssignment=0;	CAN_FilterStruct.CAN_FilterActivation=ENABLE;	CAN_FilterInit(&CAN_FilterStruct);}   
开发者ID:RTOS-Developers,项目名称:TRTOS,代码行数:31,


示例5: CAN_Filter_Configs

void CAN_Filter_Configs(uint16 LocalAddr,BOOL Host){	if(Host)	{	CAN_FilterInitTypeDef  CAN_FilterInitStructure;		DeBug("Configs Filter For Master",Infor_Infor);	CAN_FilterInitStructure.CAN_FilterNumber=0;	 	CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;	 // 标识符屏蔽位模式	CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;   // 32位过滤器	CAN_FilterInitStructure.CAN_FilterIdHigh=0x00;			// id高位包含	CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;		// 过滤器屏蔽标识符	CAN_FilterInitStructure.CAN_FilterIdLow=(uint16)(CAN_GROUP<<3)|CAN_RTR_DATA|CAN_ID_EXT;;		//id低位包含			CAN_FilterInitStructure.CAN_FilterMaskIdLow=0xffff;	CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FIFO0;	 // FIFO0指向过滤器	CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;	CAN_FilterInit(&CAN_FilterInitStructure);	}	else	{			CAN_FilterInitTypeDef  CAN_FilterInitStructure;		DeBug("Configs Filter For Slave Addr=0x%x",LocalAddr,Infor_Infor);	CAN_FilterInitStructure.CAN_FilterNumber=0;	 	CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;	 // 标识符屏蔽位模式	CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;   // 32位过滤器	CAN_FilterInitStructure.CAN_FilterIdHigh=LocalAddr;				CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0xffff;		// 掩码		CAN_FilterInitStructure.CAN_FilterIdLow=(uint16)(CAN_GROUP<<3)|CAN_RTR_DATA|CAN_ID_EXT;		//id低位包含			CAN_FilterInitStructure.CAN_FilterMaskIdLow=0xffff;   //掩码	CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FIFO0;	 // FIFO0指向过滤器	CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;	CAN_FilterInit(&CAN_FilterInitStructure);		CAN_FilterInitStructure.CAN_FilterNumber=1;	 	CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;	 // 标识符屏蔽位模式	CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;   // 32位过滤器	CAN_FilterInitStructure.CAN_FilterIdHigh=0xffff;			// 设备可以接到广播地址	CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0xffff;		// 掩码		CAN_FilterInitStructure.CAN_FilterIdLow=(uint16)(CAN_GROUP<<3)|CAN_RTR_DATA|CAN_ID_EXT;		//id低位包含			CAN_FilterInitStructure.CAN_FilterMaskIdLow=0xffff;   //掩码	CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FIFO0;	 // FIFO0指向过滤器	CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;	CAN_FilterInit(&CAN_FilterInitStructure);	}}
开发者ID:RTOS-Developers,项目名称:TRTOS,代码行数:47,


示例6: CAN_Config

void CAN_Config(void) {    CAN_InitTypeDef CAN_InitStruct;    CAN_FilterInitTypeDef CAN_FilterInitStruct;    NVIC_InitTypeDef NVIC_InitStruct;    GPIO_InitTypeDef GPIO_InitStruct;    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);    GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_9);    GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_9);    GPIO_StructInit(&GPIO_InitStruct);    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;    GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;    GPIO_Init(GPIOB, &GPIO_InitStruct);    // can peripherial    RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);    CAN_StructInit(&CAN_InitStruct);    CAN_InitStruct.CAN_ABOM = DISABLE;    CAN_InitStruct.CAN_AWUM = DISABLE;    CAN_InitStruct.CAN_NART = DISABLE;    CAN_InitStruct.CAN_RFLM = DISABLE;    CAN_InitStruct.CAN_TTCM = DISABLE;    CAN_InitStruct.CAN_TXFP = DISABLE;    CAN_InitStruct.CAN_Prescaler = 18; // 125000 Baud rate assuimg CAN speed 36MHz    CAN_InitStruct.CAN_SJW = CAN_SJW_1tq;    CAN_InitStruct.CAN_BS1 = CAN_BS1_13tq;    CAN_InitStruct.CAN_BS2 = CAN_BS2_2tq;    CAN_InitStruct.CAN_Mode = CAN_Mode_Normal;    CAN_Init(CAN1, &CAN_InitStruct);    // can filter    CAN_FilterInitStruct.CAN_FilterNumber = 0;    CAN_FilterInitStruct.CAN_FilterMode = CAN_FilterMode_IdMask;    CAN_FilterInitStruct.CAN_FilterScale = CAN_FilterScale_32bit;    CAN_FilterInitStruct.CAN_FilterActivation = ENABLE;    CAN_FilterInitStruct.CAN_FilterFIFOAssignment = CAN_FIFO0;    CAN_FilterInitStruct.CAN_FilterIdHigh = 0;    CAN_FilterInitStruct.CAN_FilterIdLow = 0;    CAN_FilterInitStruct.CAN_FilterMaskIdHigh = 0;    CAN_FilterInitStruct.CAN_FilterMaskIdLow = 0;    CAN_FilterInit(&CAN_FilterInitStruct);    // can interrupt    CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);    NVIC_InitStruct.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;    NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;    NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;    NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0;    NVIC_Init(&NVIC_InitStruct);}
开发者ID:kitaev,项目名称:can,代码行数:58,


示例7: RCC_AHB1PeriphClockCmd

void DST_CAN_1::CAN_Configuration_Init(void){	GPIO_InitTypeDef				GPIO_InitStructure;		CAN_InitTypeDef			 		CAN_InitStructure; 	CAN_FilterInitTypeDef 	CAN_FilterInitStructure;	NVIC_InitTypeDef 				NVIC_InitStructure; //使能相关时钟	RCC_AHB1PeriphClockCmd(RCC_CAN_1, ENABLE);//使能PORTA时钟	                   											 	RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);//使能CAN1时钟		//初始化GPIO	GPIO_InitStructure.GPIO_Pin = CAN_1_TX | CAN_1_RX;	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉	GPIO_Init(GPIO_CAN_1, &GPIO_InitStructure);//初始化CAN_1_TX,CAN_1_RX	//引脚复用映射配置	GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_CAN1); //GPIOD1复用为CAN1_TX	GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_CAN1); //GPIOD0复用为CAN1_RX	//CAN单元设置	CAN_InitStructure.CAN_TTCM=DISABLE;	//非时间触发通信模式   	CAN_InitStructure.CAN_ABOM=DISABLE;	//软件自动离线管理	  	CAN_InitStructure.CAN_AWUM=DISABLE;//睡眠模式通过软件唤醒(清除CAN->MCR的SLEEP位)	CAN_InitStructure.CAN_NART=ENABLE;	//禁止报文自动传送 	CAN_InitStructure.CAN_RFLM=DISABLE;	//报文不锁定,新的覆盖旧的  	CAN_InitStructure.CAN_TXFP=DISABLE;	//优先级由报文标识符决定 	CAN_InitStructure.CAN_Mode= CAN_Mode_Normal;	 //模式设置 	CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;	//重新同步跳跃宽度(Tsjw)为tsjw+1个时间单位 CAN_SJW_1tq~CAN_SJW_4tq	CAN_InitStructure.CAN_BS1=CAN_BS1_9tq; //Tbs1范围CAN_BS1_1tq ~CAN_BS1_16tq	CAN_InitStructure.CAN_BS2=CAN_BS2_4tq;//Tbs2范围CAN_BS2_1tq ~	CAN_BS2_8tq	CAN_InitStructure.CAN_Prescaler=3;  //分频系数(Fdiv)为brp+1		CAN_Init(CAN1, &CAN_InitStructure);   // 初始化CAN1 		//配置过滤器	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;////32位ID	CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;	CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;//32位MASK	CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;	CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0;//过滤器0关联到FIFO0	CAN_FilterInitStructure.CAN_FilterActivation=ENABLE; //激活过滤器0	CAN_FilterInit(&CAN_FilterInitStructure);//滤波器初始化		CAN_ITConfig(CAN1,CAN_IT_FMP0,ENABLE);//★FIFO0★消息挂号中断允许.		    	NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn;	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;     // 主优先级为1	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;            // 次优先级为0	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;	NVIC_Init(&NVIC_InitStructure);}
开发者ID:wms124,项目名称:DST_RoboMaster,代码行数:58,


示例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: 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,


示例10: can_efilt

/*note: there are 14 32bit filter bank, we separate it half for RFIFO0 and half for RFIFO1*/int can_efilt(int rfifo, can_filter_t const *filter, int n){	int i, j, ret = 0;	short id0, id1, msk0, msk1;	CAN_FilterInitTypeDef  CAN_FilterInitStructure;	if ((n == 0) || (filter == NULL)) {		/* CAN filter init */		CAN_FilterInitStructure.CAN_FilterNumber = 0;		CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask; //default id mask mode		CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_16bit; //default id 16bit		CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0;		CAN_FilterInitStructure.CAN_FilterIdLow = 0x0;		CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0;		CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0;		CAN_FilterInitStructure.CAN_FilterFIFOAssignment = (rfifo == 0) ? CAN_FilterFIFO0 : CAN_FilterFIFO1 ; //default fifo use 0		CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;		CAN_FilterInit(&CAN_FilterInitStructure);	} else {		for(i = 0, j = (rfifo == 0) ? 0 : 7; i < n; j ++) {			id0 = filter[i].id << 5;			msk0 = filter[i].mask << 5;			i ++;			id1 = (i < n) ? filter[i].id << 5 : 0x0000;			msk1 = (i < n) ? filter[i].mask << 5 : 0xffff;			i ++;			/* CAN filter init */			CAN_FilterInitStructure.CAN_FilterNumber = j;			CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask; //default id mask mode			CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_16bit; //default id 16bit			CAN_FilterInitStructure.CAN_FilterIdHigh = id0;			CAN_FilterInitStructure.CAN_FilterIdLow = id1;			CAN_FilterInitStructure.CAN_FilterMaskIdHigh = msk0;			CAN_FilterInitStructure.CAN_FilterMaskIdLow = msk1;			CAN_FilterInitStructure.CAN_FilterFIFOAssignment = (rfifo == 0) ? CAN_FilterFIFO0 : CAN_FilterFIFO1 ; //default fifo use 0			CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;			CAN_FilterInit(&CAN_FilterInitStructure);		}	}	return ret;}
开发者ID:miaofng,项目名称:ulp,代码行数:45,


示例11: 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,


示例12: canFilterApply

void canFilterApply(){	int i;	// setup can filters	for (i = 0; i < FILTER_NUM; i++) {		if (CAN_Filters[i].CAN_FilterActivation == DISABLE) 			break;		CAN_FilterInit(&CAN_Filters[i]);	}}
开发者ID:Farewellly,项目名称:STM32,代码行数:10,


示例13: 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,


示例14: 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_ITConfig函数代码示例
C++ CAN_DeInit函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。