Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 06.07.2021, 09:15  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию RTX-Blinky и sprintf

Решил немного поизучать ARM на демоплате. Компилятор Keil.
Загрузил проект RTX-Blinky.
Все работает отлично.
Но вот вставил в одну из двух задач sprintf и сразу OS перестает мигать светодиодиком. Конфликт образовался.
Ставлю sprintf во все другие места - даже в программу обработки прерывания ADC - там работает. Вопрос чисто в том почему в самой задаче не хочет работать.
Поискал гуглом, для RTX не нашлось решения. У Keil на сайте тоже почему то не получилось найти ответ.
Может быть кто то сталкивался с этим делом?
Реклама:
optical illusion вне форума  
Непрочитано 06.07.2021, 09:27  
-Alan-
Прописка
 
Аватар для -Alan-
 
Регистрация: 05.12.2008
Адрес: Россия, Омск
Сообщений: 145
Сказал спасибо: 39
Сказали Спасибо 29 раз(а) в 22 сообщении(ях)
-Alan- на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Увеличить глубину стэка задачи пробовали?

#define osThreadDef (name, priority, instances, stacksz)

› stacksz stack size (in bytes) requirements for the thread function.
Попробуйте установить значение выше 512 байт. В некоторых случаях может потребоваться поднять значение даже выше 1кБ.

Последний раз редактировалось -Alan-; 06.07.2021 в 09:38. Причина: Нашёл документацию на Keil-RTX
-Alan- вне форума  
Сказали "Спасибо" -Alan-
optical illusion (06.07.2021)
Непрочитано 06.07.2021, 11:26  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Нашел в файле RTX_Conf_CM.C такие строки:

// ‹o›Default Thread stack size [bytes] ‹64-4096:8›‹#/4›
// ‹i› Defines default stack size for threads with osThreadDef stacksz = 0
// ‹i› Default: 200
#ifndef OS_STKSIZE
#define OS_STKSIZE 50 // this stack size value is in words
#endif
// ‹o›Main Thread stack size [bytes] ‹64-32768:8›‹#/4›
// ‹i› Defines stack size for main thread.
// ‹i› Default: 200
#ifndef OS_MAINSTKSIZE
#define OS_MAINSTKSIZE 50 // this stack size value is in words
#endif


ОЗУ всего 8 Кбайт доступно на чипе.
Сразу установить 1024?
И почему два стэка OS_STKSIZE и OS_MAINSTKSIZE?
Если я правильно понял первый на задачу, второй общий.

PS OS_STKSIZE при 100 заработал мой sprintf. Ура-а-а...
Но при увеличении, при 200 - перестает работать снова. Меньше 200 - работает.
А OS_MAINSTKSIZE увеличивал до 500 - не влияет.

Последний раз редактировалось optical illusion; 06.07.2021 в 11:53.
optical illusion вне форума  
Непрочитано 06.07.2021, 12:32  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,383
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Мошт ты слишком часто передаешь просто?
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 06.07.2021, 13:27  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

RTX-Blink это две задачи. Первая включает светодиод, вторая выключает, через задержку. Больше ничего нет - десять строк текста. Я в одну задачу вставил sprintf что бы посмотреть будет работать или нет.
optical illusion вне форума  
Непрочитано 06.07.2021, 15:02  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,383
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

вставлять по разному можно. возможно ты так вставил что передача происходит с максимальной частотой
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 06.07.2021, 16:12  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Ничего и никуда не передается.
Я увеличил параметр OS_STKSIZE с 50 до 100 и sprintf стал работать нормально.
optical illusion вне форума  
Непрочитано 06.07.2021, 17:34  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,383
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

а что именно ты печатаешь то?
sprintf а в ней что???
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 06.07.2021, 20:25  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Что бы вывести на дисплей цифры, нужно число float преобразовать в текстовую строку.
sprintf ( (char*)szTemp, "T= %3.2f C ", fTRTD );

Сейчас столкнулся еще с одной проблемой.
Допустим, программы управления дисплеем лежат в файле (LCD.c).
Когда подключаю LCD в проект и затем вызываю эти программы из main() для управления дисплеем - все работает.
Если затем добавляю программы управления ADC в файле где main() - все работает.
Переношу эти программы в отдельный файл (например, ADC.c) - и добавляю его в проект, то они уже не вызываются - их не видят из main(). И если из программ этого файла (ADC.с) вызываю программы LCD - тоже их не видит. Ну так как все эти программы рабочие, то возможно дело в настройках RTX? Как бы это сразу настроить эту RTX?
optical illusion вне форума  
Непрочитано 06.07.2021, 20:59  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,383
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

и как ты их добавляешь? скрин корня проекта дай
__________________
кагмаподэ магмаподэ
индюк вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
sprintf и float Fangir AVR 1 19.02.2015 08:58
Помогите со схемой RTX Dualphone 3088 Skype pakena Поиск схем. Делимся схемами 0 02.03.2011 13:47
sprintf и глобальные массивы slawa1980 Микроконтроллеры, АЦП, память и т.д 16 06.02.2011 00:54
sprintf в CodeVisionAVR LSergM Микроконтроллеры, АЦП, память и т.д 23 30.11.2007 08:39
sprintf Luzkov Микроконтроллеры, АЦП, память и т.д 2 25.07.2006 15:56


Часовой пояс GMT +4, время: 06:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot