реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Управление серводвигателем под FreeRTOS, Управление серводвигателем под FreeRTOS
robototechnik
сообщение Jan 16 2013, 19:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



Всем привет!
Совсем недавно перешел на FreeRTOS до этого немного работал с С под AVR микроконтроллеры. Сейчас стоит задача подключить 3 серводвигателя к ATmega32 из под FreeRTOS. У меня имеется код который работает без ОС, но при внедрении его в ОС ничего не пашет, точнее ШИМ вроде генерируется но не по параметрам. Я подключил выход к осциллографу и на выходе если я все правильно понимаю у меня через каждую миллисекунду появляется высокий уровень....хотя я задавал период как бы в 20 мс. Короче непонятки какие то...пожалуйста, если у кого либо есть какая либо информация,мысли или наработки поделитесь плз!!!))) и к Курницу не посылать...он мне не отвечает... Если что надо выложить, коды или фотки с осцилла то говорите.
Заранее большое спасибо)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 16 2013, 19:29
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Такие вещи решаются с помощью протеусовского симулятора в течение часа.
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 16 2013, 19:31
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



всмысле?каким образом?конкретнее пожалуйста)
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jan 16 2013, 19:43
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(robototechnik @ Jan 16 2013, 21:17) *
Совсем недавно перешел на FreeRTOS до этого немного работал с С под AVR микроконтроллеры. Сейчас стоит задача подключить 3 серводвигателя к ATmega32 из под FreeRTOS.

Скорости хватит?

Цитата(robototechnik @ Jan 16 2013, 21:17) *
У меня имеется код который работает без ОС, но при внедрении его в ОС ничего не пашет, точнее ШИМ вроде генерируется но не по параметрам.


Попробуйте теперь по другому:
Вариант 1. Перенести ШИМ на другой таймер.
Вариант 2. Отключить запуск Оси.

Цитата(robototechnik @ Jan 16 2013, 21:17) *
у меня через каждую миллисекунду появляется высокий уровень....хотя я задавал период как бы в 20 мс.

Такой период наводит на мысль, что Ось использует тот же таймер что и ваш ШИМ.
Либо настройте системный таймер Оси на другой таймер, или поменяйте период системного таймера Оси (в каком-то config-е)

Цитата(robototechnik @ Jan 16 2013, 21:17) *
Если что надо выложить, коды или фотки с осцилла то говорите.

Проект выкладывайте, иначе можно долго гадать.

Цитата(_Pasha @ Jan 16 2013, 21:29) *
Такие вещи решаются с помощью протеусовского симулятора в течение часа.

Или в AVRStudio за 5 минут.
А если кто раньше с FreeRtos работал, то можно и без симуляторов по исходнику за те же минуты.
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 16 2013, 19:51
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



скорости пардон чего?)если что у меня кварц на 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 */

Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jan 16 2013, 20:05
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(robototechnik @ Jan 16 2013, 21:51) *
скорости пардон чего?)


Скорости света надо полагать...


Цитата(robototechnik @ Jan 16 2013, 21:51) *
если что у меня кварц на 16 МГц и в Configе стоит период Тика 1000 Гц


Не так уж много...



Цитата(robototechnik @ Jan 16 2013, 21:51) *
как я могу перенести ШИМ на другой таймер если использую аппаратный ШИМ с помощью Timer1...а аппаратный Timer0 для ШИМ мне так и не удалось запустить...


Перенесите Шим на T2 или перенесите системный таймер Оси на T0 и задайте другой период (1 миллисекунда не выйдет)

Цитата(robototechnik @ Jan 16 2013, 21:51) *
я тоже сразу подумал что этот таймер используется для тиков ОС


Как бы они 1мс получили на другом таймере...

Цитата(robototechnik @ Jan 16 2013, 21:51) *
....но он мне нужен....получается нужно создавать программный...а каким образом???


