#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "driver/ledc.h"
#define MOTOR_A 7
#define MOTOR_A_INV 8
#define MOTOR_B 9
#define MOTOR_B_INV 10
#define TCRT_0 0
#define TCRT_1 1
#define TCRT_2 2
#define TCRT_3 3
#define TCRT_4 4
#define TCRT_5 5
#define TCRT_6 6
#define START_BTN 20
void app_main() {
printf("initialization start\n");
ledc_timer_config_t ledc_timer = {
.speed_mode = LEDC_LOW_SPEED_MODE,
.duty_resolution = LEDC_TIMER_10_BIT,
.timer_num = LEDC_TIMER_0,
.freq_hz = 50000,
.clk_cfg = LEDC_APB_CLK,
.deconfigure = 0
};
ledc_channel_config_t ledc_channel_0 = {
.gpio_num = MOTOR_A,
.speed_mode = ledc_timer.speed_mode,
.channel = LEDC_CHANNEL_0,
.intr_type = LEDC_INTR_DISABLE,
.timer_sel = ledc_timer.timer_num,
.duty = 0,
.hpoint = 0
};
ledc_channel_config_t ledc_channel_1 = {
.gpio_num = MOTOR_A_INV,
.speed_mode = ledc_timer.speed_mode,
.channel = LEDC_CHANNEL_1,
.intr_type = LEDC_INTR_DISABLE,
.timer_sel = ledc_timer.timer_num,
.duty = 0,
.hpoint = 0
};
printf("initialization ledc...\n");
if ((ledc_timer_config(&ledc_timer) == ESP_OK) && (ledc_channel_config(&ledc_channel_0) == ESP_OK))
{
printf("initialisation ledc success\n");
}
else {
printf("initialisation ledc falled\n");
}
printf("initialisation gpio\n");
if (
(gpio_set_direction(TCRT_0, GPIO_MODE_INPUT) == ESP_OK) &&
(gpio_set_direction(TCRT_1, GPIO_MODE_INPUT) == ESP_OK) &&
(gpio_set_direction(TCRT_2, GPIO_MODE_INPUT) == ESP_OK) &&
(gpio_set_direction(TCRT_3, GPIO_MODE_INPUT) == ESP_OK) &&
(gpio_set_direction(TCRT_4, GPIO_MODE_INPUT) == ESP_OK) &&
(gpio_set_direction(TCRT_5, GPIO_MODE_INPUT) == ESP_OK) &&
(gpio_set_direction(TCRT_6, GPIO_MODE_INPUT) == ESP_OK) &&
(gpio_set_direction(START_BTN,GPIO_MODE_INPUT) == ESP_OK)
) {
printf("initialisation gpio success\n");
}
else{
printf("initialisation gpio falled\n");
}
}