скорости пардон чего?)если что у меня кварц на 16 МГц и в Configе стоит период Тика 1000 Гц
я заранее извиняюсь я не профи, а любитель)
как я могу перенести ШИМ на другой таймер если использую аппаратный ШИМ с помощью Timer1...а аппаратный Timer0 для ШИМ мне так и не удалось запустить...
я тоже сразу подумал что этот таймер используется для тиков ОС....но он мне нужен....получается нужно создавать программный...а каким образом???понятия не имею....если есть у кого возможность скиньте пожалуйста конкретный пример полного кода с созданиями всех тасков который генерирует ШИМ на определенной ноге МК с периодом 20 мс и высоким уровнем промежутком от 600мкс до 2400мкс.....буду оооочень благодарен....мне так проще в коде разобраться будет)
вот код самой программы а потом за ним конфигурационный файл.....вот это то что я пока что пробовал)
#include "FreeRTOS.h"
#include "task.h"
#include <avr/io.h>
///////////////////////////////////////////////////////////////////////////////////////
void vServo( void *pvParameters )
{
for (;;)
{
   		OCR1A=180;											
		OCR1B=180;											
	 vTaskDelay( 5000 / portTICK_RATE_MS);		
		OCR1A=262;											
		OCR1B=262;											
	 vTaskDelay( 5000 / portTICK_RATE_MS);
		OCR1A=375;											
		OCR1B=375;											
	 vTaskDelay( 5000 / portTICK_RATE_MS);		
		OCR1A=487;											
		OCR1B=487;											
	 vTaskDelay( 5000 / portTICK_RATE_MS);
		OCR1A=570;											
		OCR1B=570;											 
	 vTaskDelay( 5000 / portTICK_RATE_MS);
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
int main( void )
{
TCCR1A|=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM11);		 
TCCR1B|=(1<<WGM13)|(1<<WGM12)|(1<<CS11)|(1<<CS10);	
ICR1=4999;													
DDRD = 0b00110000;									
 xTaskCreate( vServo, 
             (signed char * ) "Servo", 
             configMINIMAL_STACK_SIZE, 
             NULL, 
             1, 
             NULL );
 vTaskStartScheduler();
 return 0;
}
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
#include <avr/io.h>
/*-----------------------------------------------------------
 * Application specific definitions.
 *
 * These definitions should be adjusted for your particular hardware and
 * application requirements.
 *
 * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
 * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. 
 *
 * See 
http://www.freertos.org/a00110.html.
 *----------------------------------------------------------*/
#define configUSE_PREEMPTION		1
#define configUSE_IDLE_HOOK			0
#define configUSE_TICK_HOOK			0
#define configCPU_CLOCK_HZ			( ( unsigned long ) 16000000 )
#define configTICK_RATE_HZ			( ( portTickType ) 1000 )
#define configMAX_PRIORITIES		( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE	( ( unsigned short ) 500 )
#define configTOTAL_HEAP_SIZE		( (size_t ) ( 1500 ) )
#define configMAX_TASK_NAME_LEN		( 10 )
#define configUSE_TRACE_FACILITY	     0
#define configUSE_16_BIT_TICKS		1
#define configIDLE_SHOULD_YIELD		1
#define configQUEUE_REGISTRY_SIZE	1
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 		1
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_vTaskPrioritySet		     1
#define INCLUDE_uxTaskPriorityGet		1
#define INCLUDE_vTaskDelete				1
#define INCLUDE_vTaskCleanUpResources	     1
#define INCLUDE_vTaskSuspend			1
#define INCLUDE_vTaskDelayUntil			1
#define INCLUDE_vTaskDelay				1
#endif /* FREERTOS_CONFIG_H */