www... 0 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба Как то я затянул с освоением ARMов, все AVR да С51. Но работодатели нынче все требуют опыт STM32, так что хочу быть в тренде. Раздобыл оценочную плату на STM32F207, слил STM32CubeMX+ Keil. Первое впечатление - ООО! все очень круто, так же просто и удобно как в CodevisionAVR, в STM32CubeMX расставляем галочки на периферии, задем тактирование и получаем кейловский проект со всеми инициализациями. Но как только я попытался помигать диодом радость сменилась болью, не понятно как пользоваться этим кодом который сгенерил STM32CubeMX. Есть ли документация на функции которые он генерит (ну на подобии как это сделано в CooCox)? или тупо рыться по исходникам, которые он сгенерил и читать из них? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба Есть документы Description of STM32F1xx HAL drivers - STMicroelectronics и Description of STM32F4xx HAL drivers - STMicroelectronics, а для F2 похоже нет. Можно же вовсе не использовать cube. Меня останавливает то что там отвратно сделан прием по UART. Я пользуюсь SPL Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
www... 0 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба Есть документы Description of STM32F1xx HAL drivers - STMicroelectronics и Description of STM32F4xx HAL drivers - STMicroelectronics, а для F2 похоже нет. Можно же вовсе не использовать cube. Меня останавливает то что там отвратно сделан прием по UART. Я пользуюсь SPL О СПАСИБО. Думаю различий там нет. А вообще после кода типа PORTB.0=1 для AVR, код HAL_GPIO_WritePin (GPIOB, GPIO_PIN_1, GPIO_GPIO_BIT_SET) вызывает мягко говоря культурный шок Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба А вообще после кода типа PORTB.0=1 для AVR, код HAL_GPIO_WritePin (GPIOB, GPIO_PIN_1, GPIO_GPIO_BIT_SET) вызывает мягко говоря культурный шок Никто не мешает Вам написать свои макросы как Вам удобнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mcheb 0 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба О СПАСИБО. Думаю различий там нет. А вообще после кода типа PORTB.0=1 для AVR, код HAL_GPIO_WritePin (GPIOB, GPIO_PIN_1, GPIO_GPIO_BIT_SET) вызывает мягко говоря культурный шок Пишите так #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) #define GPIOC ((GPIO_TypeDef *) GPIOC_BASE) #define GreenOn sbit(GPIOC->ODR,9) #define GreenOff cbit(GPIOC->ODR,9) #define GreenFlp fbit(GPIOC->ODR,9) #define BlueOn sbit(GPIOC->ODR,8) void InitLED(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_8; // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // GPIO_Init( GPIOC , &GPIO_InitStructure); GPIOC->CRH &= 0xFFFFFF00; GPIOC->CRH |= (0 << 2) | (GPIO_Speed_2MHz); GPIOC->CRH |= ((0 << 2) | (GPIO_Speed_2MHz)) << 4; GreenOn; BlueOff; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 5 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба Пишите на с++, stm32tpl - образец компактности и лаконичности! typedef Pin<'C', 9> GreenLed; GreenLed::Mode (OUTPUT); GreenLed::On(); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
www... 0 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба Никто не мешает Вам написать свои макросы как Вам удобнее. Ну вот и я о том же, что от стандартного ANSI C остаются рожки да ножки, и получается индуисткий код из макросов который кроме автора никто не поймет - исходники то парой нужно сопровождать, причем так складывается что люди меняются. Уж лучше пусть будет хал(он же кал) - они хотя бы как выяснилось документированы. Ну только без холивара... Еще вопрос. Есть среды разработки с генератором начального кода под арм32, пусть не стм, где бы обошлось без индуисткого кода? Хотя и стм32 с его кубом можно переварить..... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба Пишите на с++, stm32tpl - образец компактности и лаконичности! typedef Pin<'C', 9> GreenLed; GreenLed::Mode (OUTPUT); GreenLed::On(); Вот это да? И это? Да уж.. О сколько нам открытий чудных... :tort: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться