Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Тем, кто делает паузы через «нужное количество» nop, честно говоря, хочется руки по отрывать. Тут используются таймеры
Дергать ногой можно было вообще в обработчике (правда за это, то же некоторые по рукам бьют), либо (что самое правильное) написать менеджер, который бы вызывался с определенной периодичностью, проверял состояние флага и выполнял инверсию (либо другие нужные действия) ноги.
Ну и слишком много в проекте GUI-возни и возни с IDE
что и то и другое к самой теме «посвящения в работу с микроконтроллером» относится весьма и весьма относительно
Сознательно не удаляю ту часть файлов, которую не использую, потому что некоторые важные файлы, хоть и косвенно, но ссылаются на них. Поэтому лучше скопировать все.
1. Вся статья написана в духе «это какое-то шаманство, но делайте так — и всё заработает», особенно вот эта фраза:
Сознательно не удаляю ту часть файлов, которую не использую, потому что некоторые важные файлы, хоть и косвенно, но ссылаются на них. Поэтому лучше скопировать все.
2. Магические числа, «непонятно откуда», но внезапно и удачно всплывающие имена полей структур… Больше напоминает первое знакомство человека с системой.
3. ИМХО очень плохой подход — копировать из библиотеки отдельные файлы для использования. Надо наоборот учить людей, что лучше подключать целую готовую библиотеку, желательно предварительно слинкованную статически! И не надо будет её каждый раз компилировать вместе со всем проектом. Неиспользуемые файлы исключать из списка компиляции Keil умеет, через свойства по ПКМ на файле.
желательно предварительно слинкованную статически!
Tutorial таким быть не должен.
А вообще, солидарен с мнениями комментаторов, что лучше под open-source IDE изучать разработку. Тем более, более универсальные среды. Сам пишу под все МК в Eclipse, в том числе под 1986ВЕ9х.
Однако на сколько я помню в бесплатной версии не работает симулятор
temp = MDR_PORTD->RXTX;
temp &= ~(31);
temp&=~( PORT_Pin_10 );
MDR_PORTD->RXTX=temp;
/* Enable HSE */
RST_CLK_HSEconfig(RST_CLK_HSE_ON); // включили генератор на кварце
while (RST_CLK_HSEstatus() != SUCCESS) { }
PORT_InitStructure.PORT_PULL_UP = PORT_PULL_UP_ON;
PORT_InitStructure.PORT_PULL_DOWN = PORT_PULL_DOWN_ON;
PORT_InitStructure.PORT_PD_SHM = PORT_PD_SHM_OFF;
PORT_InitStructure.PORT_PD = PORT_PD_DRIVER;
PORT_InitStructure.PORT_GFEN = PORT_GFEN_OFF;
PORT_InitStructure.PORT_FUNC = PORT_FUNC_PORT;
PORT_InitStructure.PORT_SPEED = PORT_SPEED_MAXFAST;
PORT_InitStructure.PORT_MODE = PORT_MODE_DIGITAL;
PORT_InitStructure.PORT_OE = PORT_OE_OUT;
PORT_InitStructure.PORT_OE = PORT_OE_OUT;
PORT_InitStructure.PORT_Pin = PORT_Pin_10;
PORT_Init(MDR_PORTC, &PORT_InitStructure);
Переходим с STM32 на российский микроконтроллер К1986ВЕ92QI. Настройка проекта в keil и мигание светодиодом