当前位置: 首页>>代码示例>>C++>>正文


C++ can_init函数代码示例

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


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

示例1: init

void init()
{
	ResetReason = MCUSR;		
 	cli();
    chip_init ();    				// Chip initialization
	init_leds ();
	delay(1000000);					// ~ 2 sec
	read_cal();						// Read everything including motor stops.	
	// yes can_init() needs MyInstance to be set already for filtering!
	can_init(CAN_250K_BAUD);		/* Enables Mob0 for Reception! */

    // INIT MYINSTANCE:	
	config_init();
	can_instance_init();
	
    set_rx_callback			( can_file_message );
	set_configure_callback	( config_change    );
	sei();

	OS_InitTask();
	pot_init();	
	motor_init ();

	can_prep_instance_request( &msg2, 0xBB );
	can_send_msg( 0, &msg2 );
}
开发者ID:stenniswood,项目名称:AdrenalineFirmware,代码行数:26,代码来源:bigmotor_main.c

示例2: main

//------------------------------------------------------------------------------
//! This program performs a response to an remote frame of a master.
//! The response is a data frame that contents (in the order) the local
//! temperature, the local luminosity and the local VCC values.
//------------------------------------------------------------------------------
int main (void)
{	
    CLKPR = 0x80;  CLKPR = 0x00;  // Clock prescaler Reset

    can_init(0);

	DDRA = 0xFF; // LED'er output
	PORTA = 0xFF; // LED'er tændt

    DDRD = 0xFF;
    PORTD |= 0b1000000;

    // Interrupt
    sei();

    // Modtag CAN interrupt

    CANIE2 = 0xFF;
    CANIE1 = 0xFF;

    CANGIE |=(1<<ENIT);
    CANGIE |=(1<<ENRX);
    CANGIE |=(1<<ENTX);

	send_data_CAN();
    while(1);
    return 0;
}
开发者ID:Den7710,项目名称:Unicorn_race_engineering,代码行数:33,代码来源:main_can_sensor_node_example.c

示例3: shackbus_init

void shackbus_init(void)
{
    // Initialize MCP2515
    can_init(BITRATE_125_KBPS);
#ifdef UART_DEBUG
    uart_write("can_init(BITRATE_125_KBPS);");
#endif
	
    // Load filters and masks
    can_static_filter(can_filter);
#ifdef UART_DEBUG
    uart_write("can_static_filter(can_filter);");
#endif

	fifo_init (&can_outfifo,   can_outbuf, 10);
	framestorage_init();



	// Create a test messsage

	send_msg_blink_ret.id = ((3L<<26)+(4L<<22)+(6L<<14)+(5L<<6)+11L);  //Absender = 2   Empfänger = 1
	send_msg_blink_ret.flags.rtr = 0;

	send_msg_blink_ret.flags.extended = 1;

	send_msg_blink_ret.length  = 3;
	send_msg_blink_ret.data[0] = 0;
	send_msg_blink_ret.data[1] = 0;
	send_msg_blink_ret.data[2] = 0;

	shackbus_startup_message();

}
开发者ID:shackspace,项目名称:light-control,代码行数:34,代码来源:shackbus.c

示例4: epos_init

void epos_init(epos_node_p node, can_device_p can_dev, config_p config) {
  if (!can_dev) {
    can_dev = malloc(sizeof(can_device_t));
    can_init(can_dev, 0);
  }

  config_init_default(&node->config, &epos_default_config);
  if (config)
    config_set(&node->config, config);

  epos_device_init(&node->dev, can_dev,
    config_get_int(&node->config, EPOS_PARAMETER_ID),
    config_get_int(&node->config, EPOS_PARAMETER_RESET));
  epos_sensor_init(&node->sensor, &node->dev,
    config_get_int(&node->config, EPOS_PARAMETER_SENSOR_TYPE),
    config_get_int(&node->config, EPOS_PARAMETER_SENSOR_POLARITY),
    config_get_int(&node->config, EPOS_PARAMETER_SENSOR_PULSES),
    config_get_int(&node->config, EPOS_PARAMETER_SENSOR_SUPERVISION));
  epos_motor_init(&node->motor, &node->dev,
    config_get_int(&node->config, EPOS_PARAMETER_MOTOR_TYPE),
    config_get_float(&node->config, EPOS_PARAMETER_MOTOR_CURRENT));
  epos_gear_init(&node->gear, &node->sensor,
    config_get_float(&node->config, EPOS_PARAMETER_GEAR_TRANSMISSION));
  epos_input_init(&node->input, &node->dev);
  epos_control_init(&node->control, &node->dev,
    config_get_int(&node->config, EPOS_PARAMETER_CONTROL_TYPE));
}
开发者ID:ptroja,项目名称:libepos,代码行数:27,代码来源:epos.c

