maddogmaycry 0 28 марта, 2022 Опубликовано 28 марта, 2022 · Жалоба Привет. Никак не одолею SPI. Пытаюсь отправить небольшую строку через SPI и вывести в консоль. #include <stdio.h> #include <string.h> #include "eat_modem.h" #include "eat_interface.h" #include "eat_uart.h" #include "eat_timer.h" #include "eat_periphery.h" #include "eat_clib_define.h" extern void APP_InitRegions(void); void app_main(void *data); void app_func_ext1(void *data); #pragma arm section rodata = "APP_CFG" APP_ENTRY_FLAG #pragma arm section rodata #pragma arm section rodata="APPENTRY" const EatEntry_st AppEntry = { app_main, app_func_ext1 }; #pragma arm section rodata void app_func_ext1(void *data){ EatUartConfig_st cfg = { EAT_UART_BAUD_115200, EAT_UART_DATA_BITS_8, EAT_UART_STOP_BITS_1, EAT_UART_PARITY_NONE }; eat_uart_set_debug(EAT_UART_1); eat_uart_set_at_port(EAT_UART_2); eat_uart_set_debug_config(EAT_UART_DEBUG_MODE_UART, &cfg); eat_spi_init(EAT_SPI_CLK_13M, EAT_SPI_4WIRE, EAT_SPI_BIT8, EAT_FALSE, EAT_FALSE); eat_pin_set_mode(5, EAT_PIN_MODE_GPIO); eat_pin_set_mode(6, EAT_PIN_MODE_CLK); eat_pin_set_mode(7, EAT_PIN_MODE_SPI); eat_pin_set_mode(14, EAT_PIN_MODE_SPI); } void send(char *data){ eat_trace(data); } void app_main(void *data){ EatGpioLevel_enum gpio_level; EatEvent_st event; APP_InitRegions(); // eat_gpio_setup(5,EAT_GPIO_DIR_OUTPUT, EAT_GPIO_LEVEL_LOW); // eat_timer_start(EAT_TIMER_1, 1000); // send("Hello world"); eat_sleep(100); while(EAT_TRUE){ gpio_level = eat_gpio_read(5); if(gpio_level==0){ u8 buf[128] = {0}; eat_spi_read(buf,128); eat_trace(buf); eat_sleep(100); } // eat_get_event(&event); // eat_trace("MSG id%x", event.event); // switch(event.event){ // case EAT_EVENT_TIMER:{ // eat_timer_start(event.data.timer.timer_id, 250); // eat_trace("Timer test , timer ID:%d", event.data.timer.timer_id); // } // break; // default: // break; // } } } Со стороны esp32 #include <Arduino.h> #include <SPI.h> void setup() { SPI.begin(); SPI.setFrequency(500000); Serial.begin(115200); pinMode(5,OUTPUT); digitalWrite(5,HIGH); } void loop() { // SPI.beginTransaction(SPISettings(700000, MSBFIRST, SPI_MODE1)); digitalWrite(5,LOW); int i=0; while(i<1000){ SPI.write(7); i++; } digitalWrite(5,HIGH); // SPI.endTransaction(); delay(1000); } Уже что только не пробовал. Из набора файлов для SIM800C пишут что для SPI используются пины 5,6,7,14. Пины esp32 -> sim800c D18 -> 6 (CLK) D5 -> 5 (CS) D23 -> 7 (MOSI) D19 -> 14 (MISO) Может тут есть кто подключал по SPI что то к SIM800C, что делаю не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 8 31 марта, 2022 Опубликовано 31 марта, 2022 · Жалоба >>>Может тут есть кто подключал по SPI что то к SIM800C, что делаю не так? Да, по отзывам от клиентов - прекрасно работает с SIM800C по SPI - эзернетовская ENC28J60, некоторые виды памяти и LoRa модули RFM98. На SPI есть кое какие ограничения, все есть в документации. Перечитайте повнимательнее. Или у Вас возможно старый SDK EAT. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maddogmaycry 0 1 апреля, 2022 Опубликовано 1 апреля, 2022 · Жалоба 18 hours ago, CADiLO said: >>>Может тут есть кто подключал по SPI что то к SIM800C, что делаю не так? Да, по отзывам от клиентов - прекрасно работает с SIM800C по SPI - эзернетовская ENC28J60, некоторые виды памяти и LoRa модули RFM98. На SPI есть кое какие ограничения, все есть в документации. Перечитайте повнимательнее. Или у Вас возможно старый SDK EAT. Написав сюда я только потом глянул подписи участников. Вы даже в такое время находите возможность отвечать. Удачи вам от чистого сердца! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 8 1 апреля, 2022 Опубликовано 1 апреля, 2022 · Жалоба Спасибо, будем жить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rse72 0 6 апреля, 2022 Опубликовано 6 апреля, 2022 (изменено) · Жалоба А кто у вас мастер, а кто слейв? Вы случаем не пытаетесь два мастера связать? Изменено 6 апреля, 2022 пользователем Rse72 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться