Я разработал код для ПОС, и я доволен им. Проблема заключается в том, что мои переменные попадают в оперативную память, и они почти полны.Функция C на основе указателя на const
Я попытался с const перед массивом данных, но мне не удалось выполнить более позднюю функцию на основе указателя на const array.
Может ли кто-нибудь показать мне, как определить этот указатель?
Вот что я сейчас:
#define type unsigned int8
#define memType const type
memType n_006 = 2;
type l_006[n_006]={0x03, 0xFF};
Функция:
void writeLine(type adress, type *send, int8 numS)
{
int8 i = 0;
i2c_start();
i2c_write(adress);
for(i = 0; i < numS; i++)
{
int8 toSend = send[i];
i2c_write(toSend);
}
i2c_stop();
}
И главная:
writeLine(a1, &l_006[0], n_006);
Главная цель состоит в том, чтобы иметь данные, сохраненные в ПЗУ, что я догадка может быть пожертвована со стороны const, но я действительно не смог сделать это правильно.
Спасибо заранее, Крис
Failed как? Ошибка компилятора? Ошибка выполнения? Быть конкретной. – user694733
Почему вы используете '# define' вместо' typedef' –
Некоторые компиляторы PIC обязывают 'const' передавать данные неконсолину с помощью таких функций, как' memcpy() '.Не удалось отправить код и описать, как он сработал. – chux