Карма: 38
Рейтинг сообщений: 618
Зарегистрирован: Пн апр 06, 2015 11:01:53 Сообщений: 3092 Откуда: москва, уфа
Рейтинг сообщения:0
они привычны, очень фичасты, настраиваемы. Тормоза - вещь субъективная и таки зависящая от компа. Разве что стартует долго, но у меня от этого есть средство -
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Привет народ. Не стал читать тему. Вопрос в лоб. Изучаю и практикую STM32. Освоил I2C, UART. С железом вообще никаких проблем нет. А вот лед блинк никак не поддается... В общем, ухожу из main в свою функцию MyMain(), в ней инкрементирую глобальную переменную, по совпадению включаю светодиод. Переменная объявлена перед main как uint8_t temp = 0. В MyMain глобальная переменная temp объявлена как extern uint8_t temp. Почему temp всегда равна 0?
Чего началось то? Раньше с AVR и cvavr никаких проблем не было,обьявил перед main -ом переменную и она автоматом стала глобальной и доступной в обработчиках прерываний и всех остальных функциях ,а в кале какието траблы,типа extern-ов. Читал Вами указанную книжку,об этом там ни слова, и что теперь в каждой функции, напоминать компилятору о существовании глобальной переменной externom чтоли? "грамматическая ошибка на уровне 4 класса" какой-то
Чудак который не способен связать две переменные называет огромный и мощный продукт калом... Не умеешь, не берись. Код не привёл? Гадать? Для начала объяви переменные ещё и волатильными.
_________________ Глупый не задает вопросы. Глупый и так все знает.
Денег стоит и не малых. Переход на M0 не вариант. Проще IDE сменить на бесплатную.
Сухарь писал(а):
обьявил перед main -ом переменную и она автоматом стала глобальной и доступной в обработчиках прерываний и всех остальных функциях
В других исходниках тоже доступна? Видимо в cvavr не используется раздельная компиляция, когда каждой файл компилируется в отдельности и о коде других файлов, компилятор ничего не знает.
Чего началось то? Раньше с AVR и cvavr никаких проблем не было,обьявил перед main -ом переменную и она автоматом стала глобальной и доступной в обработчиках прерываний и всех остальных функциях ,а в кале какието траблы,типа extern-ов.
Ключевое слово тут ПРЕРЫВАНИЙ. И ответ вовсе не extern, а volatile.
Читал Вами указанную книжку,об этом там ни слова, и что теперь в каждой функции, напоминать компилятору о существовании глобальной переменной externom чтоли? "грамматическая ошибка на уровне 4 класса" какой-то
Да что же ты врёшь? Раздел 10.1
Цитата:
В некоторых случаях объявление extern можно опустить. Если определение внешней переменной в исходном файле расположено выше функции, где она используется, то в объявлении extern нет необходимости.
Сухарь, проблема твоя яйца выеденного не стоит, но ты её даже сформулировать правильно не можешь. Это от полного непонимания как работает компилятор, а тем более оптимизирующий компилятор. Выкладывай код и ещё до восхода солнца тебе ошибку найдут (ткнут носом).
Чудные дела... Вчера это не работало и Keil ругался на не объявленную переменную. Сегодня все собралось, прошилось и работает, видимо перезагрузка помогла... Спойлер#include "main.h" #include "stm32f1xx_hal.h"
void _Error_Handler(char *file, int line){ /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ while(1) { } /* USER CODE END Error_Handler_Debug */ }
ни extern, ни volatile не понадобились... Да не ругайтесь вы, парни. Перешел на новый для себя камень и прежде, чем писать что - то серьезное - люблю проверить и попробовать все с самых азов. И предложенные книжки еще лет 8 назад читал, ничего не понятно было, вот и не помню ничо...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения