Скажите, а каков диапазон и шаг частоты работы I2C ?
И еще порция приходов по UDP.
Код:
Лог:
Клиент UDP слушает порт 55123, а в программе отображается порт 58205.
Сами данные адекватны.
Есть еще одна непонятка - когда я откоменчиваю строки передачи по UDP, то прием байтов вообще не происходит. То есть при одновременных приеме/передаче пакетов, работает только передача.
И еще порция приходов по UDP.
Код:
Код:
char ClientIPMask[] = "192.168.100.255";
unsigned int ClientPort = 53333;
unsigned int localPort = 55123; // local port to listen on
byte packetBuffer[255]; //buffer to hold incoming packet
char ReplyBuffer[] = "acknowledged"; // a string to send back
byte OutBuf [10] = {0};
WiFiUDP Udp;
byte value = 0;
int packetSize = 0;
int i = 0;
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true); // <- в функции setup, после Serial.begin
WiFi.mode(WIFI_STA);//: выбрать режим WIFI_AP (точка доступа), WIFI_STA (клиент), илиr WIFI_AP_STA (оба режима одновременно).
Serial.println("BEGINING");
WiFi.begin(ssid, pass);
while ( WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
delay(3000);
}
Serial.println("Connected to wifi");
printWifiStatus();
delay (10);
Udp.begin(localPort);
delay (10);}
void loop()
{
packetSize = Udp.parsePacket();
if (packetSize)
{
Serial.print("Received packet of size "); Serial.print(packetSize); Serial.print("From ");
IPAddress remoteIp = Udp.remoteIP(); Serial.print(remoteIp); Serial.print(", port ");
Serial.println(Udp.remotePort());
int len = Udp.read(packetBuffer, 255);
Serial.print("Contents: "); Serial.print(len ); Serial.println("Bytes");
for (i = 0; i <= 3; i++) { Serial.print(packetBuffer[i]); Serial.print(" "); } Serial.println(packetBuffer[4]);
Serial.println(system_get_free_heap_size());
}
OutBuf[0] = value; OutBuf[1] = value+1; OutBuf[2] = value+2; OutBuf[3] = value+3; OutBuf[4] = value+4; OutBuf[5] = value+5;
OutBuf[6] = value+6; OutBuf[7] = value+7; OutBuf[8] = value+8; OutBuf[9] = value+9;
/* Udp.beginPacket("192.168.100.255", 53333);
Udp.write(OutBuf, 10);
Udp.endPacket(); */
value++;
delay (250);
// Serial.println(system_get_free_heap_size());
}
void printWifiStatus()
{
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
}
Лог:
Код:
Attempting to connect to SSID: TP-LINK_7D9E32
Attempting to connect to SSID: TP-LINK_7D9E32
ip:192.168.100.18,mask:255.255.255.0,gw:192.168.100.1
Connected to wifi
SSID: TP-LINK_7D9E32
IP Address: 192.168.100.18
:rn 5
Received packet of size 5From 192.168.100.29, port 58205
:rd 5, 5, 0
Contents: 5Bytes
55 56 57 58 59
34896
:rn 5
Received packet of size 5From 192.168.100.29, port 58205
:rd 5, 5, 0
Contents: 5Bytes
55 56 57 58 59
34896
:rn 5
Received packet of size 5From 192.168.100.29, port 58205
:rd 5, 5, 0
Contents: 5Bytes
55 56 57 58 59
34896
Клиент UDP слушает порт 55123, а в программе отображается порт 58205.
Сами данные адекватны.
Есть еще одна непонятка - когда я откоменчиваю строки передачи по UDP, то прием байтов вообще не происходит. То есть при одновременных приеме/передаче пакетов, работает только передача.
Последнее редактирование: