изменила форматирование. Добавила автовыбор ножек в зависимости от выбранной платы

This commit is contained in:
klassents committed 2025-03-27 13:55:05 +07:00
1 parent 78ef98a74d
commit f3df27f5fc
12 files changed
+261 -268

No files matched your search

@@ -21,43 +21,51 @@ struct pinRead {
*/
QueueHandle_t structQueue;
// set led pin
#ifdef LED_BUILTIN
uint8_t blink_pin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK)
uint8_t blink_pin = P0_0;
#else
uint8_t blink_pin = 2;
#endif
void setup() {
/**
* Create a queue.
* https://www.freertos.org/a00116.html
*/
structQueue = xQueueCreate(10, // Queue length
sizeof(struct pinRead) // Queue item size
);
structQueue = xQueueCreate(10, // Queue length
sizeof(struct pinRead) // Queue item size
);
if (structQueue != NULL) {
// Create task that consumes the queue if it was created.
xTaskCreate(TaskSerial, // Task function
"Serial", // A name just for humans
128, // This stack size can be checked & adjusted by reading the Stack Highwater
"Serial", // A name just for humans
128, // This stack size can be checked & adjusted by reading the Stack Highwater
NULL,
2, // Priority, with 3 (configMAX_PRIORITIES - 1) being the highest, and 0 being the lowest.
2, // Priority, with 3 (configMAX_PRIORITIES - 1) being the highest, and 0 being the lowest.
NULL);
// Create task that publish data in the queue if it was created.
xTaskCreate(TaskAnalogReadPin0, // Task function
"AnalogReadPin0", // Task name
128, // Stack size
"AnalogReadPin0", // Task name
128, // Stack size
NULL,
1, // Priority
1, // Priority
NULL);
// Create other task that publish data in the queue if it was created.
xTaskCreate(TaskAnalogReadPin1, // Task function
"AnalogReadPin1", // Task name
128, // Stack size
"AnalogReadPin1", // Task name
128, // Stack size
NULL,
1, // Priority
1, // Priority
NULL);
}
@@ -95,7 +103,7 @@ void TaskAnalogReadPin0(void *pvParameters)
*/
xQueueSend(structQueue, &currentPinRead, portMAX_DELAY);
// One tick delay (15ms) in between reads for stability
// One tick delay (10ms) in between reads for stability
vTaskDelay(1);
}
}
@@ -123,7 +131,7 @@ void TaskAnalogReadPin1(void *pvParameters)
*/
xQueueSend(structQueue, &currentPinRead, portMAX_DELAY);
// One tick delay (15ms) in between reads for stability
// One tick delay (10ms) in between reads for stability
vTaskDelay(1);
}
}
@@ -137,15 +145,9 @@ void TaskSerial(void * pvParameters) {
// Init Arduino serial
Serial.begin(9600);
// Wait for serial port to connect. Needed for native USB, on LEONARDO, MICRO, YUN, and other 32u4 based boards.
while (!Serial) {
vTaskDelay(1);
}
for (;;)
{
struct pinRead currentPinRead;
/**
@@ -169,13 +171,13 @@ void TaskBlink(void *pvParameters)
{
(void) pvParameters;
pinMode(LED_BUILTIN, OUTPUT);
pinMode(blink_pin, OUTPUT);
for (;;)
{
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(blink_pin, HIGH);
vTaskDelay( 250 / portTICK_PERIOD_MS );
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(blink_pin, LOW);
vTaskDelay( 250 / portTICK_PERIOD_MS );
}
}