<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; 25L8005]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=550&amp;type=atom" />
	<updated>2023-04-10T09:55:17Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=550</id>
		<entry>
			<title type="html"><![CDATA[25L8005]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=7725#p7725" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#include &lt;SPI.h&gt;

const int SSPin = 10;


 SPISettings mySet(500000, MSBFIRST, SPI_MODE0);


  byte data_arr[32]={12,56,78,67,90,0,78};
  



void setup() {
  Serial.begin(9600);
  pinMode(SSPin, OUTPUT);
  SPI.begin(); 
  sector_clean(0);// 0...255 sectors (1sector=4k_byte)
 // block_clean(0);// 0...15 block (1block=64k_byte)
 // chip_clean();
  delay(1000);
  write_flash(200);

}

void loop() { 
  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x03); // read
  SPI.transfer(0);
  SPI.transfer(0);
  SPI.transfer(200);
  for (int i=0; i&lt;32; i++) {
    byte data = SPI.transfer(0);
    Serial.print(data);
  }
  Serial.println();
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();



  delay(1000); // повторяем чтение каждую секунду
}



void write_flash(long addr){
  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x06);// write on
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();

  byte addr_2 = (addr &gt;&gt; 16) &amp; 0xFF;
  byte addr_1 = (addr &gt;&gt; 8) &amp; 0x00FF;
  byte addr_0 = addr &amp; 0x0000FF;
  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x02);
  SPI.transfer(addr_2);
  SPI.transfer(addr_1);
  SPI.transfer(addr_0);
  for (int i=0; i&lt;sizeof(data_arr); i++) {
    SPI.transfer(data_arr[i]);
  }
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();
 
  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x04);// write off
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();
  }

void sector_clean(byte addr){
    SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x06);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();

  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x20);
  SPI.transfer(0);
  SPI.transfer(0);
  SPI.transfer(addr);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();
 
  // Выставление запрета записи:
  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x04);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();
  }  

void block_clean(byte addr){
    SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x06);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();

  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x52);
  SPI.transfer(0);
  SPI.transfer(0);
  SPI.transfer(addr);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();
 
  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x04);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();
  }   

void chip_clean(){
  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x06);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();

  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x60);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();
 
  SPI.beginTransaction(mySet);
  digitalWrite(SSPin, LOW);
  SPI.transfer(0x04);
  digitalWrite(SSPin, HIGH);
  SPI.endTransaction();
  }     </code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2023-04-10T09:55:17Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=7725#p7725</id>
		</entry>
</feed>