示例5: init

static void init(void)
{
	ACSR = _BV(ACD); // Disable Analog Comparator (power save)

	//motion_init();

	TCCR0 = _BV(CS02) | _BV(CS00); // clk / 256 
	TIMSK = _BV(TOIE0);

	io_init();

	// init twi
	if (!TWIM_Init())
	{
		while (1);
	}

	ds1631_init(I2C_ADRESSE_DS1631); // Init twi temperature sensor

	spi_init(); // initialize spi port
	can_read_addr();
	can_init(); // initialize can communication

	sei(); // turn on interrupts
	wdt_enable(WDTO_250MS);

#ifndef NO_NETVAR
	switch_netvars_init();
	lamp_out_init();
#endif
}
开发者ID:das-labor,项目名称:treppenblink,代码行数:31,代码来源:main.c

示例6: can_setup

void can_setup(void)
{
    /* Enable peripheral clocks. */
    rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_AFIOEN);
    rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN);
    rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_CANEN);

    AFIO_MAPR = AFIO_MAPR_CAN1_REMAP_PORTB;

    /* Configure CAN pin: RX (input pull-up). */
    gpio_set_mode(GPIOB, GPIO_MODE_INPUT,
                  GPIO_CNF_INPUT_PULL_UPDOWN, GPIO_CAN1_PB_RX);
    gpio_set(GPIOB, GPIO_CAN1_PB_RX);

    /* Configure CAN pin: TX. */
    gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ,
                  GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_CAN1_PB_TX);

    /* NVIC setup. */
    nvic_enable_irq(NVIC_USB_LP_CAN_RX0_IRQ);
    nvic_set_priority(NVIC_USB_LP_CAN_RX0_IRQ, 1);

    /* Reset CAN. */
    can_reset(CAN1);

    /* CAN cell init. */
    if (can_init(CAN1,
                 false,           /* TTCM: Time triggered comm mode? */
                 true,            /* ABOM: Automatic bus-off management? */
                 false,           /* AWUM: Automatic wakeup mode? */
                 false,           /* NART: No automatic retransmission? */
                 false,           /* RFLM: Receive FIFO locked mode? */
                 false,           /* TXFP: Transmit FIFO priority? */
                 CAN_BTR_SJW_1TQ,
                 CAN_BTR_TS1_3TQ,
                 CAN_BTR_TS2_4TQ,
                 12))             /* BRP+1: Baud rate prescaler */
    {
        gpio_set(GPIOA, GPIO8);		/* LED0 off */
        gpio_set(GPIOB, GPIO4);		/* LED1 off */
        gpio_set(GPIOC, GPIO15);       	/* LED2 off */
        gpio_clear(GPIOC, GPIO2);       /* LED3 on */
        gpio_set(GPIOC, GPIO5);	        /* LED4 off */

        /* Die because we failed to initialize. */
        while (1)
            __asm__("nop");
    }

    /* CAN filter 0 init. */
    can_filter_id_mask_32bit_init(CAN1,
                                  0,     /* Filter ID */
                                  0,     /* CAN ID */
                                  0,     /* CAN ID mask */
                                  0,     /* FIFO assignment (here: FIFO0) */
                                  true); /* Enable the filter. */

    /* Enable CAN RX interrupt. */
    can_enable_irq(CAN1, CAN_IER_FMPIE0);
}
开发者ID:hechan,项目名称:libopencm3,代码行数:60,代码来源:can.c

示例7: init

//////////////////////////////////////////////////////////////////////////////
/// Inizialization. This function is called once before entering 
/// main loop. 
///
//////////////////////////////////////////////////////////////////////////////
void init() {
	VMC_INT_16 motorID;

	init_aisc167b();
    init_asccom();    
    init_cycletime_counter();
	i2c_init();
	init_bioport();
	if (can_init(CAN_BAUD, 0)) while(1){led_swap_green();}

    led_set_green(0);
    led_set_red(0);
	ledseq_init();

    ais_system_init();


	//init_Thermic();
	init_error();
	init_calculatestate();
	init_motorcontrol();
	init_controller();
	init_current_limiter();
	mpwr_init();

	set_default_configuration();

	for (motorID = 0; motorID < 3; motorID++) {
	//	init_Limiter(i, 100);
		init_encoder(motorID);
	}
   


}
开发者ID:carpe-noctem-cassel,项目名称:cnc-msl,代码行数:40,代码来源:init.c

