frederic blanc
/
AD8556_HelloWolrd
HelloWorld AD8556
Diff: main.cpp
- Revision:
- 0:019c7e30bd13
- Child:
- 1:e43b05e13f28
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Sep 11 13:32:04 2013 +0000 @@ -0,0 +1,75 @@ +#include "mbed.h" +#include "AD8556.h" +Serial pc(USBTX, USBRX); +AD8556 aop(PTD7); //KL25Z +//AD8556 aop(p21); //MBED +unsigned char mode=ADC_MODE_SIMULATION; +float vdd=3.3,vss=0.0; + +void pc_rx(void) +{ + char c; + c=pc.getc(); + switch (c) { + case 'h': + case 'H': + pc.printf("\r\nHELP\r\n"); + pc.printf("G : GAIN (V/V)\r\n"); + pc.printf("O : OFFSET (V)\r\n"); + pc.printf("M : MODE SIMULATION/FUSE\r\n"); + pc.printf("S : SUPPLY VDD VSS\r\n"); + + break; + case 'G': + float gain; + pc.printf("\r\nGAIN ="); + pc.scanf("%f",&gain); + aop.prog_gain(gain,mode); + pc.printf("%f\r\n",gain); + break; + case 'O': + float offset; + pc.printf("\r\nOFFSET ="); + pc.scanf("%f",&offset); + aop.prog_vdac(offset,vdd,vss,mode); + pc.printf("%f\r\n",offset); + break; + case 'M': + pc.printf("\r\nMODE :"); + pc.printf("\r\n1:SIMULATION"); + pc.printf("\r\n2:FUSE"); + pc.scanf("%d",&mode); + if(mode==2) + pc.printf("\r\nFUSE"); + else + { + mode=ADC_MODE_SIMULATION; + pc.printf("\r\nSIMULATION"); + } + break; + case 'S': + pc.printf("\r\nSUPPLY :"); + pc.printf("\r\nVCC :"); + pc.scanf("%f",&vdd); + pc.printf("%f\r\n",vdd); + pc.printf("\r\nVSS :"); + pc.scanf("%f",&vss); + pc.printf("%f\r\n",vss); + break; + } +} + + + +int main() +{ +pc.printf("\r\nAD8556 HelloWolrd 11/09/2013\r\n"); + //aop.init(ADC_Simulate_Parameter_Value,0x00, 0x00,0x7F); + + while (1) { + if (pc.readable()) //reception d'une trame com + pc_rx(); + } + + +}