Test

Dependencies:   mbed-dev-OS5_10_4

Committer:
kevman
Date:
Fri Aug 07 07:24:21 2020 +0000
Revision:
0:014fad4dfb9d
Test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevman 0:014fad4dfb9d 1 /*-------------------------------------------------------------------------------
kevman 0:014fad4dfb9d 2 Programm Name: AdMember.C
kevman 0:014fad4dfb9d 3 Version: 1.0
kevman 0:014fad4dfb9d 4 Sprache: C
kevman 0:014fad4dfb9d 5 Compiler: CrossStudio Ver. 2.0
kevman 0:014fad4dfb9d 6 Autor: PS
kevman 0:014fad4dfb9d 7 Copyright: PS
kevman 0:014fad4dfb9d 8
kevman 0:014fad4dfb9d 9
kevman 0:014fad4dfb9d 10 Funktion: Member-Funktion für den A/D Wandlerzugriff
kevman 0:014fad4dfb9d 11
kevman 0:014fad4dfb9d 12 28.10.2012:
kevman 0:014fad4dfb9d 13
kevman 0:014fad4dfb9d 14 -------------------------------------------------------------------------------*/
kevman 0:014fad4dfb9d 15 #include "Headers.h"
kevman 0:014fad4dfb9d 16
kevman 0:014fad4dfb9d 17 // uint8_t Ch1[8], Ch2[8];
kevman 0:014fad4dfb9d 18
kevman 0:014fad4dfb9d 19 extern uint8_t ReadAd0In(int n);
kevman 0:014fad4dfb9d 20 extern uint8_t ReadAd1In(int n);
kevman 0:014fad4dfb9d 21
kevman 0:014fad4dfb9d 22
kevman 0:014fad4dfb9d 23 /*-------------------------------------------------------------------------------
kevman 0:014fad4dfb9d 24 Liest das IO Register beider AD's
kevman 0:014fad4dfb9d 25 -------------------------------------------------------------------------------*/
kevman 0:014fad4dfb9d 26 uint8_t ReadAdIoPortRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 27 {
kevman 0:014fad4dfb9d 28 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_IO), Wandler); // 0x41 lesen des I/O Portregisters
kevman 0:014fad4dfb9d 29 {
kevman 0:014fad4dfb9d 30 AdInRead(Wandler);
kevman 0:014fad4dfb9d 31 return(g_AReadTemp);
kevman 0:014fad4dfb9d 32 }
kevman 0:014fad4dfb9d 33 }
kevman 0:014fad4dfb9d 34 uint8_t ReadAdRevisionRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 35 {
kevman 0:014fad4dfb9d 36 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_REV), Wandler); // 0x42
kevman 0:014fad4dfb9d 37 {
kevman 0:014fad4dfb9d 38 AdInRead(Wandler);
kevman 0:014fad4dfb9d 39 return(g_AReadTemp);
kevman 0:014fad4dfb9d 40 }
kevman 0:014fad4dfb9d 41 }
kevman 0:014fad4dfb9d 42 uint8_t ReadAdTestRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 43 {
kevman 0:014fad4dfb9d 44 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_TEST), Wandler); // 0x43
kevman 0:014fad4dfb9d 45 ReadAd0Ad1In(3);
kevman 0:014fad4dfb9d 46 return(true);
kevman 0:014fad4dfb9d 47 }
kevman 0:014fad4dfb9d 48 uint8_t ReadAdStatusRegister(uint8_t Wandler) // wird von Main aufgerufen
kevman 0:014fad4dfb9d 49 {
kevman 0:014fad4dfb9d 50 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_STATUS), Wandler); // 0x44
kevman 0:014fad4dfb9d 51 {
kevman 0:014fad4dfb9d 52 AdInRead(Wandler);
kevman 0:014fad4dfb9d 53 return(g_AReadTemp);
kevman 0:014fad4dfb9d 54 }
kevman 0:014fad4dfb9d 55 }
kevman 0:014fad4dfb9d 56 uint8_t ReadAdCheckSumRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 57 {
kevman 0:014fad4dfb9d 58 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_CHKSUM), Wandler); // 0x45
kevman 0:014fad4dfb9d 59 ReadAd0Ad1In(2);
kevman 0:014fad4dfb9d 60 return(true);
kevman 0:014fad4dfb9d 61 }
kevman 0:014fad4dfb9d 62 uint8_t ReadAdZeroScaleRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 63 {
kevman 0:014fad4dfb9d 64 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_ZS_CAL), Wandler); // 0x46
kevman 0:014fad4dfb9d 65 ReadAd0Ad1In(3);
kevman 0:014fad4dfb9d 66 return(true);
kevman 0:014fad4dfb9d 67 }
kevman 0:014fad4dfb9d 68 uint8_t ReadAdFullScaleRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 69 {
kevman 0:014fad4dfb9d 70 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_FS_CAL), Wandler); // 0x47
kevman 0:014fad4dfb9d 71 ReadAd0Ad1In(3);
kevman 0:014fad4dfb9d 72 return(true);
kevman 0:014fad4dfb9d 73 }
kevman 0:014fad4dfb9d 74 uint8_t ReadAdChnZeroScaleRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 75 {
kevman 0:014fad4dfb9d 76 int i;
kevman 0:014fad4dfb9d 77
kevman 0:014fad4dfb9d 78 for(i = 0; i < 4; i++)
kevman 0:014fad4dfb9d 79 {
kevman 0:014fad4dfb9d 80 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_ZS | i), 0); // 0x50-57
kevman 0:014fad4dfb9d 81 ReadAd0In(3);
kevman 0:014fad4dfb9d 82 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_ZS | i), 1); // 0x50-57
kevman 0:014fad4dfb9d 83 ReadAd1In(3);
kevman 0:014fad4dfb9d 84 #ifdef SINGLE_DEBUG
kevman 0:014fad4dfb9d 85 printf("Wandler 1: %02X %02X %02X\n",g_ReadReg[0], g_ReadReg[1], g_ReadReg[2]); // Parameter ist egal, liest sowieso beide
kevman 0:014fad4dfb9d 86 printf("Wandler 2: %02X %02X %02X\n",g_ReadReg[4], g_ReadReg[5], g_ReadReg[6]); // Parameter ist egal, liest sowieso beide
kevman 0:014fad4dfb9d 87 #endif
kevman 0:014fad4dfb9d 88 }
kevman 0:014fad4dfb9d 89 return(true);
kevman 0:014fad4dfb9d 90 }
kevman 0:014fad4dfb9d 91 uint8_t ReadAdChnFullScaleRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 92 {
kevman 0:014fad4dfb9d 93 int i;
kevman 0:014fad4dfb9d 94
kevman 0:014fad4dfb9d 95 for(i = 0; i < 8; i++)
kevman 0:014fad4dfb9d 96 {
kevman 0:014fad4dfb9d 97 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_FS | i), Wandler); // 0x58 - 5F
kevman 0:014fad4dfb9d 98 ReadAd0Ad1In(3);
kevman 0:014fad4dfb9d 99 }
kevman 0:014fad4dfb9d 100 return(true);
kevman 0:014fad4dfb9d 101 }
kevman 0:014fad4dfb9d 102
kevman 0:014fad4dfb9d 103 uint8_t ReadAdChnStatusRegister(uint8_t Chn, uint8_t Wandler)
kevman 0:014fad4dfb9d 104 {
kevman 0:014fad4dfb9d 105 Ad7739OutWrite(AD7739_READ_OP(AD7739_CHANNEL(AD7739_ADDR_C_STAT, Chn)), Wandler); // 0x60 - 67
kevman 0:014fad4dfb9d 106 {
kevman 0:014fad4dfb9d 107 AdInRead(Wandler);
kevman 0:014fad4dfb9d 108 return(g_AReadTemp);
kevman 0:014fad4dfb9d 109 }
kevman 0:014fad4dfb9d 110 }
kevman 0:014fad4dfb9d 111 uint8_t ReadAdChnSetupRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 112 {
kevman 0:014fad4dfb9d 113 int i;
kevman 0:014fad4dfb9d 114
kevman 0:014fad4dfb9d 115 for(i = 0; i < 8; i++)
kevman 0:014fad4dfb9d 116 {
kevman 0:014fad4dfb9d 117 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_SET | i), Wandler); // 0x68 - 6F
kevman 0:014fad4dfb9d 118 ReadAd0Ad1In(1);
kevman 0:014fad4dfb9d 119 }
kevman 0:014fad4dfb9d 120 return(true);
kevman 0:014fad4dfb9d 121 }
kevman 0:014fad4dfb9d 122 uint8_t ReadAdConvTimeRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 123 {
kevman 0:014fad4dfb9d 124 int i;
kevman 0:014fad4dfb9d 125
kevman 0:014fad4dfb9d 126 for(i = 0; i < 8; i++)
kevman 0:014fad4dfb9d 127 {
kevman 0:014fad4dfb9d 128 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_C_CT | i), Wandler); // 0x70 - 77
kevman 0:014fad4dfb9d 129 ReadAd0Ad1In(1);
kevman 0:014fad4dfb9d 130 }
kevman 0:014fad4dfb9d 131 return(true);
kevman 0:014fad4dfb9d 132 }
kevman 0:014fad4dfb9d 133 uint8_t ReadAdChnModeRegister(uint8_t Wandler)
kevman 0:014fad4dfb9d 134 {
kevman 0:014fad4dfb9d 135 Ad7739OutWrite(AD7739_READ_OP(AD7739_ADDR_MODE), Wandler); // 0x70 - 77
kevman 0:014fad4dfb9d 136 ReadAd0Ad1In(1);
kevman 0:014fad4dfb9d 137 return(true);
kevman 0:014fad4dfb9d 138 }
kevman 0:014fad4dfb9d 139
kevman 0:014fad4dfb9d 140 uint8_t ReadAd0In(int n)
kevman 0:014fad4dfb9d 141 {
kevman 0:014fad4dfb9d 142 int i;
kevman 0:014fad4dfb9d 143
kevman 0:014fad4dfb9d 144 for(i=0;i<n;i++)
kevman 0:014fad4dfb9d 145 {
kevman 0:014fad4dfb9d 146 AdInRead(0); //
kevman 0:014fad4dfb9d 147 g_ReadReg[i] = g_AReadTemp;
kevman 0:014fad4dfb9d 148 }
kevman 0:014fad4dfb9d 149 return(true);
kevman 0:014fad4dfb9d 150 }
kevman 0:014fad4dfb9d 151 uint8_t ReadAd1In(int n)
kevman 0:014fad4dfb9d 152 {
kevman 0:014fad4dfb9d 153 int i;
kevman 0:014fad4dfb9d 154
kevman 0:014fad4dfb9d 155 for(i=0;i<n;i++)
kevman 0:014fad4dfb9d 156 {
kevman 0:014fad4dfb9d 157 AdInRead(1); //
kevman 0:014fad4dfb9d 158 g_ReadReg[i+4] = g_AReadTemp;
kevman 0:014fad4dfb9d 159 }
kevman 0:014fad4dfb9d 160 return(true);
kevman 0:014fad4dfb9d 161 }
kevman 0:014fad4dfb9d 162
kevman 0:014fad4dfb9d 163
kevman 0:014fad4dfb9d 164 uint8_t ReadAd0Ad1In(int n)
kevman 0:014fad4dfb9d 165 {
kevman 0:014fad4dfb9d 166 int i;
kevman 0:014fad4dfb9d 167
kevman 0:014fad4dfb9d 168 for(i=0;i<n;i++)
kevman 0:014fad4dfb9d 169 {
kevman 0:014fad4dfb9d 170 AdInRead(0); //
kevman 0:014fad4dfb9d 171 g_ReadReg[i] = g_AReadTemp;
kevman 0:014fad4dfb9d 172 }
kevman 0:014fad4dfb9d 173 for(i=0;i<n;i++)
kevman 0:014fad4dfb9d 174 {
kevman 0:014fad4dfb9d 175 AdInRead(1); //
kevman 0:014fad4dfb9d 176 g_ReadReg[i+4] = g_AReadTemp;
kevman 0:014fad4dfb9d 177 }
kevman 0:014fad4dfb9d 178 return(true);
kevman 0:014fad4dfb9d 179 }