Функция:
public float simpleSimilarity(String u, String v) {
String[] a = u.split(" ");
String[] b = v.split(" ");
long correct = 0;
int minLen = Math.min(a.length, b.length);
for (int i = 0; i < minLen; i++) {
String aa = a[i];
String bb = b[i];
int minWordLength = Math.min(aa.length(), bb.length());
for (int j = 0; j < minWordLength; j++) {
if (aa.charAt(j) == bb.charAt(j)) {
correct++;
}
}
}
return (float) (((double) correct) / Math.max(u.length(), v.length()));
}
Тест:
String a = "This is the first string.";
String b = "this is not 1st string!";
// for exact string comparison, use .equals
boolean exact = a.equals(b);
// For similarity check, there are libraries for this
// Here I'll try a simple example I wrote
float similarity = simple_similarity(a,b);
Я не могу комментировать программное обеспечение, но в соответствии с вашим комментарием вы хотите разрешить чтение и запись флэш-памяти.
Вывод защиты от записи (/ WP) можно использовать для предотвращения записи регистра состояния.
Пин / WP активен на низком уровне (GND). (Блокировка записи)
Вывод / WP неактивно высокий (VCC). (Разрешение записи)
Его конструкция позволяет только чтение данных.
Если вы хотите читать и записывать данные, / WP должен быть подключен к Vcc.
Вы не установили никаких параметров для структуры my_hspi
, поэтому ваш драйвер HAL не знает, что ему делать.
Посмотрите на определение структуры. Есть много комментариев, для чего используются различные элементы структуры. Для инициализации часть my_hspi.init
будет наиболее интересной. Также вам нужно от my_hspi.Instance
до желаемого канала SPI.
Пример конфигурации можно создать с помощью бесплатного программного обеспечения STM32 Cube Mx.