перенесите прерывание системного таймера на другой вектор. Ессли возможно. Или вам строго 1 мс нужна от системного таймера? Затраты на Ось при этом будут высьма немалыми.

Цитата(robototechnik @ Jan 16 2013, 21:51) *
вот код самой программы а потом за ним конфигурационный файл.....вот это то что я пока что пробовал)


Проект целиком лучше заархивируйте
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 16 2013, 20:08
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



Артём, я могу вас попросить мне разжевать все что я должен сделать пожалуйста...я не понимаю что именно не так...(
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 16 2013, 20:14
Сообщение #8


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



1. Лезете в port.c для авровского порта, находите там
Код
void SIG_OUTPUT_COMPARE1A( void ) __attribute__ ( ( signal, naked ) );

И переназначаете его на что-нить другое.

2. Не забываем про инициализацию
это находится в static void prvSetupTimerInterrupt( void )
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 16 2013, 20:18
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



окай я нашел эту строку...но как переназначить?
инициализацию чего и где вообще?)
я извиняюсь еще раз)сильно не бейте)
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jan 16 2013, 20:19
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(_Pasha @ Jan 16 2013, 22:14) *
1. Лезете в port.c для авровского порта, находите там
Код
void SIG_OUTPUT_COMPARE1A( void ) __attribute__ ( ( signal, naked ) );

И переназначаете его на что-нить другое.

2. Не забываем про инициализацию
это находится в static void prvSetupTimerInterrupt( void )

Тип того.
а 1000 Hz при том как? (проекта под авр под рукой у меня нет).
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 16 2013, 20:23
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



Артем я вас не понимаю(
что тип того?и при чем 1000Гц?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jan 16 2013, 20:27
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(robototechnik @ Jan 16 2013, 22:23) *
Артем я вас не понимаю(
что тип того?и при чем 1000Гц?


Вам какfя частота системного таймера нужна(она будет определять точность с которой выполняются задержки в частности)?
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 16 2013, 20:29
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



я точно не знаю...знаю что мне нужна неплохая точность угла поворота серводвигателя...а так же хорошее быстродействие системы для одновременного опроса сенсоров....вот)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 16 2013, 20:31
Сообщение #14


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(robototechnik @ Jan 16 2013, 23:18) *
окай я нашел эту строку...но как переназначить?
инициализацию чего и где вообще?)
я извиняюсь еще раз)сильно не бейте)

Ежели Вы уже писали под АВРки, то, надо полагать, в потрохах оных Вы уже разбираетесь? Тама три строчки в шесть рядов sm.gif Не морочьте людям голову на ночь sm.gif
Что у Вас свободно? Timer0? Отлично, на него и вешайте прерывание, даже output compare можно не использовать из любви к искусству, типа такого
Код
#include <avr/interrupt.h>
void SIG_OUTPUT_COMPARE0( void ) __attribute__ ( ( signal,naked ) );
    void SIG_OUTPUT_COMPARE0( void )
    {
        vTaskIncrementTick();
                asm volatile("reti");
    }


static void prvSetupTimerInterrupt( void ) - тут устанавливаете все что касается срабатывания таймера 0 с 1мс тиком
Я сейчас не пишу под авры, лазать по макабукам - долго. Уж будьте любезны - сами.
Если заметили, там функция целиком посвящена именно настройке таймера, и больше ничего. можно смело написать своё, как угодно криво/прямо, лишь бы у Вас пошли прерывания на OCR0 1мс, и отразить это в configTICK_RATE_HZ

ЗЫ там подправил чуток, у Вас же preemption будет?

Сообщение отредактировал _Pasha - Jan 16 2013, 20:39
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 16 2013, 20:38
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



не то что бы много писал....так попробовал но думал что хоть немного разбираюсь(
забыл уточнить мне 15 лет)так что...пардон иногда недоезжаю)
теперь более менее понятно...то есть если я перекину тики на таймер0 то таймер1 освободится и смогу рулить сервами с моим кодом?верно?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 16 2013, 20:40
Сообщение #16


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Совершенно ага!
Но я Вам дело говорю: для авров протеус - самое то, сразу все можно выставить и проверить правильность настройки периферии. Не то, что в 15 лет, а даже в 14.5 sm.gif

