for publishing

Dependencies:   mbed

Committer:
dheerajmpai23
Date:
Wed Jul 01 18:38:45 2015 +0000
Revision:
0:f22e17465b15
STATUS:: Transmitting; Successful SPI interface; Data transmitting Rolling Buffer Mechanism Failed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dheerajmpai23 0:f22e17465b15 1 //Krishans Code using Timer
dheerajmpai23 0:f22e17465b15 2
dheerajmpai23 0:f22e17465b15 3 #include "mbed.h"
dheerajmpai23 0:f22e17465b15 4 #define ENDL "\r" << endl
dheerajmpai23 0:f22e17465b15 5 #include<iostream>
dheerajmpai23 0:f22e17465b15 6 DigitalOut led(LED_RED);
dheerajmpai23 0:f22e17465b15 7 DigitalOut CS(D10);
dheerajmpai23 0:f22e17465b15 8 Timer t;
dheerajmpai23 0:f22e17465b15 9 float a= 0.046666666;
dheerajmpai23 0:f22e17465b15 10 int i=0,j=2;
dheerajmpai23 0:f22e17465b15 11 SPI adf(PTA16, PTA17, PTA15); // mosi, miso, sclk
dheerajmpai23 0:f22e17465b15 12
dheerajmpai23 0:f22e17465b15 13 unsigned int data[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
dheerajmpai23 0:f22e17465b15 14 void bbram_write()
dheerajmpai23 0:f22e17465b15 15 {
dheerajmpai23 0:f22e17465b15 16 CS=0;
dheerajmpai23 0:f22e17465b15 17 // To bring in off state
dheerajmpai23 0:f22e17465b15 18 adf.write(0xB0);
dheerajmpai23 0:f22e17465b15 19 wait(0.1);
dheerajmpai23 0:f22e17465b15 20 CS=1;
dheerajmpai23 0:f22e17465b15 21
dheerajmpai23 0:f22e17465b15 22 // Write bbram
dheerajmpai23 0:f22e17465b15 23 CS=0;
dheerajmpai23 0:f22e17465b15 24 adf.write(0x19);
dheerajmpai23 0:f22e17465b15 25 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 26 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 27 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 28
dheerajmpai23 0:f22e17465b15 29 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 30 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 31 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 32 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 33
dheerajmpai23 0:f22e17465b15 34 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 35 adf.write(0x33);
dheerajmpai23 0:f22e17465b15 36 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 37 adf.write(0xF4);
dheerajmpai23 0:f22e17465b15 38
dheerajmpai23 0:f22e17465b15 39 adf.write(0xC2);
dheerajmpai23 0:f22e17465b15 40 adf.write(0x10);
dheerajmpai23 0:f22e17465b15 41 adf.write(0xC0);
dheerajmpai23 0:f22e17465b15 42 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 43
dheerajmpai23 0:f22e17465b15 44 adf.write(0x30);
dheerajmpai23 0:f22e17465b15 45 adf.write(0x31);
dheerajmpai23 0:f22e17465b15 46 adf.write(0x07);
dheerajmpai23 0:f22e17465b15 47 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 48
dheerajmpai23 0:f22e17465b15 49 adf.write(0x01);
dheerajmpai23 0:f22e17465b15 50 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 51 adf.write(0x7F);
dheerajmpai23 0:f22e17465b15 52 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 53
dheerajmpai23 0:f22e17465b15 54 adf.write(0x0B);
dheerajmpai23 0:f22e17465b15 55 adf.write(0x37);
dheerajmpai23 0:f22e17465b15 56 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 57 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 58 adf.write(0x40);
dheerajmpai23 0:f22e17465b15 59 adf.write(0x0C);
dheerajmpai23 0:f22e17465b15 60 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 61 adf.write(0x05);
dheerajmpai23 0:f22e17465b15 62 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 63 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 64 adf.write(0x18);
dheerajmpai23 0:f22e17465b15 65 adf.write(0x12);
dheerajmpai23 0:f22e17465b15 66 adf.write(0x34);
dheerajmpai23 0:f22e17465b15 67 adf.write(0x56);
dheerajmpai23 0:f22e17465b15 68 adf.write(0x10);
dheerajmpai23 0:f22e17465b15 69 adf.write(0x10);
dheerajmpai23 0:f22e17465b15 70 adf.write(0xC4); // Different
dheerajmpai23 0:f22e17465b15 71 adf.write(0x14);
dheerajmpai23 0:f22e17465b15 72 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 73 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 74 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 75 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 76 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 77 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 78 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 79 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 80 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 81 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 82 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 83 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 84 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 85 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 86 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 87 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 88 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 89 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 90 adf.write(0x04);
dheerajmpai23 0:f22e17465b15 91 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 92 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 93 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 94 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 95 adf.write(0x00);
dheerajmpai23 0:f22e17465b15 96 CS=1;
dheerajmpai23 0:f22e17465b15 97 wait(0.1);
dheerajmpai23 0:f22e17465b15 98
dheerajmpai23 0:f22e17465b15 99 // Testmode register
dheerajmpai23 0:f22e17465b15 100 CS=0;
dheerajmpai23 0:f22e17465b15 101 adf.write(0x09);
dheerajmpai23 0:f22e17465b15 102 adf.write(0x39);
dheerajmpai23 0:f22e17465b15 103 adf.write(0x10);
dheerajmpai23 0:f22e17465b15 104 CS=1;
dheerajmpai23 0:f22e17465b15 105 wait(0.1);
dheerajmpai23 0:f22e17465b15 106
dheerajmpai23 0:f22e17465b15 107 //CMD_CONFIG_DEV
dheerajmpai23 0:f22e17465b15 108 CS=0;
dheerajmpai23 0:f22e17465b15 109 adf.write(0xBB);
dheerajmpai23 0:f22e17465b15 110 CS=1;
dheerajmpai23 0:f22e17465b15 111 wait(0.1);
dheerajmpai23 0:f22e17465b15 112 CS=0;
dheerajmpai23 0:f22e17465b15 113 adf.write(0xFF);
dheerajmpai23 0:f22e17465b15 114 adf.write(0xFF);
dheerajmpai23 0:f22e17465b15 115 CS=1;
dheerajmpai23 0:f22e17465b15 116 wait(0.1);
dheerajmpai23 0:f22e17465b15 117 }
dheerajmpai23 0:f22e17465b15 118
dheerajmpai23 0:f22e17465b15 119 void data_write()
dheerajmpai23 0:f22e17465b15 120 {
dheerajmpai23 0:f22e17465b15 121 // PHY_ON
dheerajmpai23 0:f22e17465b15 122 CS=0;
dheerajmpai23 0:f22e17465b15 123 adf.write(0xB1);
dheerajmpai23 0:f22e17465b15 124 CS=1;
dheerajmpai23 0:f22e17465b15 125 wait(0.1);
dheerajmpai23 0:f22e17465b15 126 CS=0;
dheerajmpai23 0:f22e17465b15 127 adf.write(0xFF);
dheerajmpai23 0:f22e17465b15 128 adf.write(0xFF);
dheerajmpai23 0:f22e17465b15 129 CS=1;
dheerajmpai23 0:f22e17465b15 130 wait(0.1);
dheerajmpai23 0:f22e17465b15 131 // TRANSMIT_DATA LENGTH
dheerajmpai23 0:f22e17465b15 132 CS=0;
dheerajmpai23 0:f22e17465b15 133 adf.write(0x08);
dheerajmpai23 0:f22e17465b15 134 adf.write(0x14);
dheerajmpai23 0:f22e17465b15 135 adf.write(0xC0);
dheerajmpai23 0:f22e17465b15 136 CS=1;
dheerajmpai23 0:f22e17465b15 137 wait(0.1);
dheerajmpai23 0:f22e17465b15 138 CS=0;
dheerajmpai23 0:f22e17465b15 139 adf.write(0x08);
dheerajmpai23 0:f22e17465b15 140 adf.write(0x15);
dheerajmpai23 0:f22e17465b15 141 adf.write(0x01);
dheerajmpai23 0:f22e17465b15 142 CS=1;
dheerajmpai23 0:f22e17465b15 143 wait(0.1);
dheerajmpai23 0:f22e17465b15 144 // TX_BASE ADDRESS
dheerajmpai23 0:f22e17465b15 145 CS=0;
dheerajmpai23 0:f22e17465b15 146 adf.write(0x09);
dheerajmpai23 0:f22e17465b15 147 adf.write(0x24);
dheerajmpai23 0:f22e17465b15 148 adf.write(0x20);
dheerajmpai23 0:f22e17465b15 149 CS=1;
dheerajmpai23 0:f22e17465b15 150 wait(0.1);
dheerajmpai23 0:f22e17465b15 151 // BUFFER SIZE
dheerajmpai23 0:f22e17465b15 152 CS=0;
dheerajmpai23 0:f22e17465b15 153 adf.write(0x09);
dheerajmpai23 0:f22e17465b15 154 adf.write(0x37);
dheerajmpai23 0:f22e17465b15 155 adf.write(0xE0);
dheerajmpai23 0:f22e17465b15 156 CS=1;
dheerajmpai23 0:f22e17465b15 157 wait(0.1);
dheerajmpai23 0:f22e17465b15 158 CS=0;
dheerajmpai23 0:f22e17465b15 159 adf.write(0x09);
dheerajmpai23 0:f22e17465b15 160 adf.write(0x36);
dheerajmpai23 0:f22e17465b15 161 adf.write(0x70);
dheerajmpai23 0:f22e17465b15 162 CS=1;
dheerajmpai23 0:f22e17465b15 163 wait(0.1);
dheerajmpai23 0:f22e17465b15 164 // PACKET WRITE
dheerajmpai23 0:f22e17465b15 165
dheerajmpai23 0:f22e17465b15 166 CS=0;
dheerajmpai23 0:f22e17465b15 167 adf.write(0x18);
dheerajmpai23 0:f22e17465b15 168 adf.write(0x20);
dheerajmpai23 0:f22e17465b15 169 for(i=0;i<224;i++)
dheerajmpai23 0:f22e17465b15 170 {
dheerajmpai23 0:f22e17465b15 171 adf.write(data[i]);
dheerajmpai23 0:f22e17465b15 172 cout<<"kkkkkk"<<data[i]<<ENDL;
dheerajmpai23 0:f22e17465b15 173 wait_us(1);
dheerajmpai23 0:f22e17465b15 174 }
dheerajmpai23 0:f22e17465b15 175 CS=1;
dheerajmpai23 0:f22e17465b15 176
dheerajmpai23 0:f22e17465b15 177
dheerajmpai23 0:f22e17465b15 178
dheerajmpai23 0:f22e17465b15 179 // TX MODE
dheerajmpai23 0:f22e17465b15 180 CS=0;
dheerajmpai23 0:f22e17465b15 181 adf.write(0xB5);
dheerajmpai23 0:f22e17465b15 182 t.start();
dheerajmpai23 0:f22e17465b15 183
dheerajmpai23 0:f22e17465b15 184 CS=1;
dheerajmpai23 0:f22e17465b15 185 while(1){
dheerajmpai23 0:f22e17465b15 186 // wait_us(46666);
dheerajmpai23 0:f22e17465b15 187 cout<<"in while"<<ENDL;
dheerajmpai23 0:f22e17465b15 188
dheerajmpai23 0:f22e17465b15 189 if(t.read_us()>=46666*(j-1))
dheerajmpai23 0:f22e17465b15 190 {
dheerajmpai23 0:f22e17465b15 191 // cout<<"in if1"<<ENDL;
dheerajmpai23 0:f22e17465b15 192 // cout<<"time= "<<t.read_us()<<ENDL;
dheerajmpai23 0:f22e17465b15 193 cout<<t.read_us()<<ENDL;
dheerajmpai23 0:f22e17465b15 194 CS=0;
dheerajmpai23 0:f22e17465b15 195 if(!(j%2))
dheerajmpai23 0:f22e17465b15 196 { cout<<"in if2"<<ENDL;
dheerajmpai23 0:f22e17465b15 197 adf.write(0x18);
dheerajmpai23 0:f22e17465b15 198 adf.write(0x20);
dheerajmpai23 0:f22e17465b15 199 }
dheerajmpai23 0:f22e17465b15 200 else
dheerajmpai23 0:f22e17465b15 201 {
dheerajmpai23 0:f22e17465b15 202 adf.write(0x18);
dheerajmpai23 0:f22e17465b15 203 adf.write(0x90);
dheerajmpai23 0:f22e17465b15 204
dheerajmpai23 0:f22e17465b15 205 }
dheerajmpai23 0:f22e17465b15 206
dheerajmpai23 0:f22e17465b15 207 for(i=112*j;i<112*(j+1);i++)
dheerajmpai23 0:f22e17465b15 208 {
dheerajmpai23 0:f22e17465b15 209 adf.write(data[i]);
dheerajmpai23 0:f22e17465b15 210 // cout<<"in for i= "<<i<<"_"<<data[i]<<"_"<<t.read_us()<<ENDL;
dheerajmpai23 0:f22e17465b15 211
dheerajmpai23 0:f22e17465b15 212 }
dheerajmpai23 0:f22e17465b15 213 CS=1;
dheerajmpai23 0:f22e17465b15 214 j++;
dheerajmpai23 0:f22e17465b15 215
dheerajmpai23 0:f22e17465b15 216 if(j==4)
dheerajmpai23 0:f22e17465b15 217 break;
dheerajmpai23 0:f22e17465b15 218
dheerajmpai23 0:f22e17465b15 219 if(t.read()>1.3)
dheerajmpai23 0:f22e17465b15 220 break;
dheerajmpai23 0:f22e17465b15 221 }
dheerajmpai23 0:f22e17465b15 222 }
dheerajmpai23 0:f22e17465b15 223
dheerajmpai23 0:f22e17465b15 224 }
dheerajmpai23 0:f22e17465b15 225
dheerajmpai23 0:f22e17465b15 226
dheerajmpai23 0:f22e17465b15 227
dheerajmpai23 0:f22e17465b15 228 int main()
dheerajmpai23 0:f22e17465b15 229 {
dheerajmpai23 0:f22e17465b15 230 cout<<"in the main"<<ENDL;
dheerajmpai23 0:f22e17465b15 231 bbram_write();
dheerajmpai23 0:f22e17465b15 232 cout<<"bbram written"<<ENDL;
dheerajmpai23 0:f22e17465b15 233 data_write();
dheerajmpai23 0:f22e17465b15 234
dheerajmpai23 0:f22e17465b15 235 }