Zouk199
Вт 25 апреля 2017 г. 9:48 утра
Беннебой
Ср 26 апреля 2017 г. 10:48
Я думаю, что лучший подход - попробовать самостоятельно и попросить конкретную помощь по вопросам, которые возникают.
Zouk199
Ср. 3 мая 2017 г. 3:28 утра
Привет, мистер Бен
Я пытался https: // github.com/jchristensen/thermocouple
может составить
n загрузка
но по какой -то причине не бежит.
Можете ли вы, пожалуйста, помогите ##
Я пытался https: // github.com/jchristensen/thermocouple
может составить
n загрузка
но по какой -то причине не бежит.
Можете ли вы, пожалуйста, помогите ##
Рива
Ср. 3 мая 2017 г., 7:00 утра
Как у вас есть устройство Max7765, подключенное к вашему F401 и какой F401 вы используете?
Zouk199
Пт, 5 мая 2017 г., 3:45
У меня есть доска Max6675 от eBay, и я использую F103RB.Оригинальная библиотека Arduino прикреплена @@
Рива
Пт 5 мая 2017 г. 7:28 утра
Zouk199 написал:У меня есть доска Max6675 от eBay, и я использую F103RB.Оригинальная библиотека Arduino прикреплена @@
Zouk199
Пт 5 мая 2017 г. 7:41
Спасибо Риве за то, что попробовали библиотеку D
Я подключаю SPI SCK к контакту D13/PA5
SPI CS до D10/PB6
SPI Miso to D12/PA6
Я подключаю SPI SCK к контакту D13/PA5
SPI CS до D10/PB6
SPI Miso to D12/PA6
Эдогальдо
Пт 5 мая 2017 г. 9:03 утра
Zouk199 написал:У меня есть доска Max6675 от eBay, и я использую F103RB.Оригинальная библиотека Arduino прикреплена @@
Рива
Пт 5 мая 2017 г. 9:26 утра
Мисо/SCK, кажется, находится на правых булавках, SS определяется пользователем, хотя файл варианта F103R помещает его на PA4.
static const uint8_t SS = BOARD_SPI1_NSS_PIN;
static const uint8_t SS1 = BOARD_SPI2_NSS_PIN;
static const uint8_t MOSI = BOARD_SPI1_MOSI_PIN;
static const uint8_t MISO = BOARD_SPI1_MISO_PIN;
static const uint8_t SCK = BOARD_SPI1_SCK_PIN;
#define BOARD_SPI1_NSS_PIN PA4
#define BOARD_SPI1_SCK_PIN PA5
#define BOARD_SPI1_MISO_PIN PA6
#define BOARD_SPI1_MOSI_PIN PA7
AG123
Пт 5 мая 2017 г. 10:24
Привет Zouk199,
Я думаю, что Riva прав, проверьте назначения PIN -код, обратите внимание, что выбор другой платы может привести к различным назначениям PIN -кода в плате.C Arate Mass, вам также может потребоваться пересекать схему и макет платы. У меня часто открываются несколько изображений/файлов, чтобы я мог быть уверен, что я выбрал правильные булавки. В STM32 IT GPIOS обычно ссылается на его Paxx .. PNXX PINS. Но доски.c Используйте индекс в массив, чтобы выбрать PIN -код и может привести к тому, что вы, как вы можете ожидать, Paxx, но это буквально PNXX что -то еще.
Другое дело Max6675.PDF, по -видимому, указывает максимальную частоту тактовой частоты 4.3 МГц
https: // таблицы данных.Максимунтегрирован.ком/ ... AX6675.PDF
Коды, кажется, нацелены на часы SPI 1 МГц
https: // github.com/jchristensen/thermoc ... лежа.CPP#L35
Я думаю, что Riva прав, проверьте назначения PIN -код, обратите внимание, что выбор другой платы может привести к различным назначениям PIN -кода в плате.C Arate Mass, вам также может потребоваться пересекать схему и макет платы. У меня часто открываются несколько изображений/файлов, чтобы я мог быть уверен, что я выбрал правильные булавки. В STM32 IT GPIOS обычно ссылается на его Paxx .. PNXX PINS. Но доски.c Используйте индекс в массив, чтобы выбрать PIN -код и может привести к тому, что вы, как вы можете ожидать, Paxx, но это буквально PNXX что -то еще.
Другое дело Max6675.PDF, по -видимому, указывает максимальную частоту тактовой частоты 4.3 МГц
https: // таблицы данных.Максимунтегрирован.ком/ ... AX6675.PDF
Коды, кажется, нацелены на часы SPI 1 МГц
https: // github.com/jchristensen/thermoc ... лежа.CPP#L35
SPI.setClockDivider(SPI_CLOCK_DIV16); //Set SPI clock freq to 1MHz
Zouk199
Пн, 8 мая 2017 г. 1:36
Привет, Рива
Я пытался // эти 3 моси/sck/miso и попытаться совершить и бежать.Все еще не повезло с одним примером TC
Я изменил CHG #define cstc1 10 на #define cstc1 pb6.
кажется, что рутина термопары не работает.
Если я положил // на // Thermocouple TC1 = ThermoCouple (CSTC1); // экземпляры объекта термопары, затем он работает
Coz без результата.
Кажется, наша функция Thermocouple () может быть некоторой проблемой.
Я пытался // эти 3 моси/sck/miso и попытаться совершить и бежать.Все еще не повезло с одним примером TC
Я изменил CHG #define cstc1 10 на #define cstc1 pb6.
кажется, что рутина термопары не работает.
Если я положил // на // Thermocouple TC1 = ThermoCouple (CSTC1); // экземпляры объекта термопары, затем он работает
Coz без результата.
Кажется, наша функция Thermocouple () может быть некоторой проблемой.
AG123
Пн, 8 мая 2017 г. 6:36 утра
Я бы предложил копировать и поместить термопару.CPP и термопару.H в той же папке, что и ваш эскиз. я.эн. Используйте его как источник, а не как «библиотека»
Затем в вашей копии термопары.CPP, вы можете вставить сериал.операторы print () для изучения переменных e.глин.
https: // github.com/jchristensen/thermoc ... лежа.CPP#L45
Затем в вашей копии термопары.CPP, вы можете вставить сериал.операторы print () для изучения переменных e.глин.
https: // github.com/jchristensen/thermoc ... лежа.CPP#L45
tcData = SPI.transfer(0x00) << 8;
tcData |= SPI.transfer(0x00);
Serial.println(tcData); << add print statements to check the data read
Лонгджам
Пн, 3 июля 2017 г., 16:03
#include
#define SPI1_NSS_PIN PA4 //SPI_1 Chip Select pin is PA4. You can change it to the STM32 pin you want.
boolean _first = true;
float _temps[6];
void setup() {
Serial2.begin(115200);
// Setup SPI 1
SPI.begin(); //Initialize the SPI_1 port.
SPI.setBitOrder(MSBFIRST); // Set the SPI_1 bit order
SPI.setDataMode(SPI_MODE0); //Set the SPI_2 data mode 0
SPI.setClockDivider(SPI_CLOCK_DIV64); // Slow speed (72 / 16 = 4.5 MHz SPI_1 speed)
pinMode(SPI1_NSS_PIN, OUTPUT);
}
void loop() {
float tempC, tempF;
tempC=readC();
tempF=readF();
Serial2.print("Deg C = ");
Serial2.print(tempC);
Serial2.print("\t Deg F = ");
Serial2.println(tempF);
delay(2000); //Delay 10 micro seconds.
}
float readC(){
unsigned int tcData;
float temp, avgTemp;
digitalWrite(SPI1_NSS_PIN, LOW); // manually take CSN low for SPI_1 transmission
tcData = SPI.transfer(0x00) << 8; //Send the HEX data 0x55 over SPI-1 port and store the received byte to the variable.
tcData |= SPI.transfer(0x00);
digitalWrite(SPI1_NSS_PIN, HIGH); // manually take CSN high between spi transmissions
if (tcData & 0x0004) { //open thermocouple circuit
return -1.0;
}
else {
temp = (tcData >> 3) / 4.0; //calculate deg C
if (_first) { //if first time through, fill the readings array
_first = false;
for (int i=0; i<6; i++) {
_temps[i] = temp;
}
}
for (int i=0; i<5; i++) { //shift prior readings
_temps[i] = _temps[i+1];
}
_temps[5] = temp; //put the new reading in at the top end of the array
avgTemp = 0.0; //calculate the average
for (int i=0; i<6; i++) {
avgTemp += _temps[i];
}
avgTemp /= 6.0;
return avgTemp;
}
}
float readF() {
float tempC;
tempC = readC();
if (tempC < 0.0) {
return tempC;
}
else {
return tempC * 9.0 / 5.0 + 32.0;
}
}
Стивестронг
Пн, 3 июля 2017 г. 18:05
???
ZMEMW16
Пн, 3 июля 2017 г., 20:13
Для какой -то глупости, я думаю, что узнаю части этого из библиотеки. Я обнаружил, что 2 MAX6675 библиотеки, разница, не работала, была капитализация названия библиотеки.
Даже тогда, когда впоследствии я хотел использовать его, мне пришлось попробовать оба снова 50/50 шанс
Я не помню никаких проблем, используя его на BP или MM.
Также мы вернулись в школу/колледж так рано ?
Стивен
Даже тогда, когда впоследствии я хотел использовать его, мне пришлось попробовать оба снова 50/50 шанс
Я не помню никаких проблем, используя его на BP или MM.
Также мы вернулись в школу/колледж так рано ?
Стивен
Rogerclark
Втюж 04 июля 2017 г., 21:14
Я не могу вспомнить, что я использовал, но я раньше использовал термопару с STM32.
Я думаю, что я только что использовал библиотеку из Adafruit или, возможно, Sparkfun, и она вообще не сработала без изменений.
Мне придется выкопать код и проверить именно то, что я использовал
Я думаю, что я только что использовал библиотеку из Adafruit или, возможно, Sparkfun, и она вообще не сработала без изменений.
Мне придется выкопать код и проверить именно то, что я использовал
Максиан
Вторник 07 ноября 2017 г. 19:21
Английский вариант:
Может быть, кто будет полезен мой опыт.
С библиотекой термопары для меня дисплей, оставшийся на работу 3.2 'ILI9341 8BT (библиотека автора Iwalpola).
Решил попробовать с библиотекой Adafruit Max6675, чтобы адаптировать эту библиотеку под STM32 необходимо внести изменения в MAX6675.CPP:
Русский вариант:
МОЖЕТ.
Сэблиотко -термопарура.2 'ili9341 8bt (БИБЛИОТЕКА АВТОРА ИВАЛПОЛА).
Rerhylproybowaths spiebliotekoй adafruit max6675, чtobы adaptirowatth.CPP:
Может быть, кто будет полезен мой опыт.
С библиотекой термопары для меня дисплей, оставшийся на работу 3.2 'ILI9341 8BT (библиотека автора Iwalpola).
Решил попробовать с библиотекой Adafruit Max6675, чтобы адаптировать эту библиотеку под STM32 необходимо внести изменения в MAX6675.CPP:
- #включать <util/задержка.час> -> //#включать <util/задержка.час>
- заменить все _ задержка _ ms (1); -> задержка (1);
Русский вариант:
МОЖЕТ.
Сэблиотко -термопарура.2 'ili9341 8bt (БИБЛИОТЕКА АВТОРА ИВАЛПОЛА).
Rerhylproybowaths spiebliotekoй adafruit max6675, чtobы adaptirowatth.CPP:
- #включать <util/задержка.час> -> //#включать <util/задержка.час>
- зmenithth wse _delay_ms (1); -> задержка (1);
victor_pv
Вторник 07 ноября 2017 г. 22:03
Спасибо, Максиан. Я собирался использовать эту библиотеку. Обнаружил, что внес те же изменения, но еще не проверил их. Ваш пост подтверждает, что должно быть все, что нужно.
Есть еще несколько обновленных вилок, которые используют порт HW SPI. Вы проверили любой из этих?
Есть еще несколько обновленных вилок, которые используют порт HW SPI. Вы проверили любой из этих?
Максиан
Ср. 8 ноября 2017 г. 5:17 утра
victor_pv
Нет, я не проверял, остальные мои булавки заняты.
Нет, я не проверял, остальные мои булавки заняты.