Сообщение отредактировал _Pasha - Jan 16 2013, 20:42
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 16 2013, 21:18
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



отлично))большое спасибо)завтра попробую если не получится, я напишу)
можно?)хах

не получается((((решил сейчас попробовать...заменил часть которую вы прислали вместо той которая стояла в порт.с....теперь такое ощущение что ОС не тикает вообще)на осциллографе на выходе просто просто одно значение ШИМ генерируется и не обновляется на другое(при чем период так и не изменился(я безнадежен(
помогите плз!)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 17 2013, 07:43
Сообщение #18


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Ну, я не проверял, мало ли, мож чего пропустил...
configCPU_CLOCK_HZ у Вас правильно выставлен?
ЗЫ ага, точно пропустил, циферку не ту поставил. Updated/
Прикрепленный файл  port.c.zip ( 4.54 килобайт ) Кол-во скачиваний: 93


Сообщение отредактировал _Pasha - Jan 17 2013, 07:45
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 17 2013, 13:20
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



теперь компилятор ругается)
не компилирует и говорит что 16 ошибок нашел...
вот что выдал:

../../../../Source/portable/GCC/ATMega323/port.c:3:16: error: too many decimal points in number
../../../../Source/portable/GCC/ATMega323/port.c:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'can'
../../../../Source/portable/GCC/ATMega323/port.c:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'even'
../../../../Source/portable/GCC/ATMega323/port.c:38: error: expected identifier or '(' before 'if'
../../../../Source/portable/GCC/ATMega323/port.c:47:55: warning: missing terminating " character
../../../../Source/portable/GCC/ATMega323/port.c:47: error: missing terminating " character
In file included from ../../../../Source/portable/GCC/ATMega323/port.c:83:
d:/programm daten/winavr/lib/gcc/../../avr/include/stdlib.h:143: error: expected declaration specifiers or '...' before 'size_t'
d:/programm daten/winavr/lib/gcc/../../avr/include/stdlib.h:144: error: expected declaration specifiers or '...' before 'size_t'
d:/programm daten/winavr/lib/gcc/../../avr/include/stdlib.h:175: error: expected declaration specifiers or '...' before 'size_t'
d:/programm daten/winavr/lib/gcc/../../avr/include/stdlib.h:175: error: expected declaration specifiers or '...' before 'size_t'
d:/programm daten/winavr/lib/gcc/../../avr/include/stdlib.h:290: error: expected ')' before '__size'
d:/programm daten/winavr/lib/gcc/../../avr/include/stdlib.h:302: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__malloc_margin'
d:/programm daten/winavr/lib/gcc/../../avr/include/stdlib.h:319: error: expected ')' before '__nele'
d:/programm daten/winavr/lib/gcc/../../avr/include/stdlib.h:338: error: expected declaration specifiers or '...' before 'size_t'
In file included from D:\Install\FreeRTOSV7.3.0\FreeRTOS\Projects\SUMO\FreeRTOSmain\..\..\..\Source\include/FreeRTOS.h:91,
from ../../../../Source/portable/GCC/ATMega323/port.c:86:
D:\Install\FreeRTOSV7.3.0\FreeRTOS\Projects\SUMO\FreeRTOSmain\..\..\..\Source\include/portable.h:370: error: expected ')' before 'xSize'
D:\Install\FreeRTOSV7.3.0\FreeRTOS\Projects\SUMO\FreeRTOSmain\..\..\..\Source\include/portable.h:373: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'xPortGetFreeHeapSize'
../../../../Source/portable/GCC/ATMega323/port.c: In function 'prvSetupTimerInterrupt':
../../../../Source/portable/GCC/ATMega323/port.c:410: warning: unused variable 'temp'
make: *** [port.o] Error 1
Build failed with 16 errors and 4 warnings...
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 17 2013, 14:50
Сообщение #20


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



уберите комментарии, х его з
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 17 2013, 16:03
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



какие комментарии?где?
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 18 2013, 19:15
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



ага я понял)хах)
я удалил все комментарии в port.c и код скомпилировался)))ура)
но всплыли новые проблемы(теперь программа не обновляется...ну не тикает я имею ввиду...ну по крайней мере я так думаю...ШИМ генерируется только с периодом который задан в самом первом значении...и так продолжается бесконечно...хотя по программе значение изменяется каждые 500 мс или сколько там...вот...в чем может быть проблема????????????
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 20 2013, 20:26
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



ребята помогите плиз!!!)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 22 2013, 16:32
Сообщение #24


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Придется таким образом:
выкладывайте здесь ПОЛНОСТЬЮ всё, что относится к проекту, также, в чём Вы его делаете. Не иначе, либо чего-то в путях нету, либо в настройках, либо среди исходников.
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 22 2013, 18:33
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



