Рефакторинг, комментарии
This commit is contained in:
parent
a60fcc5f52
commit
9e5a6e2abe
@ -7,6 +7,12 @@
|
||||
|
||||
#include "f28x_project.h"
|
||||
|
||||
uint16_t quant16bitWords(uint16_t bytes)
|
||||
{
|
||||
if((bytes) & 1) return (bytes + 1)/2; //если осталось нечётное число байт, то чтобы рассчитать кол-во 16-битных слов надо +1
|
||||
else return (bytes)/2;
|
||||
}
|
||||
|
||||
void copy16_to_8(uint16_t *Arr16, uint16_t *Arr8, uint16_t N)
|
||||
{
|
||||
uint16_t j=0;
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
|
||||
void copy16_to_8(uint16_t *Arr16, uint16_t *Arr8, uint16_t N);
|
||||
void copy8_to_16(uint16_t *Arr8, uint16_t *Arr16, uint16_t N);
|
||||
|
||||
uint16_t quant16bitWords(uint16_t bytes);
|
||||
|
||||
|
||||
#endif /* SRC_EXTERNALEEPROM_ARR_H_ */
|
||||
|
||||
@ -153,24 +153,21 @@ uint16_t Bl25cm1a_verify_8_bytes(uint32_t Addr, uint16_t * verify_data, uint16_
|
||||
void Bl25cm1a_read_data(uint32_t Addr, uint16_t quant8, uint16_t * read_data)
|
||||
{
|
||||
uint32_t i=0;
|
||||
uint32_t Addressfull8bit;
|
||||
uint16_t addr_read_data[8];
|
||||
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
Addressfull8bit = Addr+i;
|
||||
Bl25cm1a_read_8_bytes(Addressfull8bit, addr_read_data, 8);
|
||||
{ //в этом цикле только полные посылки по 8 байт
|
||||
Bl25cm1a_read_8_bytes(Addr+i, addr_read_data, 8);
|
||||
copy8_to_16(addr_read_data, read_data, 4);
|
||||
read_data+=4;
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
Addressfull8bit = Addr+i;
|
||||
Bl25cm1a_read_8_bytes(Addressfull8bit, addr_read_data, (quant8 - i));
|
||||
if((quant8 - i) & 1) {addr_read_data[quant8] = 0; quant8++; }
|
||||
{ //тут м.б. от 1 до 8 байт
|
||||
Bl25cm1a_read_8_bytes(Addr+i, addr_read_data, (quant8 - i)); //читаем оставшиеся байты
|
||||
if((quant8 - i) & 1) {addr_read_data[quant8] = 0; quant8++; } //если байт нечётное число, то дополняем до чётного нулём чтобы записать 16-битными словами в буфер
|
||||
copy8_to_16(addr_read_data, read_data, (quant8 - i)/2);
|
||||
}
|
||||
}
|
||||
@ -186,16 +183,15 @@ uint16_t Bl25cm1a_verify_data(uint32_t Addr, uint16_t quant8, uint16_t * verify_
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
{ //в этом цикле только полные посылки по 8 байт
|
||||
copy16_to_8(verify_data, addr_vfy_data, 4);
|
||||
if(Bl25cm1a_verify_8_bytes(Addr+i, addr_vfy_data, 8)) return 1;
|
||||
verify_data+=4;
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
if((quant8 - i) & 1) quant16 = (quant8 + 1 - i)/2;
|
||||
else quant16 = (quant8 - i)/2;
|
||||
{ //тут м.б. от 1 до 8 байт
|
||||
quant16 = quant16bitWords(quant8-i);
|
||||
copy16_to_8(verify_data, addr_vfy_data, quant16);
|
||||
if(Bl25cm1a_verify_8_bytes(Addr+i, addr_vfy_data, (quant8 - i))) return 1;
|
||||
}
|
||||
@ -206,26 +202,22 @@ void Bl25cm1a_write_1_page(uint32_t Addr, uint16_t quant8, uint16_t * write_data
|
||||
{
|
||||
uint32_t i=0;
|
||||
uint16_t addr_write_data[8];
|
||||
uint32_t Addressfull8bit;
|
||||
uint16_t quant16;
|
||||
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
{ //в этом цикле только полные посылки по 8 байт
|
||||
copy16_to_8(write_data, addr_write_data, 4);
|
||||
Addressfull8bit = Addr+i;
|
||||
Bl25cm1a_write_8_bytes(Addressfull8bit, addr_write_data, 8);
|
||||
Bl25cm1a_write_8_bytes(Addr+i, addr_write_data, 8);
|
||||
write_data += 4;
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
if((quant8 - i) & 1) quant16 = (quant8 + 1 - i)/2;
|
||||
else quant16 = (quant8 - i)/2;
|
||||
{ //тут м.б. от 1 до 8 байт
|
||||
quant16 = quant16bitWords(quant8-i);
|
||||
copy16_to_8(write_data, addr_write_data, quant16);
|
||||
Addressfull8bit = Addr+i;
|
||||
Bl25cm1a_write_8_bytes(Addressfull8bit, addr_write_data, (quant8 - i));
|
||||
Bl25cm1a_write_8_bytes(Addr+i, addr_write_data, (quant8 - i));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -197,24 +197,21 @@ void GD25Q16ETIGR_write_8_bytes(uint32_t Addr, uint16_t * write_data, uint16_t n
|
||||
void GD25Q16ETIGR_read_data(uint32_t Addr, uint16_t quant8, uint16_t * read_data)
|
||||
{
|
||||
uint32_t i=0;
|
||||
uint32_t Addressfull8bit;
|
||||
uint16_t addr_read_data[8];
|
||||
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
Addressfull8bit = Addr+i;
|
||||
GD25Q16ETIGR_read_8_bytes(Addressfull8bit, addr_read_data, 8);
|
||||
{//â ýòîì öèêëå òîëüêî ïîëíûå ïîñûëêè ïî 8 áàéò
|
||||
GD25Q16ETIGR_read_8_bytes(Addr+i, addr_read_data, 8);
|
||||
copy8_to_16(addr_read_data, read_data, 4);
|
||||
read_data+=4;
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
Addressfull8bit = Addr+i;
|
||||
GD25Q16ETIGR_read_8_bytes(Addressfull8bit, addr_read_data, (quant8 - i));
|
||||
if((quant8 - i) & 1) {addr_read_data[quant8] = 0; quant8++; }
|
||||
{//òóò ì.á. îò 1 äî 8 áàéò
|
||||
GD25Q16ETIGR_read_8_bytes(Addr+i, addr_read_data, (quant8 - i));
|
||||
if((quant8 - i) & 1) {addr_read_data[quant8] = 0; quant8++; }//åñëè áàéò íå÷¸òíîå ÷èñëî, òî äîïîëíÿåì äî ÷¸òíîãî íóë¸ì
|
||||
copy8_to_16(addr_read_data, read_data, (quant8 - i)/2);
|
||||
}
|
||||
}
|
||||
@ -229,16 +226,15 @@ uint16_t GD25Q16ETIGR_verify_data(uint32_t Addr, uint16_t quant8, uint16_t * ver
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
{//â ýòîì öèêëå òîëüêî ïîëíûå ïîñûëêè ïî 8 áàéò
|
||||
copy16_to_8(verify_data, addr_vfy_data, 4);
|
||||
if(GD25Q16ETIGR_verify_8_bytes(Addr+i, addr_vfy_data, 8)) return 1;
|
||||
verify_data+=4;
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
if((quant8 - i) & 1) quant16 = (quant8 + 1 - i)/2;
|
||||
else quant16 = (quant8 - i)/2;
|
||||
{//òóò ì.á. îò 1 äî 8 áàéò
|
||||
quant16 = quant16bitWords(quant8-i);
|
||||
copy16_to_8(verify_data, addr_vfy_data, quant16);
|
||||
if(GD25Q16ETIGR_verify_8_bytes(Addr+i, addr_vfy_data, (quant8 - i))) return 1;
|
||||
}
|
||||
@ -249,26 +245,22 @@ void GD25Q16ETIGR_write_1_page(uint32_t Addr, uint16_t quant8, uint16_t * write_
|
||||
{
|
||||
uint32_t i=0;
|
||||
uint16_t addr_write_data[8];
|
||||
uint32_t Addressfull8bit;
|
||||
uint16_t quant16;
|
||||
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
{ //â ýòîì öèêëå òîëüêî ïîëíûå ïîñûëêè ïî 8 áàéò
|
||||
copy16_to_8(write_data, addr_write_data, 4);
|
||||
Addressfull8bit = Addr+i;
|
||||
GD25Q16ETIGR_write_8_bytes(Addressfull8bit, addr_write_data, 8);
|
||||
GD25Q16ETIGR_write_8_bytes(Addr+i, addr_write_data, 8);
|
||||
write_data += 4;
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
if((quant8 - i) & 1) quant16 = (quant8 + 1 - i)/2;
|
||||
else quant16 = (quant8 - i)/2;
|
||||
{//òóò ì.á. îò 1 äî 8 áàéò
|
||||
quant16 = quant16bitWords(quant8-i);
|
||||
copy16_to_8(write_data, addr_write_data, quant16);
|
||||
Addressfull8bit = Addr+i;
|
||||
GD25Q16ETIGR_write_8_bytes(Addressfull8bit, addr_write_data, (quant8 - i));
|
||||
GD25Q16ETIGR_write_8_bytes(Addr+i, addr_write_data, (quant8 - i));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -38,29 +38,24 @@ uint16_t ZD24C02A_verify_16(uint16_t Addr, uint16_t * Array, uint16_t quant)
|
||||
|
||||
uint16_t ZD24C02A_write(uint32_t Addr, uint16_t quant8, uint16_t * write_data)
|
||||
{
|
||||
|
||||
uint32_t i=0;
|
||||
uint16_t addr_write_data[8];
|
||||
uint32_t Addressfull8bit;
|
||||
uint16_t quant16;
|
||||
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
{//â ýòîì öèêëå òîëüêî ïîëíûå ïîñûëêè ïî 8 áàéò
|
||||
copy16_to_8(write_data, addr_write_data, 4);
|
||||
Addressfull8bit = Addr+i;
|
||||
if( ZD24C02A_write_8(Addressfull8bit, addr_write_data, 8)) return 1;
|
||||
if( ZD24C02A_write_8(Addr+i, addr_write_data, 8)) return 1;
|
||||
write_data += 4;
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
if((quant8 - i) & 1) quant16 = (quant8 + 1 - i)/2;
|
||||
else quant16 = (quant8 - i)/2;
|
||||
{//òóò ì.á. îò 1 äî 8 áàéò
|
||||
quant16 = quant16bitWords(quant8-i);
|
||||
copy16_to_8(write_data, addr_write_data, quant16);
|
||||
Addressfull8bit = Addr+2*i;
|
||||
if( ZD24C02A_write_8(Addressfull8bit, addr_write_data, (quant8 - i))) return 1;
|
||||
if( ZD24C02A_write_8(Addr+i, addr_write_data, (quant8 - i))) return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -68,24 +63,21 @@ uint16_t ZD24C02A_write(uint32_t Addr, uint16_t quant8, uint16_t * write_data)
|
||||
uint16_t ZD24C02A_read(uint32_t Addr, uint16_t quant8, uint16_t * read_data)
|
||||
{
|
||||
uint32_t i=0;
|
||||
uint32_t Addressfull8bit;
|
||||
uint16_t addr_read_data[8];
|
||||
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
Addressfull8bit = Addr+i;
|
||||
if( ZD24C02A_read_8(Addressfull8bit, addr_read_data, 8)) return 1;
|
||||
{//â ýòîì öèêëå òîëüêî ïîëíûå ïîñûëêè ïî 8 áàéò
|
||||
if( ZD24C02A_read_8(Addr+i, addr_read_data, 8)) return 1;
|
||||
copy8_to_16(addr_read_data, read_data, 4);
|
||||
read_data+=4;
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
Addressfull8bit = Addr+i;
|
||||
if( ZD24C02A_read_8(Addressfull8bit, addr_read_data, (quant8 - i))) return 1;
|
||||
if((quant8 - i) & 1) {addr_read_data[quant8] = 0; quant8++; }
|
||||
{//òóò ì.á. îò 1 äî 8 áàéò
|
||||
if( ZD24C02A_read_8(Addr+i, addr_read_data, (quant8 - i))) return 1;
|
||||
if((quant8 - i) & 1) {addr_read_data[quant8] = 0; quant8++; }//åñëè áàéò íå÷¸òíîå ÷èñëî, òî äîïîëíÿåì äî ÷¸òíîãî íóë¸ì
|
||||
copy8_to_16(addr_read_data, read_data, (quant8 - i)/2);
|
||||
}
|
||||
return 0;
|
||||
@ -101,7 +93,7 @@ uint16_t ZD24C02A_verify(uint32_t Addr, uint16_t quant8, uint16_t * verify_data)
|
||||
if(quant8 > 8)
|
||||
{
|
||||
for(i = 0; i < (quant8-8); i += 8)
|
||||
{
|
||||
{//â ýòîì öèêëå òîëüêî ïîëíûå ïîñûëêè ïî 8 áàéò
|
||||
copy16_to_8(verify_data, addr_vfy_data, 4);
|
||||
Err_read = ZD24C02A_verify_16(Addr+i, addr_vfy_data, 8);
|
||||
if(Err_read) return Err_read;
|
||||
@ -109,9 +101,8 @@ uint16_t ZD24C02A_verify(uint32_t Addr, uint16_t quant8, uint16_t * verify_data)
|
||||
}
|
||||
}
|
||||
if(i < quant8)
|
||||
{
|
||||
if((quant8 - i) & 1) quant16 = (quant8 + 1 - i)/2;
|
||||
else quant16 = (quant8 - i)/2;
|
||||
{//òóò ì.á. îò 1 äî 8 áàéò
|
||||
quant16 = quant16bitWords(quant8-i);
|
||||
copy16_to_8(verify_data, addr_vfy_data, quant16);
|
||||
Err_read = ZD24C02A_verify_16(Addr+i, addr_vfy_data, (quant8 - i));
|
||||
if(Err_read) return Err_read;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user