Skip to content

Instantly share code, notes, and snippets.

@kvalv
Created February 1, 2016 22:55
Show Gist options
  • Select an option

  • Save kvalv/52513009f9636958d02a to your computer and use it in GitHub Desktop.

Select an option

Save kvalv/52513009f9636958d02a to your computer and use it in GitHub Desktop.
/*
* ADC version 1.0.c
*
* Created: 23.01.2016 21:02:13
* Author : Daniel
*/
#include <avr/io.h>
#include <ctype.h>
#include "SPI.h"
#include "leddriver.h"
#include "ads1118mi.h"
#include "can_drv.h"
#include "can_lib.h"
#define F_CPU 16000000UL
#include <util/delay.h>
int main(void)
{
led_init();
#define CAN_FCN_DATA_ID 0x600
#define CAN_GRP_DANIEL 0x10
#define sensor 10
spi_init(spi_mode_1, spi_prescaler_8 );
//DDRD |= (1<<PORTD3); // Set pin D3 as output
//PORTD &= (0xFF^((0 << PORTD3))); //Set output off
adc_init ();
can_init(clkph_16MHZ,CAN_BPS_1000k);
st_cmd_t sensor_message;
can_data_t sensor_message_data;
sensor_message.dlc = 2;
sensor_message.ctrl.ide = 0;
sensor_message.ctrl.rtr = 0;
sensor_message.cmd = CMD_TX_DATA;
sensor_message.pt_data = &sensor_message_data;
led_off(LED1);
led_off(LED2);
led_off(LED3);
led_off(LED4);
while(1){
volatile uint16_t data = adc_set_read_chan(ADC_ANALOG_IN_1);
//volatile int test = 0xFF;
sensor_message_data.i16[0] = adc_set_read_chan(ADC_ANALOG_IN_1);
can_cmd(&sensor_message);
while ( can_get_status (&sensor_message ) != CAN_STATUS_COMPLETED ) {
LED_on(LED1);
}
can_free_single_mob( sensor_message.handle );
LED_off(LED1);
LED_on(LED2);
LED_on(LED3);
LED_on(LED4);
}
/*
led_on(LED1);
_delay_ms(500);
led_on(LED2);
_delay_ms(500);
led_on(LED3);
_delay_ms(500);
led_on(LED4);
_delay_ms(1000);
led_off(LED4);
_delay_ms(500);
led_off(LED3);
_delay_ms(500);
led_off(LED2);
_delay_ms(500);
led_off(LED1);
_delay_ms(1000);
*/
/*
if(data | 0x0100) led_on(LED1);
if(data | 0x0004) led_on(LED2);
if(data | 0x0002) led_on(LED3);
if(data | 0x0010) led_on(LED4);
*/
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment