Test
Dependencies: mbed-dev-OS5_10_4
MySources/AdMember.cpp@0:014fad4dfb9d, 2020-08-07 (annotated)
- Committer:
- kevman
- Date:
- Fri Aug 07 07:24:21 2020 +0000
- Revision:
- 0:014fad4dfb9d
Test
Who changed what in which revision?
User | Revision | Line number | New 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 | } |