smk 0 3 июня, 2023 Опубликовано 3 июня, 2023 · Жалоба char buffer[512]; char w_buffer[512]; char *wbl = &w_buffer[0]; char *bl = &buffer[0]; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 3 июня, 2023 Опубликовано 3 июня, 2023 · Жалоба 11 минут назад, Сергей Борщ сказал: То есть напишите правильно. Или покажите код. 2 минуты назад, smk сказал: char buffer[512]; char w_buffer[512]; char *wbl = &w_buffer[0]; char *bl = &buffer[0]; партизаны не сдаются. Даже под пытками...... 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 3 июня, 2023 Опубликовано 3 июня, 2023 · Жалоба ну поправьте Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 3 июня, 2023 Опубликовано 3 июня, 2023 · Жалоба 2 часа назад, smk сказал: ну поправьте Править что? Где объявление и вызов функции? А то, что вы написали, можно записать так: char buffer[512]; char w_buffer[512]; char *wbl = w_buffer; char *bl = buffer; Смысл тот же, но короче. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 3 июня, 2023 Опубликовано 3 июня, 2023 · Жалоба HAL_SD_WriteBlocks(&hsd1, &wbl, 0xA, 1, 100); например Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 3 июня, 2023 Опубликовано 3 июня, 2023 · Жалоба 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] ? Вы пытаетесь передать указатель на указатель в то время, когда функция ожидает именно указатель. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 3 июня, 2023 Опубликовано 3 июня, 2023 · Жалоба 3 часа назад, smk сказал: например Читайте по губам: 4 часа назад, Сергей Борщ сказал: Где объявление и вызов функции? 3 часа назад, smk сказал: HAL_SD_WriteBlocks(&hsd1, &wbl, 0xA, 1, 100); Какая цепочка умозаключений привела вас к необходимости писать здесь "&wbl" вместо "wbl"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 3 июня, 2023 Опубликовано 3 июня, 2023 · Жалоба 3 часа назад, smk сказал: HAL_SD_WriteBlocks(&hsd1, &wbl, 0xA, 1, 100); например Ещё один квант информации удалось гестапо выжать из нашего стойкого героя. Держись герой! Болтун - находка для шпиона! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 87 4 июня, 2023 Опубликовано 4 июня, 2023 · Жалоба 9 часов назад, smk сказал: HAL_SD_WriteBlocks(&hsd1, &wbl, 0xA, 1, 100); например Рекомендую читать вдумчиво книгу Стивен Прата "Язык программирования C. Лекции и упражнения" всё разжевано, дальше некуда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 4 июня, 2023 Опубликовано 4 июня, 2023 (изменено) · Жалоба 13 часов назад, dimka76 сказал: А здесь, что вы хотите передать в функцию ? Наверно адреса самих указателей. Нафига это надо - непонятно, но факт, может это не указатели на массивы, а переменные)) У писали б тогда, как раньше - HAL_SD_WriteBlocks(&hsd1[0], &wbl[0], 0xA, 1, 100); - зачем изменять традициям... Изменено 4 июня, 2023 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться