комментарии вернул в нормальный вид
This commit is contained in:
parent
76258c03d0
commit
a7ce96bf42
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* BL25CM1A.c
|
* BL25CM1A.c
|
||||||
*
|
*
|
||||||
* Created on: 7 сент. 2023 г.
|
* Created on: 7 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>. 2023 <EFBFBD>.
|
||||||
* Author: seklyuts
|
* Author: seklyuts
|
||||||
*/
|
*/
|
||||||
#include "f28x_project.h"
|
#include "f28x_project.h"
|
||||||
@ -159,16 +159,16 @@ void Bl25cm1a_read_data(uint32_t Addr, uint16_t quant8, uint16_t * read_data)
|
|||||||
if(quant8 > 8)
|
if(quant8 > 8)
|
||||||
{
|
{
|
||||||
for(i = 0; i < (quant8-8); i += 8)
|
for(i = 0; i < (quant8-8); i += 8)
|
||||||
{ //в этом цикле только полные посылки по 8 байт
|
{ //в этом цикле только полные посылки по 8 байт
|
||||||
Bl25cm1a_read_8_bytes(Addr+i, addr_read_data, 8);
|
Bl25cm1a_read_8_bytes(Addr+i, addr_read_data, 8);
|
||||||
copy8_to_16(addr_read_data, read_data, 4);
|
copy8_to_16(addr_read_data, read_data, 4);
|
||||||
read_data+=4;
|
read_data+=4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(i < quant8)
|
if(i < quant8)
|
||||||
{ //тут м.б. от 1 до 8 байт
|
{ //тут м.б. от 1 до 8 байт
|
||||||
Bl25cm1a_read_8_bytes(Addr+i, addr_read_data, (quant8 - i)); //читаем оставшиеся байты
|
Bl25cm1a_read_8_bytes(Addr+i, addr_read_data, (quant8 - i)); //читаем оставшиеся байты
|
||||||
if((quant8 - i) & 1) {addr_read_data[quant8] = 0; quant8++; } //если байт нечётное число, то дополняем до чётного нулём чтобы записать 16-битными словами в буфер
|
if((quant8 - i) & 1) {addr_read_data[quant8] = 0; quant8++; } //если байт нечётное число, то дополняем до чётного нулём чтобы записать 16-битными словами в буфер
|
||||||
copy8_to_16(addr_read_data, read_data, (quant8 - i)/2);
|
copy8_to_16(addr_read_data, read_data, (quant8 - i)/2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -184,14 +184,14 @@ uint16_t Bl25cm1a_verify_data(uint32_t Addr, uint16_t quant8, uint16_t * verify_
|
|||||||
if(quant8 > 8)
|
if(quant8 > 8)
|
||||||
{
|
{
|
||||||
for(i = 0; i < (quant8-8); i += 8)
|
for(i = 0; i < (quant8-8); i += 8)
|
||||||
{ //в этом цикле только полные посылки по 8 байт
|
{ //в этом цикле только полные посылки по 8 байт
|
||||||
copy16_to_8(verify_data, addr_vfy_data, 4);
|
copy16_to_8(verify_data, addr_vfy_data, 4);
|
||||||
if(Bl25cm1a_verify_8_bytes(Addr+i, addr_vfy_data, 8)) return 1;
|
if(Bl25cm1a_verify_8_bytes(Addr+i, addr_vfy_data, 8)) return 1;
|
||||||
verify_data+=4;
|
verify_data+=4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(i < quant8)
|
if(i < quant8)
|
||||||
{ //тут м.б. от 1 до 8 байт
|
{ //тут м.б. от 1 до 8 байт
|
||||||
quant16 = quant16bitWords(quant8-i);
|
quant16 = quant16bitWords(quant8-i);
|
||||||
copy16_to_8(verify_data, addr_vfy_data, quant16);
|
copy16_to_8(verify_data, addr_vfy_data, quant16);
|
||||||
if(Bl25cm1a_verify_8_bytes(Addr+i, addr_vfy_data, (quant8 - i))) return 1;
|
if(Bl25cm1a_verify_8_bytes(Addr+i, addr_vfy_data, (quant8 - i))) return 1;
|
||||||
@ -208,14 +208,14 @@ void Bl25cm1a_write_1_page(uint32_t Addr, uint16_t quant8, uint16_t * write_data
|
|||||||
if(quant8 > 8)
|
if(quant8 > 8)
|
||||||
{
|
{
|
||||||
for(i = 0; i < (quant8-8); i += 8)
|
for(i = 0; i < (quant8-8); i += 8)
|
||||||
{ //в этом цикле только полные посылки по 8 байт
|
{ //в этом цикле только полные посылки по 8 байт
|
||||||
copy16_to_8(write_data, addr_write_data, 4);
|
copy16_to_8(write_data, addr_write_data, 4);
|
||||||
Bl25cm1a_write_8_bytes(Addr+i, addr_write_data, 8);
|
Bl25cm1a_write_8_bytes(Addr+i, addr_write_data, 8);
|
||||||
write_data += 4;
|
write_data += 4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(i < quant8)
|
if(i < quant8)
|
||||||
{ //тут м.б. от 1 до 8 байт
|
{ //тут м.б. от 1 до 8 байт
|
||||||
quant16 = quant16bitWords(quant8-i);
|
quant16 = quant16bitWords(quant8-i);
|
||||||
copy16_to_8(write_data, addr_write_data, quant16);
|
copy16_to_8(write_data, addr_write_data, quant16);
|
||||||
Bl25cm1a_write_8_bytes(Addr+i, addr_write_data, (quant8 - i));
|
Bl25cm1a_write_8_bytes(Addr+i, addr_write_data, (quant8 - i));
|
||||||
@ -227,16 +227,16 @@ void Bl25cm1a_write_data(uint32_t Addr_8bit, uint16_t quant_8bit, uint16_t * wri
|
|||||||
uint16_t * addr_write_data = write_data;
|
uint16_t * addr_write_data = write_data;
|
||||||
uint16_t page_quant_8bit = 0;
|
uint16_t page_quant_8bit = 0;
|
||||||
|
|
||||||
while( (Addr_8bit&0xFF)+(quant_8bit) > BL25CM1A0_PAGE) //если данные выходят за границу текущей страницы
|
while( (Addr_8bit&0xFF)+(quant_8bit) > BL25CM1A0_PAGE) //если данные выходят за границу текущей страницы
|
||||||
{
|
{
|
||||||
page_quant_8bit = BL25CM1A0_PAGE - (Addr_8bit&0xFF); //вычисляем кол-во байт данных до конца текущей страницы
|
page_quant_8bit = BL25CM1A0_PAGE - (Addr_8bit&0xFF); //вычисляем кол-во байт данных до конца текущей страницы
|
||||||
Bl25cm1a_write_1_page(Addr_8bit, page_quant_8bit, addr_write_data); //записываем эти данные на текущую страницу
|
Bl25cm1a_write_1_page(Addr_8bit, page_quant_8bit, addr_write_data); //записываем эти данные на текущую страницу
|
||||||
Addr_8bit += page_quant_8bit; //перелистываем страницу внешней памяти
|
Addr_8bit += page_quant_8bit; //перелистываем страницу внешней памяти
|
||||||
addr_write_data += page_quant_8bit/2; //шагаем на следующие незаписанные данные в буфере
|
addr_write_data += page_quant_8bit/2; //шагаем на следующие незаписанные данные в буфере
|
||||||
quant_8bit -= page_quant_8bit; //уменьшаем кол-во данных на величину которую уже записали
|
quant_8bit -= page_quant_8bit; //уменьшаем кол-во данных на величину которую уже записали
|
||||||
}
|
}
|
||||||
if(quant_8bit > 0)
|
if(quant_8bit > 0)
|
||||||
{
|
{
|
||||||
Bl25cm1a_write_1_page(Addr_8bit, quant_8bit, addr_write_data); //если данные для записи остались, то записываем их
|
Bl25cm1a_write_1_page(Addr_8bit, quant_8bit, addr_write_data); //если данные для записи остались, то записываем их
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user