Проблемы с STM32F030K6

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
MrPsevdonimka
Родился
Сообщения: 9
Зарегистрирован: Сб апр 09, 2016 17:08:00

Проблемы с STM32F030K6

Сообщение MrPsevdonimka »

Добрый день.
При попытке прошить микроконтроллер STM32F030K6, столкнулся с проблемой. Не могу понять из документации как настроить нужный мне пин (PA0 - 6-й пин) на выход. Все примеры по прошивке похожих по типу мк имеют другую архитектуру памяти, в связи с этим и возникла эта проблема.

В документации (Reference Manuals (страница 126) ),
Спойлерhttp://www.st.com/content/ccc/resource/ ... 091010.pdf
в карте RCC регистра,я не смог найти связь регистра RCC с GPIO как это показано в уроке
Спойлерhttps://www.youtube.com/watch?v=7Cotisr ... qV&index=2
Как мне вообще тогда затоктирвоать вывод?

В одном из уроков предлагают следующим образом задать конфигурацию 1 из выводов порта:

Код: Выделить всё

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE); (я не знаю, уместна ли вообще эта строка в моём случае, с вышеуказанной проблемой)
GPIO_InitTypeDef GPIO_Init1;
GPIO_Init1.GPIO_Pin = GPIO_Pin_6;
GPIO_Init1.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init1.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_Init);
Дело в том, что в документации к библиотекам, доставшегося мне stm-а, не прописана настройка вывода Push-pull (GPIO_Mode_Out_PP), в связи с чем я не могу с ним работать.

П.С. Я новичок в прошивке микроконтроллеров и заранее прошу прощения за, возможно, некорректную формулировку вопроса.
П.П.С. Моей целью является зажигание светодиода, который проживает на 6 пине мк.
П.П.П.С. (http://www.st.com/content/st_com/en/pro ... 030k6.html) - ссылка на документацию мк. https://yadi.sk/d/mIZLDmyjsxbmq - справка к библиотекам stm.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Проблемы с STM32F030K6

Сообщение dosikus »

Код: Выделить всё



#include "stm32f0xx.h"


#define LED1_ON  GPIOA->BSRR = GPIO_BSRR_BS_0	
	#define LED1_OFF  GPIOA->BSRR = GPIO_BSRR_BR_0	
	#define LED2_ON  GPIOA->BSRR = GPIO_BSRR_BS_1	
	#define LED2_OFF  GPIOA->BSRR = GPIO_BSRR_BR_1	
	#define LED3_ON  GPIOA->BSRR = GPIO_BSRR_BS_2	
	#define LED3_OFF  GPIOA->BSRR = GPIO_BSRR_BR_2


		static volatile uint32_t TimingDelay;
	 

		void SysTick_Handler(void)
              {
			
			
			if (TimingDelay) {
				TimingDelay--;
			}
			

		}

		
		void Delay_mS(uint32_t nTime) {
			TimingDelay = nTime;

			while (TimingDelay);
		}


   void led_init(void)
{
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
GPIOA->MODER &=~GPIO_MODER_MODER0| GPIO_MODER_MODER1 |GPIO_MODER_MODER2;
 GPIOA->MODER |=GPIO_MODER_MODER0_0 |GPIO_MODER_MODER1_0 |GPIO_MODER_MODER2_0;


}



   int main(void)
	 {
		 SysTick_Config(SystemCoreClock /1000);
		 led_init();
		 while(1)
		 {
			LED1_ON;
			LED2_OFF; 
			Delay_mS(500);
			LED1_OFF;
			LED2_ON; 
			Delay_mS(500); 
		 }
			 
		 
	 }

PS. У вас каша в голове...
Реклама
MrPsevdonimka
Родился
Сообщения: 9
Зарегистрирован: Сб апр 09, 2016 17:08:00

Re: Проблемы с STM32F030K6

Сообщение MrPsevdonimka »

Не могли бы вы пояснить код, приложенный к сообщению?
dosikus писал(а):PS. У вас каша в голове...
Я писал, что только начал изучать всё это дело и во многом не разбираюсь. И заранее извинился за мешанину в шапке.
Ответить

Вернуться в «ARM»