Проблема с snprintf ()

ММОНТЕРСКИЙ
Ср. 08 марта 2017 г. 12:16
Привет
Я пытаюсь перенести код из Arduino Uno в Bluepill, но у меня есть проблемы с snprintf (). Когда я собираю код, у меня есть ошибка:
Serial.write("0123456789", 10);

Стивестронг
Ср. 08 марта 2017 г. 13:00
Поиск на форуме (верхнее правое поле на странице) для "sprintf".

ММОНТЕРСКИЙ
Ср. 08 марта 2017 г. 13:16
Я знаю, что Sprintf () включен, но в этом конкретном приложении я хочу использовать более безопасный snprintf (). Вот почему я спрашиваю об этой функции.

Рик Кимбалл
Ср. 08 марта 2017 г. 15:08
пытаться:

#включать <Cstdio>

... где -нибудь в верхней части вашего кода

ММОНТЕРСКИЙ
Чт, 09 марта 2017 г., 7:55 утра
Включать <Cstdio> Просто дайте ошибку компилятора.

Я нашел решение:
ViewTopic.PHP?f = 3&t = 1241
В Stdio.H snprintf в препроцессоре, если: Serial.write((byte *)&response, npage_size[currentPage]);

Rogerclark
Чт, 09 марта 2017 г. 20:46
Интересный...


Есть отдельный поток, где мы проверяем, добавляем ли добавление. -std = gnu ++ 11. вызывает любые проблемы.

Но мы не рассматривали также добавление -std = gnu11 для c -файлов.

ММОНТЕРСКИЙ
Пт 10 марта 2017 г. 7:05
Я обнаружил, что из -за примера проекта с использованием snprintf () компиляция успешно в Arduino Dues. После прочтения Stdio.рука http: // Stackoverflow.com/Question/5580 ... -ладить И небольшое расследование, которое я нашел на платформе.TXT для должности: void setup() { // put your setup code here, to run once: uint32 * GPIOA_CRL = 0x40010800; uint32 * GPIOA_CRH = 0x40010804; uint32 * GPIOA_IDR = 0x40010808; uint32 * GPIOA_ODR = 0x4001080C; uint32 * GPIOA_BSRR = 0x40010810; uint16 * GPIOA_BRR = 0x40010814; *GPIO_CRL = 0b01000100010001000100010001000011 } void loop() { // put your main code here, to run repeatedly: *GPIO_ODR = 0b00000000000000000000000000000001 *GPIO_ODR = 0b00000000000000000000000000000000 }

Rogerclark
Пт 10 марта 2017 г. 9:13
ХОРОШО

План состоит в том, чтобы добавить флаги C и C ++

Я надеюсь обновить репо в эти выходные

Беннебой
Пт 10 марта 2017 г. 10:00 утра
Rogerclark написал: Я надеюсь обновить репо в эти выходные

Rogerclark
Пт 10 марта 2017 г., 8:41 вечера
Мне нужно будет посмотреть на список, если находятся на рассмотрении PRS.

Есть некоторые PR, которые я никогда не буду действовать, потому что они решат проблему для одного человека, но ломают вещи для всех остальных.

Я знаю, что есть PR SPI SPI @Stevstrong, но он замедляет SPI, в прошлый раз, когда я попробовал его, и скорость уменьшения обычно не падает с пользователями, даже если существует действительное исправление ошибки, которое вызывает замедление.

Но поскольку Виктор в настоящее время работает над улучшением DMA для SPU, я собирался подождать и сделать все изменения SPI одновременно.

Так что, вероятно, я буду только изменять компиляторные переключатели и изменить на использование Nanolib на выходных

Беннебой
Пт 10 марта 2017 г., 21:23
NP, мне просто было интересно, смогу ли я ожидать, что что -нибудь еще изменится.

Вы обычно обновляете запись изменения?