All streams
Search
Write a publication
Pull to refresh
3
0
Константин @dev96

Разработчик

Send message
Спасибо большое) То, что нужно!

Вместо того, чтобы парить в облаках и "делать шедевры" и раздавать советы новичка-новичкам на ютубе, нужно сидеть, писать код и разбираться во всех тонкостях и не мечтать сделать своего убийцу "название игры".
У этого парня плохая репутация на том же gamedev.ru не просто так.

Вот тоже дико удивило наличие слова "Dropbox", вместо "Git" :)

я себе BSRR и BRR заворачивал в вот такое:
	MicroController& controller = MicroController::GetRef();
	PortInterface&	 portA 	    = controller.PortA();
	
	while (true)
	{
		portA.Pin(1).High();
	 	Delay(2000);
		portA.Pin(1).Low();
		Delay(2000);
	}


и это давало возможность писать алгоритмы, принимающие в качестве входных данных структуры, содержащие настройки пинов. Вообщем, удобно и гибко.
BSRR (32 бита) имеет вид 0bLLLLLLLLLLLLLLLLHHHHHHHHHHHHHHHH
L — сброс пина
H — установить единицу на пине

BRR также 32 бита, но имеет вид 0b0000000000000000LLLLLLLLLLLLLLLL
0 — значит «не используется»
UPD: в ARM есть регистры установки, сброса и записи значений GPIO, там операции |= и &= избыточны

BSRR и BRR. Причём через BSRR также можно сбрасывать состояние (через старшие разряды). И в мануале советуют работать через эти два регистра (производительнее, ибо ODR там как-то связан с прерыванием, в отличии от этих двух).

Или вы не о том?)
Arduino IDE хотя-бы бесплатная, хоть и похожа больше на примитивнейший текстовый редактор. А Keil uVision IDE продаётся за бешенные деньги (не считая Lite-версии), но при этом дико баганутая и не доработанная.

Мне и C++03 неудобный, ибо я начинал программировать сразу на С++11, с использованием большинства нововведений. И код на чистом С мне не приходилось писать вообще никогда.
А под МК я писал только по учебе в универе.

я кучу в своей обёртке использовал (не более 1,5 кб, при доступных 20кб). И std::array мне не был доступен, ибо с компилятором, с поддержкой С++14 я не стал разбираться дальше и продолжил писать на С++03.
«Но вот заинклюдив vector тот же, программа на МК уже не влезала...»
Во второй половине 2017-ого года в ВУЗе был курс по микроконтроллерам. Преподаватель давал задачи решать на С, да и все одногруппники. Но я, человек, привыкший к С++ и ООП поколупавшись в Keil, взял и начал писать на С++. Набросал небольшую библиотеку на классах под CMSIS и понеслась))) Работали мы с STM32F103C8. Писали на Keil 4, где был стандарт С++03, что было для меня дико неудобным. В итоге притащил в универ Keil 5 (в последней версии добавили компилятор ARM Compiler с поддержкой С++14), помудрил с либой CMSIS под наш МК, в итоге скомпилировал проект со своей либой, но на МК не завелось нормально (и не было времени разбираться с этим).
Так вот, к чему я веду, С++ стараются внедрить в область разработки под МК, да и это безусловно удобнее, чем писать на чистом С.
Но вот заинклюдив тот же программа на МК уже не влезала… (На STM32F103C8 64Kb под программу).

Автор, спасибо за вторую порцию тестов!

Согласен. Когда-то экспериментировал с чтением файла 8мб размером:


  • чтение по 2 байта ~ 400 мсек
  • чтение по 2кб ~ 9 мсек

Прежде чем хвататься за оптимизации, для начала посмотрите код теста на С++.
Да и сам автор писал, что замеры не достаточно объективны.
Плюс, насколько я понимаю, время считается и с учетом ввода/вывода данных.


P.s. я в Rust вообще не разбираюсь, но мне кажется, что тут что-то не чисто)
И первое, что я бы сделал, так это бы выбросил ввод/вывод.

P0275R2. Очень нужная вещь. Спасибо!)

Хотелось бы высказаться наконец о ваших статьях.
Я понимаю, что надо продвигать продукт в массы, получить выгоду от написания анализатора и т.д. и т.п.
Но у меня уже давным давно складывается впечатление, что PVS меня преследует. На хабре постоянно какие-то новые статьи про PVS, в новостях в вк то же самое. И статьи уж очень сильно пытаются навязать сей чудо-инструмент.
Я согласен, PVS — это великолепнейший анализатор, очень удобный, полезный и производительный. Сам я единожды его опробовал и был приятно удивлен его величием и удобством)
Но вот количество статей и манера подачи инструмента меня лично напрягает.
Еще раз повторюсь, я понимаю, что продукт надо продвигать, но мне кажется, что продвижение слишком навязчивое.
Я никого не хотел обидеть, обвинить в чем-то, PVS действительно могучее средство и отличный помощник для разработчиков)

Исправьте в начале текста в слове «Singltone» две ошибки.

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity