Цитата(SZ0 @ Jul 22 2010, 21:02)

Как я понимаю, не правильно преобразовываю. Но не могу понять, как правильно преобразовать типы. Сам массив в озу, а строки в нём ищутся из flash.
Функция strstr() работает только на нормальной памяти (RAM), но не на flash. А уж тем более не может работать, когда один аргумент во flash, а другой в RAM. Таковы уж издержки гарвардской архитектуры.
Поэтому обман этой функции с помощью переименования типов указателей у вас не пройдет. Функция не заработает, поскольку на такую ситуацию она не рассчитана.
Поэтому скопируйте лучше flash в RAM, например, с помощью функции strcpy_P(), а потом уже запускайте strstr() на полностью RAM-строках. Хотя слово "ОК" настолько коротко, что проще его завести сразу в RAM, потери будут минимальными.