Alejandro M
/
TutoElectro_PWM
Simple PWM tutorial using FRDM-KL25Z made by Twistx77 from TutoElectro
main.cpp
- Committer:
- Twistx77
- Date:
- 2015-02-03
- Revision:
- 1:778a662bafcf
- Parent:
- 0:647746eea42d
File content as of revision 1:778a662bafcf:
#include "mbed.h" AnalogOut dac(PTE30); Serial pc(USBTX,USBRX); uint16_t dacIntValue = 0; float dacValue = 0; float dacVoltage = 0; void rxInterrupt() { switch(pc.getc()) { case 'a': if(dacValue>0.001){ dacValue = dacValue - 0.001; } dacIntValue = (uint16_t)(4095*dacValue); break; case 's': if(dacValue<1){ dacValue = dacValue + 0.001; } dacIntValue = (uint16_t)(4095*dacValue); break; case 'f': if(dacIntValue> 1){ dacIntValue = dacIntValue - 1; } dacValue = dacIntValue/4095.0; break; case 'g': if(dacIntValue< 4095){ dacIntValue = dacIntValue + 1; } dacValue = dacIntValue/4095.0; break; default: break; } dacVoltage = 3.3 * dacValue; dac.write(dacValue); pc.printf("DAC Value: %i, DAC Voltage: %.4f \r\n", dacIntValue, dacVoltage); } int main() { pc.baud(115200); pc.attach(&rxInterrupt); while(1); }