Перейти к содержанию
    

FATFS и SD карта на STM32H743

11 минут назад, Сергей Борщ сказал:

То есть напишите правильно. Или покажите код.

2 минуты назад, smk сказал:
char buffer[512];
char w_buffer[512];
char *wbl = &w_buffer[0];
char *bl = &buffer[0];

 

партизаны не сдаются. Даже под пытками......  :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, smk сказал:

ну поправьте

Править что?  Где объявление и вызов функции?

А то, что вы написали, можно записать так:

char buffer[512];
char w_buffer[512];
char *wbl = w_buffer;
char *bl = buffer;

Смысл тот же, но короче.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/3/2023 at 5:41 PM, smk said:
HAL_SD_WriteBlocks(&hsd1, &wbl, 0xA, 1, 100);

 

Вам же @Сергей Борщ уже разжевал все про указатели.

А здесь, что вы хотите передать в функцию ?

Адрес массива или адрес указателя на массив ?

Как объявлена функция HAL_SD_WriteBlocks ?

Какие аргументы она принимает ?

On 6/3/2023 at 12:02 PM, smk said:

Как в кейле передать в функцию указатель на массив чтоб предупреждения не давало типа (114): warning: incompatible pointer types passing 'char **' to parameter of type 'uint8_t *' (aka 'unsigned char *') [-Wincompatible-pointer-types] ? 

Вы пытаетесь передать указатель на указатель в то время, когда функция ожидает именно указатель.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, smk сказал:

например

Читайте по губам:

4 часа назад, Сергей Борщ сказал:

Где объявление и вызов функции?

 

3 часа назад, smk сказал:
HAL_SD_WriteBlocks(&hsd1, &wbl, 0xA, 1, 100);

Какая цепочка умозаключений привела вас к необходимости писать здесь "&wbl" вместо "wbl"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, smk сказал:
HAL_SD_WriteBlocks(&hsd1, &wbl, 0xA, 1, 100);

например

Ещё один квант информации удалось гестапо выжать из нашего стойкого героя. Держись герой!  :secret: Болтун - находка для шпиона!  :biggrin::biggrin::biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 часов назад, smk сказал:
HAL_SD_WriteBlocks(&hsd1, &wbl, 0xA, 1, 100);

например

 

Рекомендую читать вдумчиво книгу Стивен Прата "Язык программирования C. Лекции и упражнения" всё разжевано, дальше некуда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, dimka76 сказал:

А здесь, что вы хотите передать в функцию ?

Наверно адреса самих указателей. Нафига это надо - непонятно, но факт, может это не указатели на массивы, а переменные))

У писали б тогда, как раньше - HAL_SD_WriteBlocks(&hsd1[0], &wbl[0], 0xA, 1, 100); - зачем изменять традициям...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...