окай,значит компилирую я в AVRStudio V4.18
скидываю проект, который у меня лежит в папке с проектами ОС
если то еще нужно скажите все сделаю)

Сообщение отредактировал robototechnik - Jan 22 2013, 18:33
Прикрепленные файлы
Прикрепленный файл  SUMO.rar ( 71.81 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 22 2013, 18:56
Сообщение #26


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Мда.. у меня нету ни винды ни АВРстудии. Доберусь до виндового ноута, к утру разберёмся. Code::Blocks и прочие лишние сущности не предлагаю.
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 22 2013, 19:04
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



тогда утром ждать ответа?)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 22 2013, 19:06
Сообщение #28


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Я отпишусь.
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 22 2013, 19:14
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



окай)жду)
спасибо)
Go to the top of the page
 
+Quote Post
Volldemar
сообщение Jan 22 2013, 23:32
Сообщение #30


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 27-04-09
Из: Украина
Пользователь №: 48 342



Цитата(robototechnik @ Jan 20 2013, 22:26) *
ребята помогите плиз!!!)

Изучите инфу по:
http://cxemotexnika.org/2010/06/%D0%BF%D1%...BB%D0%BB%D0%B5/
там есть продожение...
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 23 2013, 03:34
Сообщение #31


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Не добрался я до студии, но есть такое:
Прикрепленный файл  freertos_tst.zip ( 304.22 килобайт ) Кол-во скачиваний: 100

Там из сабжа только то, что надо, прикручен довольно традиционный для winAVR makefile. Всё собирается без проблем.
Команда make в каталоге проекта собирает, make clean - чистит.

Поизучайте в плане, какие исходники откуда взяты и сделайте то же самое, но в своей студии
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 23 2013, 06:27
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



Volldemar,спасибо,почитаю)

_Pasha,так проблема же с компиляцией уже решена!!!и код заработал,только он не обновляется(ну не тикает в смысле(
в том коде который я вам скинул он загружает только первое значение OCR а если дописать второе то он до него не доходит(
я эту проблему имел ввиду
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 23 2013, 10:57
Сообщение #33


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Все там переключается. Т.е. таскопереключалка работает, соответственно прерывания работают верно. Дальше - выкладывайте проблемный main.c, будем смотреть. У меня уже и протеус готов и мейкфайл sm.gif
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 23 2013, 14:49
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



вот вам целый проект с новым сишным файлом)
я вот думаю....может я что то с этой самой таскоперелючалкой натворил?)хах только как?
если у вас заработает с моим сишным файлом,то проблема именно в этом)

