<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; 25L8005]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=550</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=550&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «25L8005».]]></description>
		<lastBuildDate>Mon, 10 Apr 2023 09:55:17 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[25L8005]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7725#p7725</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 10 Apr 2023 09:55:17 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7725#p7725</guid>
		</item>
	</channel>
</rss>
