ind или string в const char*
- Войдите на сайт для отправки комментариев
Втр, 28/05/2013 - 22:10
Создаю проект на плате ардуино уно и на интернет модуле enc28j60. Работаю с библиотекой EtherCard.
Cуществует така строка static void browseUrl (prog_char *urlbuf, const char *urlbuf_varpart, prog_char *hoststr, void(*cb)(uint8_t, uint16_t, uint16_t))
Реально она выглядит так ether.browseUrl(PSTR("/savetemp.php?temp="), "тут вставить" ,website, my_callback);
я получаю данные с датчика, числовое, двухзначное число. Мне надо его с int или string к примеру перевести в const char * что бы передать параметры серверу. Как это можно сделать?
не знаю, попробыал ваш вариант (и множество до этого, так как прочитал много топиков) и все равно вместо моего int в конечном buff результате я получаю число 7. Если мой датчик показывает от 60 до 70 (ударов в минуту(пульсометр)) то показывает число 7, если от 70 до 80, то число 77, а если еще больше, то 777.
Значит проблема в вашем коде.
как оказалось действительно ошибка в коде, но как толкьо я ее исправил, появилась такая проблема, получаю данные в buff и вызываю функцию ether.packetLoop(ether.packetReceive());
после чего как мне кажется скетч зависает, так больше нечего не выводит (нет ни успешной отправки, нечего).
вот сам код приложения
таким образом, если я помещаю вызов параметров датчика (
eHealth.initPulsioximeter();
31
PCintPort::attachInterrupt(6, readPulsioximeter, RISING);
)
в конце setup, то я получаю точные данные но не могу их отправить, так как зависает при функцие которую я указал выше (если эту функцию убрать, отправка не будет осуществлена), а если я эти две строчки поставлю вначале setup() то отправка идет хорошо, но данные которые получаю в loop уже не верные
проблему понял, у меня датчик(через плату разширения) берет показатели с тех же цифровых выходов что и ethernet модуль.
Реально ли сменить в библиотеке стандартные pin, к примеру вместо 8,11,12,13 поставить 2,3,4,5?
Зависит от того как используются эти выводы.
схема подключения
SCK - Pin 13
SO - Pin 12
SI - Pin 11
CS - Pin 08
cs с Pin 08 на pin 02 смогу сменить, так как в библиотеке были упоминания об этом, а 3 остальных даже не знаю, существует ли команда по типу #define SPI_CSK 3 такого, что бы сменить при запуске pin ?
Нет не существует, SPI хардово привязан к конкретным ногам и поменять их нельзя, можно организовать еще один программный SPI и на него повесить датчик или разграничивать пользование хардовым.