а еще стоит уточнить что при самой первой компиляции сишного файла появляются три ошибки что то про прерывания....я так понимаю это может быть проблемой?но потом все нормально....
Прикрепленные файлы
Прикрепленный файл  SUMO.rar ( 72.39 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 23 2013, 15:44
Сообщение #35


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



по vTaskDelay задача приостанавливается, но по истечении нужного кол-ва тиков "в строй" не становится. Что-то с конфигурацией, но что - пока не разобрался
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 23 2013, 16:04
Сообщение #36


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



может я когда комменты в port.c удалял,что то еще не заметив удалил?)
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jan 23 2013, 16:45
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(robototechnik @ Jan 23 2013, 18:04) *
может я когда комменты в port.c удалял,что то еще не заметив удалил?)

Может и так, но это только телепаты и вы можете знать.

ЗЫ. Вам же писали - выкладывайте проект целиком.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 23 2013, 17:10
Сообщение #38


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(_Артём_ @ Jan 23 2013, 19:45) *
Может и так, но это только телепаты и вы можете знать.

ЗЫ. Вам же писали - выкладывайте проект целиком.

Там такая штука, что после первого vTaskDelay() таск нормально переходит в список задержанных, а почему нет обратного процесса - еще неясно.
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 23 2013, 17:21
Сообщение #39


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



_Артём_, ну а я что выложил?)
_Pasha, буду оооочень признателен если поможете)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 23 2013, 17:29
Сообщение #40


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(robototechnik @ Jan 23 2013, 20:21) *
_Артём_, ну а я что выложил?)
_Pasha, буду оооочень признателен если поможете)

Еще раз повторяю. Берёте симулятор австудии той же. Вот только не помню, там глюк с таймером 0 есть или нет. В любом случае, в протеусе его нет, однозначно. Там другие глюки sm.gif
Жмете F10/F11 до выяснения причины. Заодно и научитесь с симулем работать, а именно - как ставить точки останова и понимать информацию, которая предоставляется симулем.Заодно и ознакомитесь как работают внутренности freeRTOSа. И не забываем о том, что этот гемор - исключительно Ваш, и с ним надо что-то делать исключительно Вам.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 23 2013, 17:44
Сообщение #41





Guests






"Мда.., а мы пахали в чистом асме, отладка по шагам кнопкой и наши корабли плавали и плавают" (С)
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 23 2013, 21:23
Сообщение #42


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



"...этот гемор - исключительно Ваш, и с ним надо что - то делать исключительно Вам..."
Форум разработчиков электроники???
что ж...спасибо и на этом)))

Сообщение отредактировал robototechnik - Jan 23 2013, 21:25
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 23 2013, 21:43
Сообщение #43


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(robototechnik @ Jan 24 2013, 00:23) *
"...этот гемор - исключительно Ваш, и с ним надо что - то делать исключительно Вам..."
Форум разработчиков электроники???
что ж...спасибо и на этом)))

Там у Вас памяти-то уже и нету, ОЗУ. Попытался запустить второй экземпляр той же задачи - выкидывает менеждер динамической памяти. sad.gif
И это когда еще ничего нет. А надо 5...
---
Насчет "мук творчества" - дык так и должно быть. Природа laughing.gif

Сообщение отредактировал _Pasha - Jan 23 2013, 21:46
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 24 2013, 19:24
Сообщение #44


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



Что за ОЗУ?памяти под что?Какой задачи?Что за менеджер?Нет чего?Надо 5 чего?
согласен)

и вообще как можно в протеусе наблюдать ошибки кода???
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 25 2013, 14:41
Сообщение #45


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



аууу есть кто нибудь на форуме?)))
Go to the top of the page
 
+Quote Post
robototechnik
сообщение Jan 27 2013, 17:53
Сообщение #46


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 16-01-13
Пользователь №: 75 214



ребята!!! все кто хочет сэкономить время и силы обращайтесь на форумы https://sourceforge.net/projects/freertos/f...ms/forum/382005 или http://www.avrfreaks.net/
или на какие нибудь подобные)


Сообщение отредактировал robototechnik - Jan 27 2013, 17:54
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th August 2025 - 22:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01754 секунд с 7
ELECTRONIX ©2004-2016