Сб апр 01, 2017 18:57:28
Вс апр 02, 2017 00:31:30
Вс апр 02, 2017 04:35:33
Вс апр 02, 2017 04:55:51
prinv писал(а):Вы сейчас спорите с тем, что....
Вс апр 02, 2017 05:08:36
Вс апр 02, 2017 05:49:38
Вс апр 02, 2017 05:53:32
Вс апр 02, 2017 08:41:09
КРАМ писал(а):но он носит скорее промоутерский характер, завлекая неофитов платформы кажущейся простотой вхождения через подобного рода софт.
Но это все иллюзии ясельного возраста. Попытки абстрагировать аппаратуру до уровня Basic-а. Сие невозможно принципиально. Патамушта выходных значений у функций в таких абстракциях много меньше, нежели у железа ими обслуживаемого. Иначе весь смысл абстракций теряется.
The STM32Cube HAL is an STM32 embedded software stack that ensures a maximized portability across STM32 portfolio, while the LL APIs make up a fast, light-weight, expert-oriented layer which is closer to the hardware than the HAL. HAL and LL APIs can be used simultaneously
/* Peripheral clock enable */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1);
__STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs)
{
__IO uint32_t tmpreg;
SET_BIT(RCC->APB2ENR, Periphs);
/* Delay after an RCC peripheral clock enabling */
tmpreg = READ_BIT(RCC->APB2ENR, Periphs);
(void)tmpreg;
}
Вс апр 02, 2017 09:22:50
Производитель предлагает в том числе и SPL. Для STM32F103C8T6 и подобных МК она не утратила своей актуальности, но она требует гораздо меньше ресурсов (прежде всего ОЗУ) чем HAL.prinv писал(а):самое правильное будет начать с использования продуктов и технологий, которые предлагает производитель МК.
Вс апр 02, 2017 10:34:34
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_3);
HAL_Delay(1000);
Вс апр 02, 2017 10:49:26
С SPL нужно написать на пару строк больше.prinv писал(а):Для написания Blink с использованием Cube и HAL новичку нужно мышкой сконфигурировать выводы и руками всего 2 строчки написать
GPIO_InitTypeDef Init;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // Вкл тактирование порта GPIOC
Init.GPIO_Pin = GPIO_Pin_13; // Пин 13.
Init.GPIO_Mode = GPIO_Mode_Out_PP;
Init.GPIO_Speed = GPIO_Speed_50MHz; // Предельная частота выхода.
GPIO_Init(GPIOC, &Init); // Конфигурация GPIOC
while(1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13); // Мигание светодиода.
Delay(1000000);
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
Delay(1000000);
}
Вс апр 02, 2017 11:00:41
Вс апр 02, 2017 11:02:06
Мурик писал(а):С SPL нужно написать на пару строк больше.
Вс апр 02, 2017 11:38:16
В кубе нужно разрешать отладку, поскольку она по умолчанию отключена.prinv писал(а):вот только что прошил Blink и МК перестал видеться по ST-Link'ом.
Не вопрос. Только код сложнее не стал.Reflector писал(а):Если уж сравнивать, то нужно паузу сделать как в HAL, на таймере, а не тупо циклом.
SysTim_Init(100);
GPIO_InitTypeDef Init;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // Вкл тактирование порта GPIOC
Init.GPIO_Pin = GPIO_Pin_13; // Пин 13.
Init.GPIO_Mode = GPIO_Mode_Out_PP;
Init.GPIO_Speed = GPIO_Speed_50MHz; // Предельная частота выхода.
GPIO_Init(GPIOC, &Init); // Конфигурация GPIOC
while(1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13); // Мигание светодиода.
SysTim_DelayMS(500);
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
SysTim_DelayMS(500);
}
Вс апр 02, 2017 15:54:26
КРАМ писал(а):...Все конфигураторы (включая куб, спл) созданы якобы для ускорения процесса разработки. Но в серьезных проектах конфигурирование занимает так мало времени...
КРАМ писал(а):...это все иллюзии ясельного возраста. Попытки абстрагировать аппаратуру до уровня Basic-а. Сие невозможно принципиально. Патамушта выходных значений у функций в таких абстракциях много меньше, нежели у железа ими обслуживаемого. Иначе весь смысл абстракций теряется.
Вс апр 02, 2017 18:42:57
Что-то имеете против бейсика?bolek писал(а):фууу, C - это практически Basic!, отстой!
Вс апр 02, 2017 19:51:05
bolek писал(а):Подход №2 - да, сильно похож на дилетантский, ардуинский и проч. ругательства. Но: задача решена и решена в короткий срок.
Вс апр 02, 2017 20:45:27
bolek писал(а):Подход №1 - вырванные из жизни годы. КРАМ, много ли их еще осталось впереди? Да и сомнительно, что эти годы будут оплачены заказчиком.
Подход №2 - да, сильно похож на дилетантский, ардуинский и проч. ругательства. Но: задача решена и решена в короткий срок. Сейчас - это важнее, imho. Время такое - быстрее, быстрее, давай результат и поскакали дальше. Пока будешь по битам вылизывать код, конкуренты уйдут вперед. Да и бюджет не всегда (или всегда не) способствует обильным тратам времени. Завтра будет другая задача и другой МК, времена, когда можно было годами лепить поделки на PIC16C... и ассемблере давно ушли
Пн апр 03, 2017 03:38:57
1.Уважаемый, я свой диплом получил 30+ лет назад, как и Вы, и разработал/запустил в производство не один прибор, поэтому "букварные откровения" от Вас мне неинтересны, думаю, что не только мне.КРАМ писал(а):Отчаянный бред дилетанта-любителя.
Никто не пишет код годами. Вы совершенно не в теме. Я на АСМе решаю задачи быстрее, чем мои коллеги на Си. Впрочем на Си тоже быстрее. Да и написание кода занимает процентов 10...15 от времени разработки изделия
Пн апр 03, 2017 04:13:26
bolek писал(а):Уважаемый, я свой диплом получил 30+ лет назад, как и Вы, и разработал/запустил в производство не один прибор, поэтому "букварные откровения" от Вас мне неинтересны, думаю, что не только мне.