Задать вопрос
@Noob_1

Как и от куда брать адреса gpio у stm32f103c8t6?

Всем привет! Сегодня решил помучать stm'ку и копирнул код с хабра, добавив в него свою библиотеку (код работает без подключения stm'овской библиотеки):
//#include "stm32f10x.h"
#include "MyLibs/multitool.h"
int main(void)
{
    *((int*)0x40021018) = 0x00000010; // RCC_APB2ENR = RCC_APB2ENR_IOPCEN
    *((int*)0x40011004) = 0x00100000; // GPIOC_CRH = MODER_OUTPUT_13

    while(1)
    {
        *((volatile int*)0x4001100C) ^= 0x00002000; // GPIOC_ODR ^= BIT_13
        //int i; for (i=5000000; i>0; i--) ;
			  multi_delay(1000);  
 		}	
}

Но я так и не понял, откуда и как берутся эти адреса (и да, я даташит и яндекс облазил) и как вообще это работает. Объясните пожалуйста, кто знает. Код пишу в Keil.
Не предлагайте библиотеки! Мне от них плохо с самой arduino ide.
  • Вопрос задан
  • 318 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
@n12eq3
адреса можно посмотреть в самих исходниках библиотек, в разделах дефайнов. будет всё - и регистры и прерывания и всё остальное.
однако написание кода в таком формате подходит только в качестве примеров при изучении студентами или для хоббистов энтузиастов. на практике же, в реальной жизни - из этого получается пседвоэффективный, не модернизируемый и неподдерживаемый кал.
Ответ написан
mannaro
@mannaro
Умею профессионально гуглить
CMSIS
Ответ написан
Комментировать
@Sterling_Archer
Вам, наверное, уже не актуально, судя по дате, но может другим пригодится: адреса и 90% необходимой инфы брать тут, остальные 10% - в документации на ядро и апнотах от STM и ARM
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы