@@ -356,7 +356,7 @@ void DialogSFDP::on_pushButton_3_clicked()
356
356
if (QString::compare (ui->lineEdit_sr21 ->text (), " 0" , Qt::CaseInsensitive)) r2 = r2 + 2 ;
357
357
if (QString::compare (ui->lineEdit_sr20 ->text (), " 0" , Qt::CaseInsensitive)) r2 = r2 + 1 ;
358
358
359
- // Writing status registers 0,1
359
+ // Writing status registers 0,1 for Winbond
360
360
361
361
SPI_CONTROLLER_Chip_Select_Low ();
362
362
SPI_CONTROLLER_Write_One_Byte (0x06 );
@@ -383,6 +383,62 @@ void DialogSFDP::on_pushButton_3_clicked()
383
383
// Close the CH341a device
384
384
ch341a_spi_shutdown ();
385
385
386
+ // Writing status registers 0,1 for not Winbond
387
+ if (numOfRegisters > 0 )
388
+ {
389
+ stCH341 = ch341a_spi_init ();
390
+
391
+ SPI_CONTROLLER_Chip_Select_Low ();
392
+ SPI_CONTROLLER_Write_One_Byte (0x06 );
393
+ SPI_CONTROLLER_Chip_Select_High ();
394
+ usleep (1 );
395
+
396
+ SPI_CONTROLLER_Chip_Select_Low ();
397
+ SPI_CONTROLLER_Write_One_Byte (0x50 );
398
+ SPI_CONTROLLER_Chip_Select_High ();
399
+ usleep (1 );
400
+
401
+ SPI_CONTROLLER_Chip_Select_Low ();
402
+ SPI_CONTROLLER_Write_One_Byte (0x01 );
403
+ SPI_CONTROLLER_Write_One_Byte (r0);
404
+ SPI_CONTROLLER_Chip_Select_High ();
405
+ usleep (1 );
406
+
407
+ SPI_CONTROLLER_Chip_Select_Low ();
408
+ SPI_CONTROLLER_Write_One_Byte (0x04 );
409
+ SPI_CONTROLLER_Chip_Select_High ();
410
+ usleep (1 );
411
+
412
+ // Close the CH341a device
413
+ ch341a_spi_shutdown ();
414
+ usleep (1 );
415
+
416
+ stCH341 = ch341a_spi_init ();
417
+ SPI_CONTROLLER_Chip_Select_Low ();
418
+ SPI_CONTROLLER_Write_One_Byte (0x06 );
419
+ SPI_CONTROLLER_Chip_Select_High ();
420
+ usleep (1 );
421
+
422
+ SPI_CONTROLLER_Chip_Select_Low ();
423
+ SPI_CONTROLLER_Write_One_Byte (0x50 );
424
+ SPI_CONTROLLER_Chip_Select_High ();
425
+ usleep (1 );
426
+
427
+ SPI_CONTROLLER_Chip_Select_Low ();
428
+ SPI_CONTROLLER_Write_One_Byte (0x31 );
429
+ SPI_CONTROLLER_Write_One_Byte (r1);
430
+ SPI_CONTROLLER_Chip_Select_High ();
431
+ usleep (1 );
432
+
433
+ SPI_CONTROLLER_Chip_Select_Low ();
434
+ SPI_CONTROLLER_Write_One_Byte (0x04 );
435
+ SPI_CONTROLLER_Chip_Select_High ();
436
+ usleep (1 );
437
+
438
+ // Close the CH341a device
439
+ ch341a_spi_shutdown ();
440
+ }
441
+
386
442
// Writing status register 2
387
443
if (numOfRegisters > 1 )
388
444
{
0 commit comments