Программирование STM32F4. Урок № 2. Мигание светодиодом.

Видео уроки по программированию STM32F4.

Программирование STM32F4. Урок № 2. Мигание светодиодом.

Сообщение admin » 20 ноя 2015, 16:48

Тема для комментариев, вопросов, предложений навеянных данной статьей
admin
Администратор
 
Сообщения: 41
Зарегистрирован: 07 июн 2014, 12:03

Программирование STM32F4 Урок № 2 Мигание светодиодом

Сообщение anyutkaka » 05 мар 2016, 21:15

Спасибо
занялся переделкой голосовых команд...

сразу куча вопросов:

какие регулярки и в каком формате? где почитать? пример:
Код:
я какангел
anyutkaka
 
Сообщения: 3
Зарегистрирован: 31 янв 2016, 00:27
Откуда: россия

Re: Программирование STM32F4. Урок № 2. Мигание светодиодом.

Сообщение МихаилБ » 06 окт 2016, 16:44

Добрый день. Нужна помощь. Делаю лабораторную по stm32.  "поморгать светодиодами". Код сделал. загрузил. Все работает. Но для проверки необходимо вставить две функции. Чего-то не клеится. Не пойму куда в программу вставлять эти две функции. работу делаю в Keil4.

вот инструкция по проверки работы:
Использование библиотеки для проверки
Подключение
Для использования библиотеки для проверки правильности выполнения лабораторной работы необходимо выполнить следующие действия:
1) Сбросить файлы Lab2_Test.h и Lab2_Test.lib в папку, где лежит main.c.
2) В проект добавить эти 2 файла: Lab2_Test.lib и соответствующий ему Lab2_Test.h файл. Для использования функций из библиотеки в файле, в котором планируется использовать эти функции необходимо прописать строку:
#include “Lab2_Test.h”
Использование библиотеки Lab2_Test
Данная библиотека имеет только 2 функции.
Первая:
void Lab2_Test_ini(uint8_t variant_num);
Инициализирует проверяющий код. В качестве входного параметра принимает номер варианта.
Вторая:
uint32_t read_flag(void);
Данная функция считывает какие светодиоды и в какой последовательности включаются и выдаёт решение о правильности выполнения лабораторной работы.
Ответ программа выдаёт не мгновенно. Ей требуется некоторое время на анализ порядка включения светодиодов.

вот код из файла Lab2_Test.h :

Код: Выделить всё
#ifndef BUTTON_TEST_H
#define BUTTON_TEST_H
#include "stm32f4xx.h"
#include "stdio.h"
void Lab2_Test_ini(uint8_t variant_num);
uint32_t read_flag(void);
#endif


Вот код моей программы:
Код: Выделить всё
#include "stm32f4xx.h"
#include "Lab2_Test.h"

uint32_t i;

int main(void)
{
   GPIO_InitTypeDef GPIO_struct_LED;    
   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
   
   GPIO_struct_LED.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_struct_LED.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_struct_LED.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_struct_LED.GPIO_OType = GPIO_OType_PP;
  GPIO_struct_LED.GPIO_PuPd = GPIO_PuPd_NOPULL;
   
  GPIO_Init(GPIOD, &GPIO_struct_LED);
      
while(1) {
   GPIO_SetBits(GPIOD, GPIO_Pin_14);
   for(i=0;i<1000000;i++) {}
      GPIO_ResetBits(GPIOD, GPIO_Pin_14);
   for(i=0;i<1000000;i++) {}
      
      GPIO_SetBits(GPIOD, GPIO_Pin_12);
   for(i=0;i<1000000;i++) {}
      GPIO_ResetBits(GPIOD, GPIO_Pin_12);
   for(i=0;i<1000000;i++) {}
      
   GPIO_SetBits(GPIOD, GPIO_Pin_14);
   for(i=0;i<1000000;i++) {}
      GPIO_ResetBits(GPIOD, GPIO_Pin_14);
   for(i=0;i<1000000;i++) {}

GPIO_SetBits(GPIOD, GPIO_Pin_15);
   for(i=0;i<1000000;i++) {}
      GPIO_ResetBits(GPIOD, GPIO_Pin_15);
   for(i=0;i<1000000;i++) {}

GPIO_SetBits(GPIOD, GPIO_Pin_12);
   for(i=0;i<1000000;i++) {}
      GPIO_ResetBits(GPIOD, GPIO_Pin_12);
   for(i=0;i<1000000;i++) {}

GPIO_SetBits(GPIOD, GPIO_Pin_13);
   for(i=0;i<1000000;i++) {}
      GPIO_ResetBits(GPIOD, GPIO_Pin_13);
   for(i=0;i<1000000;i++) {}

GPIO_SetBits(GPIOD, GPIO_Pin_14);
   for(i=0;i<1000000;i++) {}
      GPIO_ResetBits(GPIOD, GPIO_Pin_14);
   for(i=0;i<1000000;i++) {}

GPIO_SetBits(GPIOD, GPIO_Pin_15);
   for(i=0;i<1000000;i++) {}
      GPIO_ResetBits(GPIOD, GPIO_Pin_15);
   for(i=0;i<1000000;i++) {}
      
   }
}
помогите пожалуйста.
МихаилБ
 
Сообщения: 1
Зарегистрирован: 06 окт 2016, 16:37

Re: Программирование STM32F4. Урок № 2. Мигание светодиодом.

Сообщение admin » 07 окт 2016, 21:54

Здравствуйте!
Как я понял из Вашего описания, Вам необходимо загрузить данные файлы в Ваш проект. Далее подключить "хидер" библиотеки в файле main, далее функции инициализации Lab2_Test_ini и read_flag вызвать до основного цикла while, в переменной которая вернет функция read_flag будет храниться результат проверки правильности выполнения. Значение данной переменной можно посмотреть в режиме отладки или выдать в консоль командой print_f например.
admin
Администратор
 
Сообщения: 41
Зарегистрирован: 07 июн 2014, 12:03


Вернуться в Программирование STM32F4. Уроки.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron