void setupDAC(){ //Setup mbed pin 18, for analogue output PINSEL_CFG_Type PinCfg; PinCfg.Funcnum = 2; PinCfg.OpenDrain = 0; PinCfg.Pinmode = 0; PinCfg.Portnum = 0; PinCfg.Pinnum = 26; PINSEL_ConfigPin(&PinCfg); // DAC_Init(LPC_DAC); //Initialise and set to 0 DAC_UpdateValue(LPC_DAC, 0x0000); }
int main(void) { serial_init(); init_adc(); init_dac(); //SysTick_Config(SystemCoreClock / 6); uint16_t adc_value; while(1) { // Read analogue value ADC_StartCmd(LPC_ADC,ADC_START_NOW); // Wait conversion complete while (!(ADC_ChannelGetStatus(LPC_ADC,ADC_CHANNEL_1,ADC_DATA_DONE))); adc_value = ADC_ChannelGetData(LPC_ADC,ADC_CHANNEL_1); DAC_UpdateValue(LPC_DAC, adc_value / 4); } return 0; }
void dac_out(uint32_t outval){ DAC_UpdateValue((LPC_DAC_TypeDef *)LPC_DAC, outval); }
void dacSetValue(int newValue) { DAC_UpdateValue(LPC_DAC, newValue); }
void DAC_send(uint16_t value) { DAC_UpdateValue(LPC_DAC, value); }