示例8: main

int main(void)
{
	union uKeyRoster scan;
	
    chip_init();    /* Chip initialization			*/
	can_init();		/* Enables Mob0 for Reception!	*/
	an_init();		/* Analog SPI module init 		*/
	init_leds();

	can_init_test_msg();
	byte result = CANSTMOB;

	/* TEST B)  Button boards configured as receivers;  LEDs showing upper nibble.
		1 Analog board on network will transmit a message.			*/
	send_test_msgs();

    while (1)
    {  	  
		// READ ALL ACTIVE ANALOG SIGNALS:
		an_read_actives();
		
		// TRANSMIT ACTIVE SIGNALS
		can_send_analog_msgs();

		/* Send about every 1 second */
		delay( one_second );
    }
    return(0);
} 
开发者ID:stenniswood,项目名称:AdrenalineFirmware,代码行数:29,代码来源:analog_main.c

示例9: can_interface_init

void can_interface_init(void)
{
    rcc_periph_clock_enable(RCC_CAN);

    /*
    STM32F3 CAN on 36MHz configured APB1 peripheral clock
    36MHz / 2 -> 18MHz
    18MHz / (1tq + 10tq + 7tq) = 1MHz => 1Mbit
    */
    can_init(CAN,             // Interface
             false,           // Time triggered communication mode.
             true,            // Automatic bus-off management.
             false,           // Automatic wakeup mode.
             false,           // No automatic retransmission.
             false,           // Receive FIFO locked mode.
             true,            // Transmit FIFO priority.
             CAN_BTR_SJW_1TQ, // Resynchronization time quanta jump width
             CAN_BTR_TS1_10TQ,// Time segment 1 time quanta width
             CAN_BTR_TS2_7TQ, // Time segment 2 time quanta width
             2,               // Prescaler
             false,           // Loopback
             false);          // Silent

    // filter to match any standard id
    // mask bits: 0 = Don't care, 1 = mute match corresponding id bit
    can_filter_id_mask_32bit_init(
        CAN,
        0,      // filter nr
        0,      // id: only std id, no rtr
        6 | (7<<29), // mask: match only std id[10:8] = 0 (bootloader frames)
        0,      // assign to fifo0
        true    // enable
    );
}
开发者ID:cvra,项目名称:can-bootloader,代码行数:34,代码来源:platform.c

示例10: can_init

// Just clearing the errors and setting the operation Mode
bool SailMotor::init(const char * device) {

	can_init(device);

	epos_fault_reset(AV_SAIL_NODE_ID);
	epos_set_output_current_limit(AV_SAIL_NODE_ID, AV_MAX_SAIL_CURRENT);
	epos_set_continous_current_limit(AV_SAIL_NODE_ID, AV_MAX_SAIL_CONT_CURRENT);

	epos_shutdown(AV_SAIL_NODE_ID);
	epos_enable_operation(AV_SAIL_NODE_ID);

	epos_set_mode_of_operation(AV_SAIL_NODE_ID, EPOS_OPERATION_MODE_PROFILE_POSITION);

	epos_shutdown(AV_SAIL_NODE_ID);
	epos_enable_operation(AV_SAIL_NODE_ID);

	epos_set_profile_acceleration(AV_SAIL_NODE_ID, AV_SAIL_ACCELERATION);
	epos_set_profile_deceleration(AV_SAIL_NODE_ID, AV_SAIL_DECELERATION);
	epos_set_profile_velocity(AV_SAIL_NODE_ID, AV_SAIL_SPEED);

	epos_set_maximum_following_error(AV_SAIL_NODE_ID, AV_SAIL_MAX_FOLLOWING_ERROR);

    epos_set_brake_mask(AV_SAIL_NODE_ID, AV_SAIL_BRAKE_MASK);
    epos_set_brake_polarity(AV_SAIL_NODE_ID, AV_SAIL_BRAKE_POLARITY);

	printf("\n\nThe Sail motor at %s (CAN-ID %d) has the following status:\n", device, AV_SAIL_NODE_ID);
	epos_get_error(AV_SAIL_NODE_ID);

    epos_set_brake_state(AV_SAIL_NODE_ID, AV_SAIL_BRAKE_OPEN);

	return true;
}
开发者ID:keily,项目名称:avalon-1,代码行数:33,代码来源:SailMotor.cpp

示例11: init

static void init() {
	//initialize spi port
	spi_init();

	//initialize can communication
	can_init();
	read_can_addr();
}
开发者ID:das-labor,项目名称:labnode,代码行数:8,代码来源:main.c

示例12: init

static void init(void) {
	usart1_init(115200, buf_in, ARR_LEN(buf_in), buf_out, ARR_LEN(buf_out));
	sysclock_init();
	can_init();

	sei();
	puts_P(PSTR("Init complete\n\n"));
}
开发者ID:UnicornRaceEngineering,项目名称:g5-nodes,代码行数:8,代码来源:main.c

示例13: can_initialize

/**
 * \brief Initializes and enables CAN0 & CAN1 tranceivers and clocks. 
 * CAN0/CAN1 mailboxes are reset and interrupts disabled.
 */
void can_initialize(void)
{
	uint32_t ul_sysclk;
	uint32_t x = 1;

	/* Initialize CAN0 Transceiver. */
	sn65hvd234_set_rs(&can0_transceiver, PIN_CAN0_TR_RS_IDX);
	sn65hvd234_set_en(&can0_transceiver, PIN_CAN0_TR_EN_IDX);
	/* Enable CAN0 Transceiver. */
	sn65hvd234_disable_low_power(&can0_transceiver);
	sn65hvd234_enable(&can0_transceiver);

	/* Initialize CAN1 Transceiver. */
	sn65hvd234_set_rs(&can1_transceiver, PIN_CAN1_TR_RS_IDX);
	sn65hvd234_set_en(&can1_transceiver, PIN_CAN1_TR_EN_IDX);
	/* Enable CAN1 Transceiver. */
	sn65hvd234_disable_low_power(&can1_transceiver);
	sn65hvd234_enable(&can1_transceiver);

	/* Enable CAN0 & CAN1 clock. */
	pmc_enable_periph_clk(ID_CAN0);
	pmc_enable_periph_clk(ID_CAN1);

	ul_sysclk = sysclk_get_cpu_hz();
	if (can_init(CAN0, ul_sysclk, CAN_BPS_250K) &&
	can_init(CAN1, ul_sysclk, CAN_BPS_250K)) {

	/* Disable all CAN0 & CAN1 interrupts. */
	can_disable_interrupt(CAN0, CAN_DISABLE_ALL_INTERRUPT_MASK);
	can_disable_interrupt(CAN1, CAN_DISABLE_ALL_INTERRUPT_MASK);
		
	NVIC_EnableIRQ(CAN0_IRQn);
	NVIC_EnableIRQ(CAN1_IRQn);
	
	can_reset_all_mailbox(CAN0);
	can_reset_all_mailbox(CAN1);
	
	/* Initialize the CAN0 & CAN1 mailboxes */
	x = can_init_mailboxes(x); // Prevent Random PC jumps to this point.
	//configASSERT(x);
	
	
	}
	return;
}
开发者ID:UTAT-SpaceSystems,项目名称:CDH-OBC_PhaseI,代码行数:49,代码来源:can_func.c

示例14: init

static void init(void) {
	sysclock_init();
	_delay_ms(100);
	button_init();
	can_init();

	sei();
	puts_P(PSTR("Init complete\n\n"));
}
开发者ID:UnicornRaceEngineering,项目名称:g5-nodes,代码行数:9,代码来源:main.c

示例15: main

int main(void)
{
	_delay_ms(500);
	uint8_t data_buf[8];
	ioinit();
	uartinit();
	can_init(0);
    pwm16Init2();
	adcInit(1);
	st_cmd_t rpm_msg;
	counter0Init();

	_delay_ms(500);
	sei();
    
	sendtekst("\n\rUnicorn Gearnode v1.0 \n\r");

	//rpm_msg.pt_data = rpm_response_buffer;
	//rpm_msg.status = 0;

	//can_update_rx_msg(&rpm_msg, rpm_msgid, 8);
    can_update_rx_msg(&rpm_msg, gear_msgid, 8);

	Can_sei();
	Can_set_tx_int();
	Can_set_rx_int();
    
	while(1)
	{

        _delay_ms(100);
		data_buf[0] = GearNeutral;
		data_buf[1] = GEARNEUTRALMEAS;
		data_buf[2] = 0;
		can_send_non_blocking(gear_msgid, data_buf, 3);
        
		data_buf[0] = GearEst;
		data_buf[1] = 0;
		data_buf[2] = GearEst_val;
		can_send_non_blocking(rpm_msgid, data_buf, 3);
        
        /*
        gearUp();
		gearUp();
		gearUp();
		gearUp();
        gearDown();
		gearDown();
		gearDown();
		gearDown();
		*/
		
        

    }
    return 0;
}
开发者ID:Den7710,项目名称:Unicorn_race_engineering,代码行数:57,代码来源:main.c


注:本文中的can_init函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。